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

