RFC: JS Refactoring Process of Backend

Hey everybody,

at the Code Sprint in Frankfurt we had a partly-remote and partly-local meeting with the following participants:

  • Aske Ertmann
  • Christian Müller
  • Rens Admiraal
  • Sebastian Kurfürst
  • Dmitri Pisarev
  • Dominique Feyer
  • (some more people where I cannot attach faces to names yet :-1: ) )

In a nutshell, we summed up the current state, and then directly deep-dived into the Ember vs non-Ember Discussion.

Basically I had a discussion with @dimaip on Ember vs React where we dissected the technical parts, where the others were listening in. The main points are:

  • We all agree that Data-Down-Actions-Up is a great thing we should follow.
  • We all agree that a componentized structure is a great idea.
  • We agree that Ember is a more “monolithic” framework and React/Flux/NPM modules is more a mixing-different-libraries approach.
    • I (Sebastian) favor the more monolithic Ember approach; Dmitri was in favor of the mixing-different-libraries approach.
    • Interestingly, what the one sees as benefit, the other sees as drawback in this regard. So we agree on the facts, just tend to weight them differently.
  • We agreed that we would be able to build Neos with both ways generally.

After the technical ping-pong between Dmitri and myself, more people chimed in and brought other (more non-technical topics) onto the table, the main one being:

  • We think it is not feasible to start-from-scratch, but rather we need a way to mangle our current architecture into the new direction without rewriting everything. In the view of (at least) Rens, Aske, Dominique and myself, this is the main reason we’d like to use Ember 2.0.

That’s why in order to move forward, we settled the discussion and decided to use Ember 2.0. @dimaip said he’s also OK with the decision, and he sees the points being made. Aske said something like “for personal project or if I’d start from scratch, I’d probably go the React way, but the existing codebase and the incremental migration possibility is the big argument in favor of Ember”.

The roadmap on top of the RFC is still generally correct; I’m just updating some details to reflect this decision.

All the best,
Sebastian

7 Likes