4 ms·
There is no trend towards lighter frameworks. Frameworks were originally being developed by people with high-end needs. They are then also adopted by people wi
by bowlofpetunias 13y ago
There is no trend towards lighter frameworks.
Frameworks were originally being developed by people with high-end needs. They are then also adopted by people with low-end needs, who conclude that the framework is too big and complicated for them, and start developing/adopting more light weight frameworks.
This market is still young, so there are no dominant players like Rails, Django or Symfony yet.
It's more a matter of chronological than a trend. Big frameworks are still being used on a massive scale where appropriate, it's just a more stable market where the only news is the next release.
- collyw 13y agoAs a Django user, I hear a lot of people rant about microframeworks, and I have to ask, why? I was amazed at the productivity gains and organization Django brought to my code. If all that bloat is getting in the way, why not go back to CGI? That must be the most minimal of frameworks.
- tbatterii 13y agothere's middle ground between something heavy like django and CGI/WSGI, I think they are called micro frameworks.
- sophacles 13y agoThe problem is not bloat so much as forced paradigm. There are a lot of problems that don't fit nicely in Django, and suddenly you find yourself writing a bunch of code to work around the framework. An example - something I hear a lot of from local Django fans: "Oh that's simple - just ship it off to another process using celery and be done with it". That's great sometimes. Other times why not just use Bottle or flask and do a thin "translate to http" layer and move on? Another problem with many of the existing big frameworks is that they don't do single page apps too well - A lot of stuff I do these days just doesn't need to be designed around the notion of composing templated widgets server side. I just want to ship static html/tpl/etc files and dynamically built data. Wrapping my head around pretending everything is a full page build gets a bit frustrating - why is the response to a query a view or *view? It's just a serialized model I'm pushing over the wire, or a remote function call. Pretending it is a view is a layer of cognitive overheard in between the work I'm doing and the data I'm using.
- collyw 13y agoThat's the best reason anyone has given so far, but say you only need the URL router, nothing is forcing you to use the views layer. Admittedly when you strip out that much stuff then a micro-framework probably is a better choice. For me however I know Django well, and don't see much to be gained by learning a micro-framework.
- sophacles 13y agoI don't know what to say about someone wanting to not learn, other than the old metaphorical: "when all you have is a hammer, everything looks like a nail" I suggest trying out some screwdrivers for a while.
- collyw 13y agoIts not that I don't want to learn, its that I see more benefit in learning different things, rather than what appears to be a repeat of something I know fairly well (with parts subtracted). The analogy is closer to choosing between a pair of pliers and a leatherman. Maybe a drill would be more useful.