This RFC calls for a split of backend services between presentation on one side, and data storage and manipulation on the other. More here: https://www.mediawiki.org/wiki/Requests_for_comment/Service_split_along_presentation_vs_data_manipulation_line
-----------
** From 8830: **
A task to explore the advantages and disadvantages of separating all front-ends / skins from the data / API layer. For the purpose of this task, the frontend is the code that
- adds the chrome around the content (language links, tool links, footer, user tools), and
- renders special pages.
## Advantages
- Introduces a well-defined interface between frontend & backend
- Improves testability
- Reduces the amount of code front-end developers need to understand
- Drives API improvements (performance and features), which in turn can make our front-end development more flexible
- Can power single-page-app front-ends with server-side pre-rendering for first load
## Disadvantages
- Performance, if not done well
- Migration cost
## See also
- [Related discussion in architecture brainstorm session](http://etherpad.wikimedia.org/p/ArchBrainStorm)
- [Nuria's Blog post about single-page app vs. first page load performance @Tuenti](http://corporate.tuenti.com/en/dev/blog/a-faster-tuenti-lessons-learned-in-client-side-scalability)