Hi Tobias,
my impression is that as a developer you can keep up with the changes
pretty well and I don't think it's related to features being too costly
to address. The main issue is really third-party code.
The only thing that I can currently think of as a comparison is the
Angular 1.x branch: If there were breaking changes then there were very
few and I don't think I've ever had issues with third-party plugins
breaking due to upgrading an Angular 1.x release to a new "major"
version. Yeah, I know that it's probably hard to compare the two
frameworks and they rewrote everything from scratch in v2 and basically
broke all code, but the 1.x parts were pretty well done at least :)
Thinking about it I think the main issue is probably the high number of
breaking interfaces: it's not like a bump from 1.10 to 1.11 changes two
interfaces but it's a whole array of things in all kinds of components.
This makes it very likely that an extension is affected by a breaking
change.
In addition to that I kinda feel like when using Django nowadays I can't
really use it "as is", out of the box. 5-7 years ago when webdevelopment
was about serverside templating & forms and very little JavaScript
Django was almost perfect and you needed maybe 1 or 2 third-party libs
to create a full website. Nowadays you need REST apis (DRF, CORS
middleware) and also want to employ a CSP to lock things down.
So TL;DR I suppose:
* web development got more complex
* Django did not move fast enough (IMHO) to support "modern" websites,
responsibilities were moved to third-party libs
* you therefore need more third-party libs which are usually (there are
ofc exceptions) maintained worse than Django
* there are a lot of breaking changes in interfaces each release so
upgrading hurts a lot
I know its a difficult problem so I don't know what the solution
could/should be and I'm interested in opinions :)
>> email to
django-develop...@googlegroups.com.
>> To post to this group, send email to
django-d...@googlegroups.com.