5 ms·
Django, in my previous role we did MVP websites for academics and the speed of getting a site up and running and deployed was just so fast. I’ve never worked wi
by physicsguy 4y ago
Django, in my previous role we did MVP websites for academics and the speed of getting a site up and running and deployed was just so fast. I’ve never worked with anything else that is as fast, anything like FastAPI or Flask or Express or similar either requires additional libraries to add really basic and common functionality or you have to roll it yourself.
I personally don’t think that if you’re building an MVP you should be worrying that much about how to store users in the database and add RBAC and building a way to add middleware and a storage layer and all of that crap. It’s not worth it, your application is not a special snowflake.
Edit: Should say that with that I mean serving HTML via Django. Usually I would use Bootstrap for layout. Very occasionally I’d add an API for some interactivity but I think for most MVPs interactivity is likely to be a secondary concern until later.
- scrollaway 4y agoNowadays, Django has an amazing library which is a lot like FastAPI but in the Django ecosystem. https://django-ninja.rest-framework.com/ https://django-ninja.rest-framework.com/ It's absolutely wonderful. I would use that in a MVP, and do the F/E in NextJS + Typescript.
- physicsguy 4y agoI’m familiar with it, and I don’t love DRF but the downside with Ninja is that you end up writing a lot more boilerplate IMO. Unless you’re strongly optimising for performance (and usually latency and the database are the biggest issues there), you can get away with ModelSerializer and DRF ViewSets a lot of the time for APIs and write very little code.
- FlyingSnake 4y agoCame here to say this. I have a side project that I need to spin up quickly and after lots of framework shopping, I settled for Django. Django and it's batteries included philosophy is perfect for creating full stack applications. The best thing about Django is that almost every problem you face has been answered by the community. The community tools like DRF/Django-Ninja/Crispy-forms/Django-environ etc are top notch and it's very easy to extend your application. 7/5 would use Django again.
- cushychicken 4y ago>The best thing about Django is that almost every problem you face has been answered by the community. This is something I realized pretty quickly when toying with migrating my side project from Flask to Django last year. Everything I wanted to know how to do, I could google with “Django” as the first term, and figure out how to accomplish. Anything that took longer than 2 mins to figure out how to do was generally a matter of not knowing how to phrase the question. It’s made me a huge Django advocate.
- rlawson 4y agoThe Django community is amazing - very friendly, welcoming and a very rich 3rd party app ecosystem.
- iamsanteri 4y agoI‘m trying to learn Django just for this kind of MVP purposes. I also did a small mini project in RoR by following their documentation. Is there anything that is significantly easier to do in RoR vs. Django? Alternatively, is there anything, say, on a larger scale that I can do with RoR that I cannot do in Django if the project grows? These are the questions I‘ve been wrestling with quite a bit now. After learning Vue and React.js and having used and being cognizant of Next, Nuxt, Supabase, Firebase and all that other stuff, I‘m looking to become a bit of a better developer by understanding the intricacies of traditional monoliths and how problems are solved on the backend. I‘d also like to be able to serve predictions and host ML models in production. Likewise, if my MVPs catch on, I’d like to retain majority of my ”IP” by the means of Django or RoR. Any intuition perhaps on my above questions? Thx!
- physicsguy 4y agoMy view on this is that there is little between them so in that case it’s better to look at availability of skills you’d need to take it forwards in the operating region. For e.g. if it’s easier to hire Ruby developers then choose Rails. I see a lot of people talking about Elixir, etc. on this thread, but I’m based in the U.K. and I’ve never seen a company locally using Elixir so even if it’s really cool, it’d be a bad idea for me to choose it absent a very very good reason. If I choose Django then even if I can’t find a Django developer, I can likely find people who know Python and the barrier to entry is pretty easy.
- iamsanteri 4y agoThank you for such a great and senseful answer!
- nelsonic 4y agoSeveral companies in the UK use Elixir including the BBC, USWitch and the NHS! The London Elixir Meetup https://www.meetup.com/elixir-london/ https://www.meetup.com/elixir-london/ has 1,467 members and is great place to meet fellow alchemists and learn interesting things!
- D13Fd 4y agoThis is where I came out a couple of years ago. I love Django and it has worked out perfectly. But I'm far from an expert.
- bastawhiz 4y agoThe biggest benefit to Django, in my opinion, is the orm and admin tooling. Being able to fix things in your app without having to open a repl or open a database tool is absolutely killer.
- danudey 4y agoI honestly cannot believe that Rails doesn't have this built in. This was something that was in Django for as long as I can remember; I was looking at it in I think 2006 and it existed at that point in a very similar state to what I've seen lately. Not a dig on Rails, like "Oh, Rails is so bad they don't even have..."; rather, Rails is extremely capable, and so are Rails devs, so I legitimately don't understand why this isn't there already, 15+ years after Django.
- DwnVoteHoneyPot 4y agoTo be fair, Django only caught up with Rails in the past 5 years. When I started with Django it didn't have basic stuff that Rails had, such like auto database migrations and the Rails asset pipeline. The database migration stuff really helps when building/iterating. The Django middleware was very finky at the time.
- slig 4y agoFWIW, Django has built in migrations since 1.7 which was released in Sep/2014.
- treis 4y agoRails has Active Admin which is equivalent to what you get with Django. It's just not a core Rails gem but it's one line in your Gemfile to add it.
- dieselgate 4y agoWhoah I never knew that - or maybe did but never seriously considered it. It's been my biggest surface-level gripe with Rails compared to Django so thank you very much for bringing it up Edit: and it' still maintained !
- jononomo 4y agoThe Django Book is phenomenal. It is just so well-written and so clear that it makes my heart ache: https://django-book.readthedocs.io/en/latest/introduction.html https://django-book.readthedocs.io/en/latest/introduction.ht...
- DwnVoteHoneyPot 4y agoAnother good one is Tango with Django. https://www.tangowithdjango.com/ https://www.tangowithdjango.com/