-
Notifications
You must be signed in to change notification settings - Fork 71
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
Native Webview Implementations for Desktop Targets. #256
Comments
KCEF already supports loading from the bundled binaries for a while and even autodetects this since https://github.com/DatL4g/KCEF/releases/tag/v2024.04.20.4 However everyone seems to ignore my comments (since I mentioned it multiple times to @KevinnZou for example and some issues/PRs). Of course you can switch to your mentioned alternatives however I can tell you already that the Linux version won't support all distros. |
@DatL4g was not aware about above, do you have any insights on how building with JetbrainsRuntime impacts binary size ? |
Yes the binary size grows of course, that's the price you have to pay if you want to support all platforms. I can only speak of Linux here as I haven't used another OS for 5 years but using WebKitGTK would be nice of course but isn't available on all distros. It would be possible to check if it's available and if not the jcef binaries could be downloaded. |
Some more thoughts on this topic. AvailabilityThis section describes some availability issues depending on the platform and if it's nice to have (on a end-user perspective). 🍎 MacOSUsing 🪟 WindowsUsing One important thing:The documentation specifies that it's 🐧 LinuxUsing OutcomesI can think of 3 possible outcomes for the library-user here (based on the above options got implemented):
SolutionsI am in fact a supporter of WebView2, WebKit and WKWebview but you can't just declare that as THE SOLUTION. The conclusion to the availability and outcomes is that splitted modules would be perfect.
Please let me know what your thoughts on this topic and explanations are and the technical possibility. |
No fallback by default, we will have to either show the user an indication of the absence of that and request installation, or if we have JCEF fallback proceed with that.
for sure, thats the whole reason of creating this issue and discussing the pros/cons of it all, and decide on which way would we want this library to hopefully go. |
@DatL4g @Shabinder I greatly appreciate this issue and the solutions proposed above. However, I am currently fully committed to another project and may not have the time to develop new features for this library. But I believe the issue you’ve raised needs to be addressed, and I think the solution of splitted modules is a good idea. So please feel free to continue discussing the subsequent development plans and proposals here. Thanks for your contribution again! |
@Shabinder I have invited you as a collaborator, please feel free to submit PR for this issue! |
Rather than having a Bulky JCEF/KCEF Implementations we should have more native oriented approach by delegating to below:
See: https://pub.dev/packages/desktop_webview_window | Github
Obviously this wont be a smaller task, and have breaking changes, but I believe this would be crucial in future since KCEF as the standalone option doesn't cut for many apps, Where we can't just ask and w8 for user to download a browser while to just open a simple webpage and do simple tasks in-app, we will have many other added benefits of going this route, to name one, would be in-app login support, since many socials dont allow login in JCEF/KCEF.
Also, since this is mostly a Dart Wrapper over C/C++, we should be able to port this to KMP with Cinterop/cklib, with not that great of an effort.
thoughts ?
The text was updated successfully, but these errors were encountered: