Seems like a strange bit of feedback to me. My company uses Django as the backend for our REST API and it's simply phenomenal. Django isn't a complete solution out of the box, but that's why things like Django REST Framework [0] exist. It supports JSON-based views and has an excellent serialization layer that can map directly to the ORM models. This setup does NOT help with serving our frontend app, but we're using R…
The Decline of Django
41–50 of 173 posts
Re: The Decline of Django
#42What’s better?
Re: The Decline of Django
#43It seems that the only genuine gripe is with documentation. Okay -- so contribute those changes? I've contributed documentation to lots of packages I use, including DRF, celery and so on. It's an open source project with an awesome community behind it. If you feel that docs need updating, then update them. It doesn't mean there is a decline in any way, shape or form just because it uses IRC as a support channel[0] rather than Discord.
[0] Worth mentioning that the Django support channel is perhaps the best support channel for any similar project of this size you can find
Re: The Decline of Django
#44> Bad Official Admin GUI UX
For anyone reading, Django's admin tool is designed for situations in which you need to stand up a quick admin or build some internal admin functionality. For more complex cases, you build your own admin to fit your user needs (including the UI/UX). From Django's own documentation:
> The admin’s recommended use is limited to an organization’s internal management tool. It’s not intended for building your entire front end around. [1]
Also, regarding documentation, in my opinion I have yet to see any project have better documentation than Django.
[1] https://docs.djangoproject.com/en/3.2/ref/contrib/admin/
Re: The Decline of Django
#45Earlier quoted context omitted.
Could you elaborate? After a ~10 years hiatus I revisited Rails last year and whipped up a CRUD app with auth in no time. No SPA in sight.
They've been mucking with the asset pipeline every single version and their forray into webpacker has been a disaster. Turbolinks and ActionCable have been attempts to compete with SPAs while still being SSR but both are just glitchy and a source of endless Heizenbugs. Thankfully Rails7 looks like they've restored sanity.
Re: The Decline of Django
#46After Grails got refactored between 2.x and 3.x which broke all plugins, most new Java projects went with Spring Boot. Popularity of the Grails framework has declined a lot since the release of Grails 3.0. But the strong decline the last few years I mostly blame on all MVC framework not being interesting enough for new young developers. Only David Heinemeier Hanson has a loud strong voice telling the world about how fantastic the Rails and MVC web application really are. Which makes sense considering that I feel Rails is still super popular.
But my preference is not Ruby, but rather Java :-) and I feel Grails is still awesome. And I also use Spring Boot for some projects.
Re: The Decline of Django
#471) Documentation is too verbose 2) Onboarding new developers lacks IDE specific tooling for free 3) Admin GUI isn't great 4) Async support is still incomplete 5) Static types aren't used in Django 6) Django is MVC which isn't useful if you just need a light V 7) People ignore other, newer tech because Django exists What??? 4 and 5 are legit complaints, the rest is literally the nittiest of picks, in my opinion. You d…
Re: The Decline of Django
#48I'll just nitpick on their bagging on Pycharm. Pycharm is great. Frankly, I like it better than VS Code; though I do grant VS Code has its strengths, especially as a lightweight capable code editor.
Re: The Decline of Django
#49Re: The Decline of Django
#50Earlier quoted context omitted.
I second FastAPI! In my mind it's, "Flask, but better." The killer feature in my mind is that it leverages type hinting and dataclasses, using Pydantic, to take away a lot of the grindyy, boilerplate parts of writing an API, like type checking, dependency injection, generating good error messages, generating API documentation, ... Even when I'm not using FastAPI now, I use Pydantic everywhere. Types in Python, while…
Pydantic's BaseSettings has cured my configuration-DSL itch. You can type in (typed) defaults in Python and have them overidden by env vars.
The only gripe I have with Pydantic is that sometimes it has really opinionated type coercion that can get you in trouble sometimes. For instance, `Union[int, float]` will accept either an int or a float, sure, but it will always output an int. This isn't difficult to fix but may only realize it after having shot yourself in the foot.