3 ms·
Well, its got a chicken and egg problem here. The chickens, experienced Clojure devs, don't need a framework, and are easily able to do whatever they want and
by didibus 8y ago
Well, its got a chicken and egg problem here.
The chickens, experienced Clojure devs, don't need a framework, and are easily able to do whatever they want and use Clojure to pay their bills. Thus they're not motivated to build frameworks.
On the other hand, the eggs, devs unfamiliar to Clojure, find it difficult to get anything done in Clojure, and are looking for frameworks that abstract away some of the expertise needed to manage a full Clojure web app. They're hoping they can start using it to pay their bills before they become an expert in it, through the use of a framework.
I'm not sure how the future will unfold here.
- yogthos 8y agoThe 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.