Start from v2, Settings is migrating the whole app and panels to AMD module. https://github.com/mozilla-b2g/gaia/tree/master/apps/settings#how-to-port-an-existing-panel-to-follow-the-new-architecture-design
During the migration, we add unit tests and distill reusable code in js/modules. With those changes, we got more clear structure, protect our code with unit tests, and help implementer focus on make panels to fulfil their need. Now the migration progress is still going on (the scope is now limited to certain domains), but we are able to take a look on more challenges: 1. support more device form factors (phone, TV, smart feature phone..) 2. higher customization requirement (vendor/maker want add their specific settings) 3. modules reuse for other gaia apps (Bluetooth, FTU) To enable maker/vendor more easier to add/remove panels for their own configurations, we come out a plan to further modulize Settings panels. TLDR; Stage 1. Put panel specific resources (html, js, css) into a folder, make it easier to swap (all build-in panels will still located in gaia settings folder) Stage 2. Able to generate Settings root (and sub) panel from the declaration file (and inport dependency resources accordingly) Stage 3 Allow maker to pick panels made by others from internet and integrate to their build (a.k.a npm, just in imagination right now) You can check the up-to-date proposal in https://github.com/gasolin/nsa Or we could discuss it further in mozLando 'All around Settings' session http://mozlando.mozilla.com/event/4lOe/all-around-settings Note: 1. We'll make some experiment for Stage 1 before adopt this approach. (And it depends on product direction as well) 2. Stage 2 wont happens very soon until build script node migration is done. 3. The plan is focus on panel modularization, so it does not conflict with FE/BE split. Actually the plan might help identify and make essential surgery on critical part (if necessary). regards -- Fred
_______________________________________________ dev-fxos mailing list [email protected] https://lists.mozilla.org/listinfo/dev-fxos

