I'm looking to spike an architecture for a large single page JS client (say 
a trading platform), it's be something that could be worked on by a large 
team over several years, ability to refactor large parts of the code base 
is super important. Imagine this large app could have several thousand JS 
functions (i.e. classes, modules, units of responsibility for lack of a 
better word).


Here would be an example directory structure for the JS app, obviously it'd 
get much deeper in practice and could have several thousand .js files:

js/

- bootstrapper.js

- Shell/

-- ShellModule.js

-- Workspaces/

--- Controllers/

--- Model/

--- Views/

-- Login/

--- Controllers/

--- Model/

--- Views/

- CashTrading/

-- CashTradingModule.js

--- SpotTile/

--- Controllers/

--- Model/

--- Views/

- OptionTrading/

..

.. Perhaps 20 other top level namespaces


I've been spiking some Angular code with RequireJs to see how it would 
work. Angular is looking promising however RequireJs isn't. It looks like 
it'd be very unmaintainable on a massive codebase, if a refactoring 
operation required movement of 500 files updating all the define and 
require statements would be a maintenance nightmare.  


In the back of my mind I'm looking for a solution that allows *namespacing*
, separate* JS files *(per responsibility), *allows **js files to be 
combined *by namespace (or just everything), ideally has IDE/*tool suppor*t 
to aid in refactorings (particularly file moves and re-namespacing). Not 
against a *compile -> run workflow* if it helps.


I know this is a terribly open question, however *does anyone have any 
recommendation that may help support the points in bold above?*.


 Thanks in advance :)

-- 
You received this message because you are subscribed to the Google Groups 
"AngularJS" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/angular.
For more options, visit https://groups.google.com/d/optout.

Reply via email to