WebView -> GeckoView Migration Announcement #10
Replies: 5 comments 6 replies
|
Hello, I using this wonderful app from the beginning of its development and I really like it. I have an idea, but I'm not have an expertise to implement it. Is there any way of implementation of uOrigin like extension the same way as Firefox? |
|
I started with WebApps then Native Alpha now Peel and the one thing that I liked about all three is that they use the system builtin webview which makes them fast and responsive, especially while starting up. My main desktop and mobile browser is Firefox and although I love it, the main problem with the Android implementation is bloat; the startup time can be rather slow and it can be quite sluggish and does have a tendency to crash on bigger pages / sites. Changing Peel to use GeckoView would be wonderful, I was very excited to see this announcement and I highly anticipate the release. My only concern is resource usage. My phone has low RAM and slow CPU so I fear that this project would change from a lighweight wrapper to a full-blown browser. Would it be possible to set the rendering engine per site between system webview and geckoview? Or does geckoview do a good job of keeping used resources to a minimum? I wish you @mazzz1y good luck with this migration as it looks like a major undertaking and am very excited to try it out. |
|
Pre-release version v0.30.0-rc3 is ready. It will be released later this week after some testing |
|
I have few doubts about the migration - How is GeckoView's software-level session isolation actually more secure than Android's native OS-level process isolation? Firefox for Android does not even support Multi-Account Containers (MAC). If Mozilla hasn't implemented or stabilized this isolation logic for their own mobile browser, how is Peel enforcing it? Are you relying on experimental or undocumented GeckoView APIs? Is session isolation really full proof and native to geckoview? Why it is not yet implemented by the Firefox Android browser itself? How does a single shared GeckoView runtime handle Android's background lifecycle (onPause, onStop) for individual web apps? |
Uh oh!
There was an error while loading. Please reload this page.
This is an announcement for all current and future Peel users about the browser engine change starting with the next version of Peel, which will be released as v0.30.0.
Peel started as a hard fork of Native Alpha, using its ideas and core implementation. After looking deeper into the app architecture and its design, it became clear that using WebView to render custom web pages was a hacky approach with many limitations, and it was not secure. Its data isolation is also implemented using workarounds, which is not reliable and limits how many web apps can be opened at the same time.
WebView was meant to be used only as a wrapper for small, trusted web pages, and not for browser flows that open third-party sites.
Here are some other issues I found
Because of this, I do not see any reason to continue supporting this approach. As a solution, I chose to migrate to GeckoView, a library developed and used by Mozilla. It gives us full access to the functionality that Firefox has. This will be a fully refactored app with the same UI/UX, and the upgrade will keep all web apps, groups, and settings. Users should not notice big differences.
The issues users should know before migration are:
Always back up your data first to keep your web app list in case of failures. Peel is still an early-stage app, developed by one person, and it has limited testing, although I use it a lot.
Tagging known Peel users for notification: @JonnyTech @elpendor @WilliamKimball0 @BrockTM
All reactions