-
-
Notifications
You must be signed in to change notification settings - Fork 581
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
Any chance for Tauri? #1971
Comments
Hi @SirAnxious, thanks for submitting this issue since this is something I've been thinking about to. Before I explain my answer, I'd just like to give it first. In the official version, I think it wouldn't pay off to switch to Tauri or any other framework for that matter, and here's why. Last time I've looked over Tauri (which was probably last year) it didn't have a lot of features that were a basic requirement for at least somewhat painless transition. I've quickly looked over the docs now and it seems that there is some new stuff but it's still not there. The most obvious issue to me is there is no easy way to inject css which is one of most important features of Caprine (patching websites css bugs and implementing styles that will enable some custom features). This can be worked around through some custom injection mechanisms but it's a thing that needs to be implemented, tested and maintained (exactly which is our current problem now, there are a lot of things that are implemented and need to be constantly tested and maintained and with limited resources it takes quite a long time to fix an issue). Second thing, which is currently broken on macOS (#1684) in fact, is the vibrancy theme. Afaik, it can't be done in Tauri. There's not much that can be done here. If we switch we'd like to keep all the current features, not take some out just because we switched to a different technology which is suppose to be better. A user wouldn't be interested in why Tauri is better, they want their features to work. Privacy features (which are also currently broken due to new design) would still have to be implemented so Tauri probably wouldn't mess with that but from what I've seen, it doesn't have anything near what Electron has regarding the fine grained options of preloading scripts into the browser and modifying the browser api imeplementations (which is needed for fixing privacy features #1688). It would probably take a lot of work and workarounds to get this fixed on Tauri compared to Electron but if you have any information on how it might be done, please let me know. Otherwise, for this issue, it also seems like it's more problems than solutions. For macOS, I'm not sure how much support is there for touch bar. There are modules for integrating application elemenents into touch bar but from what I can see, for Tauri this is still a WIP (tauri-apps/tauri#544). One final problem that I can see is actually WebKit. The fact is for macOS, their implementation of WebKit is fine and it could do the work but of other platforms, saddly this isn't the case. I don't know what's the state of WebKit implementation on Windows but on Linux (WebKitGTK is used for Linux) is not great (there is some work on making it better but it's still something that is projected for the future, it's not in the present). Already there are reports in the bug tracker that Electron is getting slow and clogs up the memory but in my experience with WebKitGTK, sometimes it's even worse and the performance for a website like Messenger, it's not great. I believe that something like Tauri would be a great solution for cross platform webapps that would be integrated into the desktop, but it just doesn't seem that at the moment we could use it as a drop in replacement for Electron. There are far to many things that are either missing or are not as good as in Electron. I'm personally not a fan of Electron but the thing is, for all the things we need in Caprine, it's the best thing out there by a lot. Possibly in the future once the project (Caprine) get's more contributors and Tauri get's more stuff added and it becomes a valid replacement, we could revisit this issue but now I don't think it will work out. Also on top of all these things, you would need to implement everything in Tauri which would take a lot of time and resources. And even if you have the time and resources, you'd still need to maintain it and fix all the same bugs which are most common, the css bugs caused by the website. If we right now are quite slow with fixing them, it wouldn't be much faster with Tauri. Of course, I you think Tauri would be a valid replacement for Electron right now, feel free to justify that. We're open for anything that would ease the maintenance burden. At the moment, to me it just looks like it's not. |
First of all, thank you for taking the time to point out every issue that would rise. I always prefer it to be slapped with actual facts rather than "maybe in the future"
I have actually read about this prior to making this issue and even remember when I first read about Tauri that the idea is great for MacOS/Windows (especially after windows killed old obsolete IE and using Edge) but falls way behind on Linux. Even read some more to know that Tauri came a long way from its initial release. but apparently, it's still far from perfect. |
https://v2.tauri.app/blog/tauri-20/ Tauri 2.0 has been released |
I was considering learning a desktop-app framework
(and perhaps actually contribute here for a change since I love Caprine)
from what I'm reading Electron/Tauri are the top stuff right now, so was wondering if there's any chance for Tauri to replace Electron here.
I understand it's probably going to be a huge/long-term thing if there's any possibility for this.
The text was updated successfully, but these errors were encountered: