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

Reply via email to