69

GeckoView in 2019

 4 years ago
source link: https://www.tuicool.com/articles/vaQfEnf
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

ARNVjaz.png!web Last September we wrote aboutusing GeckoView to bring Firefox’s rendering engine to Android as a reusable library. By decoupling the Gecko engine from the Firefox application, we’ve created a newer, faster, and more maintainable way to create Android applications that leverage Gecko’s excellent performance, privacy, and support for cutting-edge web standards.

With today’s release of our GeckoView-powered Firefox Preview, we’d like to share an update on what we’ve accomplished and where GeckoView is going in 2019.

Introducing Firefox Preview

ZfYVFvB.png!web We’re excited to announce today’s initial release of Firefox Preview ( GitHub ), an entire browser built from the ground up with GeckoView and Mozilla Android Components at its core. Though still an early preview, this is our first end-user product built completely with these new technologies.

uyyEJbr.png!web

Firefox Preview is our platform for building, testing, and delivering unique features. We’ll use it to explore new concepts for how mobile browsers should look and feel. We encourage you to give it a try !

Other Projects using GeckoView

But that is not all — Mozilla is using GeckoView in many other products as well:

z6NjIfj.png!web To date, Firefox Focus has been our most prominent consumer of GeckoView. Focus’s simplicity lends itself to experimentation. Currently we’re using Focus to split test between GeckoView and Android’s built-in WebView. This helps us ensure that GeckoView’s performance and stability meet or exceed expectations set by Android’s platform libraries.

While Focus is great at what it does, it is not a general purpose browser. By design, Focus does not keep track of history or bookmarks, nor does it support APIs like WebRTC. Yet we need a place to test those features to ensure that GeckoView is sufficiently robust and capable of building fully-featured browsers. That’s where Reference Browser comes in.

aQfaQnY.png!web Like Firefox Preview, Reference Browser is a full browser built with GeckoView and Mozilla Android Components, but crucially, it is not an end-user product . Its intended audience is browser developers. Indeed, Reference Browser is a proving ground where we validate that GeckoView and the Components fit together and work as expected. It allows us to develop our core libraries without the constraints of an in-market product.

YBb2QzI.png!web GeckoView also powersFirefox Reality, a browser designed for standalone virtual reality headsets. In addition to leveraging Gecko’s excellent support for immersive web technologies, Firefox Reality demonstrates GeckoView’s versatility. The same library that’s at the heart of “traditional” browsers like Focus and Firefox Preview can also power experiences in an entirely different medium.

nieIvef.png!web Lastly, whileFirefox for Android (“Fennec”) does not use GeckoView for normal browsing, it does use it to support Progressive Web Apps and Custom Tabs. Moreover, because GeckoView and Fennec are both based on Gecko, they jointly benefit from any improvements to that common infrastructure.

GeckoView is the foundation of Mozilla’s next generation of mobile products. To better support that future, we’ve halted new feature development on Focus while we concentrate on refining GeckoView and preparing for the launch of Firefox Preview. If you’re interested in supporting Focus in the future, you can help by filling out this survey .

Internals

Aside from product development, the past six months have seen many improvements to GeckoView’s internals, especially around compiler-level optimizations and support for additional CPU architectures. Highlights include:

  • Profile-Guided Optimization ( PGO )on Android isnow enabled, which allows the compiler to generate more efficient code by considering data gathered by actually running and observing GeckoView.
  • TheIonMonkey JavaScript JIT compiler isnow enabled for 64-bit ARM builds of GeckoView.
  • We’re now producing builds of GeckoView for the x86_64 architecture.

In addition to meeting Google’s upcoming requirements for listing in the Play Store, supporting 64-bit architectures further improves GeckoView’s stability (fewer out-of-memory crashes) and security.

For upcoming releases, we’re working on support for web push and “add to home screen,” among other things.

Get involved

GeckoView isn’t just for Mozilla, we want it to be useful to you.

Thanks to Emily Toop’s work on new a GeckoView Documentation website, it’s easier than ever to get started, either as an app developer using GeckoView, or as a GeckoView contributor. If you spot something that could be better documented, pull requests are always welcome.

vmaeiuB.png!web

We’d also love to help you directly. If you need assistance with anything GeckoView-related, you can find us:

  • in the#mobile channel ofMozilla’s IRC server, or
  • on themobile-firefox-dev mailing list, or
  • at @geckoview on Twitter.

Please do reach out with any questions or comments.


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK