From my experience with Ember and Backbone, you'll likely fight alot less if data-binding is important and you implicitly use the handlebars template engine included (for the manager panel). With the release of ember data (module) it makes pulling database information much much easier.
Alot of people recommend ember if you have a persistent application that might be open for long periods of the day. If its something you refresh alot, then it's likely not recommended. From what I understand the idea is to move away from actual pages and use ajax/data-binding to handle page changes?
With ember, there is almost always a specific way to handle things (MVC-based) so when multiple programmers are digging into the code, stuff just wont work if its not done right, while backbone might suffer from overzealous refactoring from what I refer to as "Binary Coders". Everyone knows at least one of these guys
They go so crazy while making it less lines of code that it makes it literally unreadable to anyone except them, with fractions of a milliseconds of performance gain over a more readable method.
A strict MVC with a single template engine lets people make changes without having to decipher cryptic programming from 'that guy'.
Backbone is pretty straight forward though, and leaves alot up to interpretation. I'll toy around with ember and modx and see if i can get it to play nice.
If anyone else is tasking themselves for this, it'd be really nice to see the manager panel designed in a modular route, so new panels can be added with ANY framework without hacking away at it.
Just to understand a bit about whats intended to happen...
In my head all transactions between the controller and the model should happen through an xpdo adapter; To prevent any potentially security infringing actions to the model.
In terms of this adapter, you would send data to the php adapter from ajax, then check any authentication levels for updating the page, whether the page has been locked, etc. If it fails, it responds to the ajax call with a success or fail, triggering an appropriate error or success message.
For Ember.js, one big problem is assuming that only one person will be on the panel at once, so you can't fully leverage local data storage. The application might have to auto-update ever few seconds or so to determine if some state has changed in the view by another person requiring an update for that view.
There's alot of things to look at, so these things will need to be kept in mind when deciding on a framework.
Who knows? Ideas?
[ed. note: eein!! last edited this post 7 years, 6 months ago.]