Giter Site home page Giter Site logo

discord-tauri's Introduction

Discord Tauri

Discord Tauri is a work in progress Discord wrapper made in Tauri.


Purpose

I asked myself, how would Discord be if it was built in Tauri? I could only imagine super low memory usage so I got a PoC working in a week.

This project's purpose is to, not only know how Discord would be if it was built in Tauri; but also learn about Discord's inner workings and possibly get more people to know about Tauri!

Benchmarks

Made with same procedure and in the same system (WINDOWS).

Your results may vary.

If these results are good, they are thanks to Tauri, not because the Discord dev team is bad.

If these results are bad, Tauri is still a great library! Also, good job Discord!

Detail Discord Tauri Discord
Installer Size 2.83 MiB 67.57 MiB
Installed Size (without Cache) 20 MiB 326 MiB
Max. Memory Usage 650 MB 630 MB
Avg. Memory Usage (after load) 550 MB 535 MB
Min. Memory Usage (after load) 500 MB 490 MB
Launch Time 5.08s 7.41s

The following results were obtained with an almost brand new account: 3 servers, 1 friend.

Detail Discord Tauri Discord
Max. Memory Usage 580 MB 640 MB
Avg. Memory Usage (after load) 512 MB 516 MB
Min. Memory Usage (after load) 460 MB 450 MB
Launch Time 3.06s 2.83s

List of features

  • Wrapping of Discord
  • Expandability with Tauri plugins
  • Window Bar
  • Fast AF Loading
  • Desktop Tray
  • Rich Presence Support
  • Notifications
  • Window Resizing
  • File Dropping
  • Push To Talk
  • Custom Settings
  • Works on Linux

Contributing

Tauri Dependencies

First, you will need the dependencies needed for Tauri. If you are on Windows, make sure to install the Microsoft Visual Studio C++ Build Tools and WebView2.

You can see the process depending on your operating system here! (Linux doesn't work for now!)

Prerequisites

Clone the repository

git clone https://github.com/DiscordTauri/discord-tauri.git

Install the project dependencies

yarn install

At this point, you can edit the code!

Run discord-tauri

yarn tauri dev

Build a .msi file

The .msi file will be in /src-tauri/target/release/bundle/msi

yarn tauri build

Code style?

Use cargo fmt in /src-tauri to use our code style (cough cough, not that we use the default Tauri one)


FAQ

What is Discord Tauri?

It's a Discord wrapper that uses the lightweight library Tauri. In the current state of development, we are replicating the original Discord client behavior.

Is this against Discord's ToS?

Yes. Every Discord mod is against the ToS, altough, it seems like Discord still doesn't care too much about it. Quoting Wired's article about BetterDiscord: "BetterDiscord is not an officially sanctioned app; and likely it breaks Discord’s terms of service, which prohibit modifying Discord. But the software has been installed more than 5.3 million times since 2015, and its developers say they have not seen Discord take action against users for modifying the client".

Is this project abandoned?

No. But I'm a student and it's hard to add features and fix bugs while having to do homework. Hopefully I will be able to continue discord-tauri in the winter :)

Wait, this isn't that lightweight. What's up with that?

Well, think of Tauri and Electron as browsers. When you have some app like Discord, that has a lot of images, the RAM usage goes crazy. The only way to create a "really lightweight" Discord client would be to make a native interface in something like Qt.

discord-tauri's People

Contributors

p0ryae avatar realdrpuc avatar snowc0de avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.