v3.0 Architecture

Web-apps aren't fast enough

the platform needs us to change

A new angle

that suits the constraints of our platform

A modern approach

to get the most from devices and technology

v3 proposal

... rough idea, need help for detailing it!

A collection of concepts

  1. Offline hosted apps
  2. Forced encapsulation
  3. Caching previously rendered content
  4. Storing content remotely
  5. Delta updates
  6. Multi threaded architecture
  7. Macro memory management

Offline caching of assets

using Service Worker (JS, HTML, CSS, images, ...)

Forced encapsulation

via multiple documents and workers to minimise regressions and unify architecture

Every view is a document

Communication via agreed contract

Learning from Gecko's 'IPDL'

https://github.com/wilsonpage/runtime-bridge

Caching rendered content

for fast subsequent page loads

Storing content in the cloud

to allow it to be used across devices

Delta updates

small patches applied discretely

enabling a new range of customizations, A/B testing, partners customizations ...

Multi-threaded architecture

to leverage multiple cores to maximise performance

Macro memory management

shutting down parts of an application to free up resources

Many brand new concepts

needs packaging into simple distributable libraries; apps can pick & mix

Conclusion

github.com/fxos/v3-architecture

github.com/fxos/contacts

going deeper

https://wiki.mozilla.org/Gaia/Architecture_Proposal