GithubHelp home page GithubHelp logo

Comments (3)

thisandagain avatar thisandagain commented on August 25, 2024

I love this! 🐈

I really like how similar in approach this could be for Android / iOS wrappers as well. Will start spec as part of the "Hello World" SOW.

from webmaker-android.

davidascher avatar davidascher commented on August 25, 2024

Another advantage is this architecture makes it possible for us to do A/B testing more easily -- e.g. different starter templates, and see which perform better.

from webmaker-android.

thisandagain avatar thisandagain commented on August 25, 2024

After talking with some folks about this I started to shy away from the idea of loading and storing all assets from a remote bundle in IndexedDB. Couple issues that I ran into with the initial approach:

  • IndexedDB does not work in webworkers (yet) (https://bugzilla.mozilla.org/show_bug.cgi?id=701634)
  • Streaming blobs to IndexedDB via XHR doesn't work as you would hope, so we would need to build a buffering / queuing system which would consume memory overhead.
  • Monkey patching streaming blobs from IndexedDB on each asset load feels like mad science (aka FUN!) but also like mad science (aka BUGGY!).

My proposal is to leverage the existing appcache infrastructure and simply use IndexedDB to store / track the state of updates. Updates themselves (which I'm calling "bundles") are just versioned hosted apps that the loader application downloads in the background via an iframe. Once the appcache API returns as ready, the loader application will mark it for release upon next process start. An inter-frame communication abstraction would handle exposure of privileged APIs.

Tracking here:
https://github.com/mozillafordevelopment/beaker

from webmaker-android.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.