3 ms·
The way we build web apps is changing away from back-end frameworks in general. Things like micro-services are a good example of that. Traditionally, web was a
by yogthos 8y ago
The way we build web apps is changing away from back-end frameworks in general. Things like micro-services are a good example of that.
Traditionally, web was all about serving static documents, and server side rendering model is a perfect fit for that. However, nowadays we also have web apps that are highly interactive.
This requires moving away from the thin client model. Server-side rendering approach is inherently at odds with that because HTTP is a stateless protocol.
So, the modern way to write web apps is to have a thick client that manages things like views, business logic, and state in one place. With this approach you no longer need a complex framework on the back-end because vast majority of the complexity moves to the client. The server is mostly responsible for things like data governance. The other driver here is horizontal scalability. It's much easier to scale small stateless services than a giant monolith.
Clojure started getting a lot of use in the wild right around the time when SPA model started taking off, and I think that the ecosystem reflects that. We tend to have fairly light weight back-end architecture coupled with a thick client on the front-end.
- danmaz74 8y agoMoving business logic to a js client looks like a crazy gift to any ill intentioned actor.
- yogthos 8y agoNot sure how that's the case since authentication and data governance is done by the server. This is just the difference between thin and thick client models. Any app on a phone is a thick client as well, and uses exactly the same model as SPA.