-
Notifications
You must be signed in to change notification settings - Fork 105
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Use electron alternatives #4
Comments
While I don't want to personally be using electron, most alternatives have at least one or two flaws with them.
I think for the time being, leaving this to end users to create alternatives is probably the best idea, there is already a 3rd-party web view backed app available and I can probably expect people to make native apps as well, someone mentioned they wanted to build a Qt app. |
I heard there a way to build your app by using Servo, an open source web engine made from the makers of Firefox and powered by Linux Foundation. |
I think it's still early days for Servo, a lot of major things are missing and the app refuses to run in Servo anyways. |
Best practice is uses os built-in native UI toolkit for example macOS Cocoa. But this choice will increase development cost. However this choice will be best if you prioritize accessibility, performance, optimization per platform. 🚀 |
Realistically, maintaining separate clients wouldn't be possible for us at this stage - it'd also likely introduce various inconsistencies across platforms. However, using an Electron alternative may be possible at some point and is something we may consider doing in the future :) |
And then Linux entirely falls into the water as there's no "One fits all" solution to Linux system webviews as far as I'm aware 🤷♂️ |
I'm just going to bump this as I'd like to say that recently Tauri hit version 1.0 and is now in a stable release. I have a feeling that whatever issues you had then most likely have been mitigated. |
Should go to React Native for Revolt Chat? This could help for mobile platforms and Desktop. |
I'd also like to bump since I've personally found out about Neutralino a few days ago and it works like a charm. |
Just dropping a little update to this, someone did do a little preliminary test and I will probably try it out too but, it may be the case that we use Tauri for the new client that's currently being written if all goes well.
React Native is great until it gets a bit more complex at which point it can be a pain to work with. Edit: also also, this isn't for desktop but Infi is working on a native Android client we will be distributing going forwards |
Is there a public repo for it yet? |
The app is still in early development; the repo is currently private.
|
Understandable, have a good day 👍 (Also the stuff in your email that has the unsubscribe link is in your comment) |
Apple's Safari remains one of the biggest problem for cross platform apps, and I don't think that will change anytime soon. That said I'm excited to see how Tauri implements mobile cross platform in the future but I don't see any viable alternatives to the status quo in the short term. |
As Pakrohk suggested in #105 a native app would be a cool feature, especially for people on low end PC's (not me). I think that Flutter might be a good alternative to electron. With one codebase you get a native app for everything - windows, linux, macos, andorid, ios. If you used an object oriented language before Dart is pretty easy to learn, I would say it's java, but better. Also more static (you can't for example load new code at the runtime, but this isn't very important here). |
The major issue with this is that we just don't have the time or team required to completely switch to a new framework and language. It would require replacing every part of the frontend and require having to rebuild all the components we use from scratch. |
Yeah, unfortunetly this isn't easy. |
Actually I want to try to recreate Revite just in Flutter and Dart as a proof of concept. Can I try to do that? Can I reuse the assets? If I understand the licensing stuff correctly I must license my project under GNU AGPL v3.0? |
Socket Runtime looks somewhat promising, it has an option to use a node.js backend. It is quite new though I'm not too sure if it's as great as people say. It is probably worth looking into though |
I started by trying to recreate the components lib, but quickly got bored of that, so no app sorry. |
I started work on my own client a while ago but I haven't been able to work on it much due to college and work. It's made in Python with PySide6, with Advanced Docking System as its layout and fman build system for building to a native client. I'm planning on releasing the source code once I get (at the very least) messaging and server/channel list working. Also side note...
Tauri is good as a stop gap but it's definitely not a solution. You're still rendering it in chromium (at least depending on the OS), which could be helpful if multiple apps are using the system framework, but it's still essentially the same workload. (That being said, it's good for the original purpose of this issue, which is to use an alternative to Electron and not just using a completely different framework, lang, etc.) |
I'm experimenting with Tauri WASM to see if its a good solution for web & desktop, it does still run using web technologies however there are many benefits to that as well. |
Sorry to be that guy, but that's not fully true. You will only use the bundled WebView 2 engine, which is based on Chromium and only on Windows with Tauri. This is much more efficient than Electron because the native OS engine is running anyway, thus binary size and memory footprint decreases greatly.
Tauri is many times more efficient than an Electron app. They have a benchmark page in their docs which explains this in more detail, so I think to reduce the maintenance workload of different apps for different OS's Tauri would be a great option :) Also, Tauri v2 will support iOS and Android as well so for a small team like the one of Revolt this could be good because you only have to maintain one codebase for all platforms. |
The mentioned article now redirects to accenture.com. Here's the archive.org version so the future readers don't have to hunt. |
Should you can create revolt on gtk app or QT if nothing works? |
In terms of native desktop apps:
|
Tauri is currently slated to be adopted with revoltchat/frontend#14 |
Tauri v2 supports mobile now so that ios app problem is not a problem for now, but I have heared about "fully native" so it might just be worth still keeping it around. |
https://github.com/sudhakar3697/electron-alternatives
There are better lightweight alternatives for electron:
The text was updated successfully, but these errors were encountered: