3 ms·
Managing complex DOM transformations and avoiding pageloads on every change do carry benefits. Some examples: chat, Facebook-like functionality, complex custom
by andrei_says_ 9y ago
Managing complex DOM transformations and avoiding pageloads on every change do carry benefits.
Some examples: chat, Facebook-like functionality, complex custom interfaces.
There is however a strong tendency to build complex front-end apps because of the trend to do so. This increased complexity results in higher costs without significant benefits (I’m very open to changing my mind).
Turbolinks for example is a fantastic backend-agnostic library which eliminates the pageloads in CRUD apps at close to zero development costs and makes the speed almost indistinguishable from SPA implementations.
I highly recommend this talk on managing the complexity of basecamp and sharing a codebase between web and native apps.
https://m.youtube.com/watch?v=SWEts0rlezA https://m.youtube.com/watch?v=SWEts0rlezA
Unless you’re building extremely complex interfaces and if you are able to correct for trendiness you may conclude that a monolithic app with possibly Turbolinks and some front end sugar is the best choice.
You can always offload some work to the client once you get to a billion users and servers become too expensive. Until then maybe focus on launching.