February 16, 2016
An interesting article from JJD (an InfoQ stalwart)…
http://www.infoq.com/articles/no-more-mvc-frameworks
And an interesting discussion on Gitter around this topic…
With the SAM pattern, he’s clearly approaching the problem from a server-side engineer’s perspective — the emphasis is on clean abstractions, formalism, clear representation-of-component-state — but he misses why React + RxJS + Cycle.js and potentially Angular2 are a thing: it’s because they allow modern product teams to ship code quickly, performantly, and predictably on the browser (mobile or desktop). In the quad-polar world of browser engines, this is a critical consideration.
For most web apps, productivity depends on the ProductManager and FrontEndEngineer(s) establishing a fast-feedback-loop. Product teams want to ship quickly, validate assumptions, and iterate further. The backend is in service of the front-end and that’s why patterns like Backends For Frontends (BFF) are a thing.
Front-end Engineers expect backends to feed, protect and accept data. And while that sounds really hard to fulfill when one doesn’t control the front-end, let alone anticipate future needs — it is still possible to design artful APIs that deliver the goods. One gets better at this with practice.
Is our current state-of-progress perfect? No. I believe Cycle.js is pointing the way forward for a lot of frameworks — it certainly opened my eyes. I applaud JJD for sharing some bold thoughts, and leveraging Leslie Lamport’s awesome TLA+ in a unique context. In the end, the patterns that prevail will always be the ones that help developers and their teams deliver. For that, they must reflect operational realities.

Comments
Nothing yet. Say the first thing.
Sign in to join the conversation.