Multiple apps architecture


#1

I’ve started toying around with Ember in the hopes of replacing our current front-end solution. We are building a few applications that will share a common trunk of modules but also some specific parts for each app.

Regarding the common trunk, right now the best solution I could find was to create our common trunk Trunk = Ember.Application.extend(); and then create the app itself with App = Trunk.create() I assumed it would allow me to call our common modules using the Trunk namespace, but I’m having a bit of trouble binding templates and controllers together. I guess I’ll have to rely on views to declare the binding, or is there a way to make the automatic template-controller link work in the Trunk namespace?

At the moment I cut the problem short and used {{partial}} as a workaround since I only have a few actions and managing them straight in the application controller isn’t that big of a deal, but I’m afraid that will lead to a big bloat in the app controller.

I’m also a bit confused about the possible interaction between the Trunk and the App namespaces. Let’s say I have a activeLanguage property defined in AppController, but the language switcher module is part of the Trunk. Is there any way to bubble the action up to the proper controller?


#2

This is how we set it up.

\Common \views \controllers \templates

\App1
  \views
  \templates
  \controllers

\App2
  \views
  \templates
  \controllers

And then

Common = Ember.namespace.create({ ... })
App1 = Ember.Application.create({ ... })

“AppN” will use common components created in “Common” namespace.