We have just landed the NGA rewrite of the Music app on master! This was an 
extraordinary effort to recreate the Gaia Music app using the new architecture 
including:

- Separate replaceable “views”
- Back-end API exposed via bridge.js
- Virtual rendering using <gaia-fast-list>
- Web component-based UI
- Localization via l20n.js

In addition to that, we were also able to prepare the app to take advantage of 
Service Workers for the back-end when ready. You can build the app using 
`NGA_SERVICE_WORKERS=1` to try out this experimental back-end. When using 
Service Workers, all back-end calls via bridge.js are exposed as HTTP services. 
Currently, the separate views in the app map URLs to bridge.js method calls, 
which is how we are able to switch between SW and non-SW versions of the app.

We have also retained the old Gaia Music app (renamed “Music OGA”) in the 
dev_apps/music-oga folder.

Thanks to Jim Porter, the entire metadata parser and database code were able to 
be carried over from the old Music app as-is. Therefore, the incredibly complex 
metadata parser remains completely covered by unit testing in the new app.

Also, many thanks to Hubert Figuière for patiently re-writing all of our 
Marionette JS integration tests to work with a vastly different DOM structure.

I would also like to thank Wilson Page for his work on bridge.js and the 
<gaia-fast-list> component, Etienne Segonzac for his work on Fast List and DOM 
Scheduler, Zbigniew Braniecki (Gandalf) for helping out with l20n.js and 
Francisco Jordano for all his help with NGA overall.

Please CC myself on any bugs you most certainly will find. If you see any 
behavior in the app that seems incorrect, you can also still run the Music OGA 
app for comparison to confirm.

Thanks!  \o/

-Justin

_______________________________________________
dev-fxos mailing list
[email protected]
https://lists.mozilla.org/listinfo/dev-fxos

Reply via email to