4 ms·
I realized only a while ago how very powerful Django is - when I was choosing technology for a new client's project. Just for context - over the last 13 years,
by krab 6y ago
I realized only a while ago how very powerful Django is - when I was choosing technology for a new client's project.
Just for context - over the last 13 years, I developed professionally in PHP, Java, Scala and Python, together with some code in Go and Rust. I can patch C and C++ code. By saying professionally, I mean being paid to do it as a main job.
The integrated nature of Django (ORM, admin, migrations) is a killer, but very rare to see. Spring + Hibernate doesn't come even close. Play framework seems to go in this direction but misses a lot of stuff. Maybe it's matched in modern PHP or in Microsoft land but I don't have much experience there. You can collect all the components and tie them together, but you're focusing on assembling the tooling when you could be focusing on the real problem. Being able to develop alone or in a very small team means real agility and low overhead. The time to start matters very much.
I know Django has its own pain points (for me, it's mostly performance). Each part of the stack has a better alternative as a standalone library. But I'm willing to sacrifice using the top tools in favor of using the top stack. Most of the web apps have a core product that's unique, but otherwise they all need to deal with database, authentication, authorization, CRUD admin interface etc.
- o1lab 6y agoIt's been a while I tried Django. Does Django admin provide a way to model schema in GUI and create migrations automatically ?
- jbman223 6y agoNope, still done though code, at least in the base framework.
- krab 6y agoNo GUI but the migrations are created automatically once you define the models. Have a look at http://forestadmin.com http://forestadmin.com. It's a fully GUI admin component. I found it when looking for Django alternatives when developing in Java.
- kioleanu 6y ago>Maybe it's matched in modern PHP or in Microsoft land but I don't have much experience there Yes, Laravel has something like you're describing: https://laravel.com/docs/5.3/migrations https://laravel.com/docs/5.3/migrations
- krab 6y agoNice. Does it also have the mostly autogenerated admin component? Django has a set of views where you can manage users and their permissions, plus any data of yours. You mostly just specify what classes and what fields are visible in the admin interface. There are extension points so you can override some behaviors with code. Eventually, you can replace parts with your own views. The integrated nature is beautiful. You already have the ORM models. With a few lines of code, you now have a GUI for them.