Need advice about which tool to choose?Ask the StackShare community!

Django

24.3K
21.1K
+ 1
3.7K
Spring Boot

15.5K
13.4K
+ 1
877
Add tool

Django vs Spring Boot: What are the differences?

Django: The Web framework for perfectionists with deadlines. Django is a high-level Python Web framework that encourages rapid development and clean, pragmatic design; Spring Boot: Create Spring-powered, production-grade applications and services with absolute minimum fuss. Spring Boot makes it easy to create stand-alone, production-grade Spring based Applications that you can "just run". We take an opinionated view of the Spring platform and third-party libraries so you can get started with minimum fuss. Most Spring Boot applications need very little Spring configuration.

Django and Spring Boot belong to "Frameworks (Full Stack)" category of the tech stack.

"Rapid development", "Open source" and "Great community" are the key factors why developers consider Django; whereas "Powerful and handy", "Easy setup" and "Java" are the primary reasons why Spring Boot is favored.

Django and Spring Boot are both open source tools. Django with 42.6K GitHub stars and 18.3K forks on GitHub appears to be more popular than Spring Boot with 39.8K GitHub stars and 25.8K GitHub forks.

Instagram, Pinterest, and Udemy are some of the popular companies that use Django, whereas Spring Boot is used by MIT, Intuit, and PedidosYa. Django has a broader approval, being mentioned in 992 company stacks & 914 developers stacks; compared to Spring Boot, which is listed in 333 company stacks and 615 developer stacks.

Advice on Django and Spring Boot
Needs advice
on
Spring Boot
and
Django

I need to build a system(web app) where people will share their projects and will receive funding against those projects if someone likes the projects. The backend should be secure, and the tools that will be needed to build that system should be free. We are a startup that can't invest too much in tools right now. We need to build it in 3-4 four months.

The application should be able to support 10k users for now and should be able to scale later.

Also, please suggest what front-end technologies I should use.

See more
Replies (1)
Top Notch

Depending on the backend I would pick the technology you feel most comfortable with, although, my preference would go to Django with Django REST Framework considering the timeframe you mentioned.

As for the front-end, React.JS and Vue are easy to get started with.

See more
Needs advice
on
Node.js
.NET Core
and
Django

Looking for Advice! I am developing a hybrid app for video streaming, I have a prior experience with .NET Core and would like to use it for my back end but the latest buzz on characteristics of Node.js such as light weight, event loop and Async capabilities is really tempting me to reconsider my decision. On a quick research I could observe that a lot of Internet companies use either Python Django or Node JS for their back end which has thrown me into confusion, looking for an expert advice, thx.

See more
Replies (4)
anas mattar
Technical Lead at DPO International · | 4 upvotes · 46K views
Recommends
.NET Core

That's depend on your experience if you are very well in C# you should start using the Technology that's you know and like it.

See more

So none of these tools may be bad for your implementation of this streaming app. But one thing to consider is what are you trying to achieve. If your application is more front end facing with streaming to a backend service C# may be your better implementation path just due to its greater overall versatility in terms of options for mobile, backend development, front end development, service development, etc... However if your focused purely on the streaming aspects and utilizing Amazon or Azure services in conjunction with the language of choice, Python, Node.Js, Django or other technologies may offer a faster option to success. Another thing to consider is many of the streaming platforms today utilize services from cloud vendors to achieve their success more than simply the ingenuity on the part of their internal staff's programming skills. Traditional programming languages like Java, C++, C# are used less these days. Today most teams are piggybacking off these services where its possible to give your application the greatest ability to compete with the big boys. - Your Friendly Neighborhood Tech Manager

See more
Pavel Nekrasov
MyOpenTour at MyOpenTour · | 1 upvotes · 10.1K views
Recommends
fastapi
at

Take a look at FastAPI if you are going to choose Python

See more
Aslam Mohammad
Systems Engineer at Infosys · | 1 upvotes · 33.4K views
Recommends
Node.js
Django

You could apparently go for both Node or Django but I would recommend choosing Node as you're building a video streaming app and the biggest video streaming service Netflix used Node in the production.

See more
Needs advice
on
Node.js
Java
and
Django

I am starting a new project to build a simple ERP system for small businesses, where the owners can also manage orders on their phones.

I have decided to use JavaScript & React on the front-end and MySQL for the database. But I am really struggling to pick a backend language. I'm familiar with Node.js, but when I search for ERP (CRM & order mgt) projects on Youtube, I see that most build with Python (Django). Many also recommend Java.

So I'm a little confused. Please advice.

See more
Replies (10)
Luiz H. Rapatão
Senior Software Engineer at rapatao.com · | 7 upvotes · 35.2K views
Recommends
Node.js

There is no problem to keep using node.js for your backend. Keep in mind that you already have expertise in it, so you could focus on development instead of to learn a new syntax/framework. There are good libraries in node.js that could help you in the development (services, validations, integrations, etc) also keeps you with a single language to the whole system. Django, as far as I know, it will provide a solid base for you, but it could be too much for your purpose, also could be more complex than you could need. Java provides to you many frameworks to simplify your integrations also could achieve a good performance. Anyway, I recommend you to follow using node.js, since you already know the syntax/platform.

See more
Recommends
Django

Django is best suited for your requirement and has a very good community base to reach out for any queries. I have myself built and seen a lot of stuffs which match your requirement.

See more
Michael R.
Full-Stack Web Developer at STHCoders · | 3 upvotes · 23.8K views
Recommends
at

I recommend Node.js because you are creating a new application and will likely not have a huge workload, at least not initially. Node is incredibly fast and used in more SPA's than any other solution, but as the CPU load increases, the efficiency starts to drop off.

I could see how scalability could eventually become a concern if your SaaS platform becomes extremely popular, but considering that you already know Node, I think it would be wiser to shorten your time to market and develop a quality product rather comfortably.

Otherwise you also run the risk of security flaws due to inexperience with a new framework and that is not something you want when you are handling other people's data.

See more
Recommends
Node.js

Hello, Node.js is simply a better option than python if you wish to make your application real-time operations. Also Node.js is a better choice than python for server side development.

But let's get your problem now. For most ERP projects, Node.js is a better choice. Also, since you are already familiar with Node.js, continue with it. Personally, I think Node.js is way better than Django mainly because JS is the god of ERP projects. Java is a good counterpart though.

See more
Sinisha Mihajlovski
Design Lead | Senior Software Developer at Endava · | 2 upvotes · 26K views
Recommends
SugarCRM

Will you build it from scratch? There are some open source ERP/CRM solutions that you can use as a base for your solution. SugarCrm is an example. By looking at those, you can then decide which language you'll use for the backend.

See more
Mukesh PM
Recommends
Node.js

I personally suggest NodeJs as you are also familiar with it. Even nodeJS has its own strong frameworks such as NestJS, Loopback etc. And the community is pretty much strong though. If you are looking for a faster development , then always you can go for NodeJS. And its pretty fast though.

See more
Nicolai Kamphenkel
Full-Stack-Engineer at Kamphenkel Datensysteme GmbH · | 1 upvotes · 24.5K views
Recommends
Node.js
AdonisJS

Hey if you are allready familar with nodejs then just go with it. There are some very nice frameworks out there that can be hold with the big ones.

Examples: AdonisJS or SailsJS

AdonisJS is even very similar like django.

See more
Ruslan Rayanov
Recommends

I can recommend you a flexible constructor for this purpose. To create a system, you only need sql, and you can connect to any database without any problems. Please see the introductory article about the features, and if you are interested, I can provide access to the test site. My contacts for communication are on the site page https://falconspace.site/docs/vvedenie-v-falcon-space--c-chego-nachat https://falconspace.site/for-it

See more
anas mattar
Technical Lead at DPO International · | 1 upvotes · 23K views
Recommends

I prefer to use Node.js because you have experainse in it and also you can do anything for this language.

See more

Go with Node.js and use a framework. I can recommend NestJS or Fastifiy as a Backend Framework. They both have a strong community and Fastify is the successor of Express but much faster.

See more

Is learning Spring and Spring Boot for web apps back-end development is still relevant in 2021? Feel free to share your views with comparison to Django/Node.js/ ExpressJS or other frameworks.

Please share some good beginner resources to start learning about spring/spring boot framework to build the web apps.

See more
Replies (1)

Java in general, in my opinion, is somewhat outdated in 2021. C# is a better language, and therefore, I think ASP.NET (Core/.NET 5) should be used over it. Node.js isn't bad if you are getting started, or if you need to prototype an app. I use Node in production because of TypeScript, but .NET is a really good framework that has excellent performance.

See more
Rafsanjanee Rizvi
Owner at Mingchen Information And Technology · | 4 upvotes · 58.7K views
Needs advice
on
Spring Boot
NestJS
and
ExpressJS

Hi, I am a new developer using Ionic to develop a mobile app. I have recently tried to build a social mobile app which will have video calling, payment transaction, chatting, sharing, etc. I am now confused as to which framework I should use for the backend: Spring Boot or ExpressJS or NestJS? Any detailed advice will be better for my development. Looking forward to your valuable reply.

See more
Replies (2)

Any tools that achieve your software functionalities is good. you should check if with these frameworks you can do video-call, chat etc. how the scalability is achieved and the complexity of using it with them. since you are starting from scratch you can do this kind of feasibility before starting

See more
Recommends

If I want to write server api, I will use NestJS as primary framework. It base on express | fastify so I can use anything of expressJs. SpringBoot is a java framework. I will think to write as payment transaction service. If you are Ionic developer. you will know Js / ES6. You can try NestJS / ExpressJS. - video calling: You can not create video calling feature. Some keywords: ffmpeg / coturn / webrtc - chatting: realtime (socket.io / websocket) - you can try some opensource as rocketchat. It also have video calling feature.

See more
Needs advice
on
Node.js
Laravel
and
Django

I am looking to make a website builder web app, where users can publish built websites with a custom or subdomain (much like Wix, Weebly, Squarespace, etc.), and I was wondering about any advice on which web framework to build it on? I currently know Node.js, but I would be excited to learn Laravel or Django if those would be better options. Any advice would be much appreciated!

See more
Replies (3)

The tools you mentioned are all backend focused frameworks. I will say, you can choose one of them as you may prefer (maybe Laravel and Django will be better since it's more organized than Node.js). But no matter what, if you will create a website builder application, today you'll need a frontend framework like Vue.js, React or Angular - or maybe Ember.js, Svelte and Meteor.

See more
Đam Lê Đình
Senior Software Engineer at NAB · | 6 upvotes · 64.6K views
Recommends
Laravel

If you use Nodejs, you should use one more frontend language like reactjs or angularjs. Laravel is the better option. They are more power for rendering.

See more

Hi

I’ve been using Django for the last year on and off to do my backend API. I’m getting a bit frustrated with the Django REST framework with the setup of the serializers and Django for the lack of web sockets. I’m considering either Spring or .NET Core. I’m familiar with Kotlin and C# but I’ve not built any substantial projects with them. I like OOP, building a desktop app, web API, and also the potential to get a job in the future or building a tool at work to manage my documents, dashboard and processes point cloud data.

I’m familiar with c/cpp, TypeScript.

I would love your insights on where I should go.

See more
Replies (3)
Recommends
.NET Core

Theres a logt going on in the dotnet world. I currently do all my Rest APIs with asp.net core.

The Setup is very easy as the .net web sdk provides with a lot features you don't want to keep yourself concerned with. You can integrate Swagger with little effort.

See more
Dzung Nguyen
Researcher at Florida Institute of Technology · | 6 upvotes · 86.8K views
Recommends
Spring Boot

Spring Boot is the lightweight of the Spring framework. I used the Spring framework before, and I fall in love with the Spring Boot. I also use .NET core, but still, I like Spring boot the best. If you have time then you should experience both. You are more than halfway in gaining experience. My suggestion is always to try to learn many things as you can.

See more
Nikhil Gurnani
Sr. Backend Engineer at Grappus · | 4 upvotes · 82.5K views
Recommends
Spring Boot

I see what you're going through and I extend my hands to you. I felt the same frustration after almost 1.5 years of working with Django and Node.js in the parallel. And since the last one year, I've transitioned into Spring Boot. I think its fair to say, that its quite different when you're going from Django background as a framework, but otherwise. I think it's one of the robust ones out there. Scalability is seamless and you get most of the things out of the box or easily supported by dev dependencies. You should definitely check it out! :)

See more
Needs advice
on
Spring
and
Django

I am a graduate student working as a software engineer in a company. For my personal development, I want to learn web development. I have some experience in Springboot while I was in university. So I want to continue with spring-boot, but I heard about Django. I'm reaching out to the experts here to help me choose a future proof framework. Django or Spring Boot?

Thanks in Advance

See more
Replies (5)
Recommends
Spring

Kamrul Hasan, Don't choose dying technologies with small communities. How many startups do you think use Spring and Django? Use Google Trends to compare technologies. Study the StackOverflow developer survey and job websites to see what technologies are wanted. Few teams can afford to train you to get up to their level so be a life-long learner. Embrace the dawn of a new industry and become an expert.

See more
Sulaiman Sanusi
Recommends
Spring

I recommend you stick to Java Spring as you already have experience with the technology, i suggest you master this technology and then if Django seam to be very interesting to you, django is a framework you can easily pickup as python is also easy, you have to probably be able to manage the context switching between a static typed language like Java to dynamic language like python

See more
Christoph Becker
Recommends
Spring
Django

It depends on what you want. Spring is Java-based whereas Django is Python-based. The question rather is Java vs Python. I personally recommend Python as it's shorter and easy to learn. But Java has advantages in really big systems.

See more
Gonzalo Fernández
Recommends

Hi Kamrul,

It really depends on the kind of project and whether you feel more comfortable with Java or Python. Both are excellent frameworks, with a huge community and learning material. I've been working with Spring Boot since I started coding almost and I can assure you it's the perfect combination for Java. The learning curve may be harder that Django, but once you know the basics you're good to go. I can't tell you much about Django but you must now by now that it has a great reputation with Python users. In any case I don't think you can go wrong with any of these two. My advice is, if you are already familiar with the Spring framework, give Spring Boot a try, because you're going to find out that it just makes the whole Spring experience so much easier. Let us know what you chose!

See more
Recommends
Django

Both are in active development and had huge community support. It really depends on you what you are comfortable with. Both are married to their respective languages. I choose Python over Java because of its simplicity and readability. To develop in java you need to write a lot of code. That's how java is. The best part I love with Django is its synchronization with Databases.

See more
Eva Maciejko
Needs advice
on
Spring Boot
Laravel
and
ExpressJS

Hello, I am a fullstack web developer. I have been working for a company with Java/ Spring Boot and client-side JavaScript(mainly jQuery, some AngularJS) for the past 4 years. As I wish to now work as a freelancer, I am faced with a dilemma: which stack to choose given my current knowledge and the state of the market?

I've heard PHP is very popular in the freelance world. I don't know PHP. However, I'm sure it wouldn't be difficult to learn since it has many similarities with Java (OOP). It seems to me that Laravel has similarities with Spring Boot (it's MVC and OOP). Also, people say Laravel works well with Vue.js, which is my favorite JS framework.

On the other hand, I already know the Javascript language, and I like Vue.js, so I figure I could go the fullstack Javascript route with ExpressJS. However, I am not sure if these techs are ripe for freelancing (with regards to RAD, stability, reliability, security, costs, etc.) Is it true that Express is almost always used with MongoDB? Because my experience is mostly with SQL databases.

The projects I would like to work on are custom web applications/websites for small businesses. I have developed custom ERPs before and found that Java was a good fit, except for it taking a long time to develop. I cannot make a choice, and I am constantly switching between trying PHP and Node.js/Express. Any real-world advice would be welcome! I would love to find a stack that I enjoy while doing meaningful freelance coding.

See more
Replies (10)
Recommends
Spring Boot

Hi Eva, As you have solid experience with Spring already, you should jump into freelancing with that. It would be quite stressful to start freelancing with a tech stack you don't know well. Then in the background you can keep learning/practicing an alternative and switch over when you are confident enough (eg. 0.5-1 year later). I think you should learn Laravel as you already like it and find it easier. Express has better performance but that is not required for most of the small freelancer projects.

See more
Recommends
ExpressJS

Looking at current technological trends and rise of JavaScript, you cannot go wrong with JavaScript. - There's an abundance of libraries to get most things done - You can use JavaScript for both the frontend and the backend - this allows you potentially share your logic/models/code across both stacks - A dynamic/interpreted language such as JavaScript is great for serverless (there's somewhat of a trend towards serverless aswell - especially in modern projects) - If you like/need static typing, you can always migrate seemlessly to Typescript - VueJS is a lightweight framework (compared to Angular), it has more GitHub stars and most would argue it's easier to work with (beginner friendly). Additionally most modern webapps do not use JQuery anymore (even though a lot of legacy projects continue to do so). You don't need JQuery if you use Vue/Angular/React

Additionally it doesn't seem like performance is a hugely important metric in your scenario, so JavaScript would suffice.

Note: These are all my opinions and what I've seen in the current market when recently searching for jobs.

See more
Benoît Hubert
JavaScript Instructor at Wild Code School · | 6 upvotes · 183.9K views
Recommends
Spring Boot

I think Patrik and Alex are right: if you're comfortable with Spring Boot already, you'll be more productive right from the start.

If you wish to learn something else besides, both Laravel and Express are good choices. They aren't in the same category of frameworks: Laravel is an all-in-one solution, while Express is more like "build your own stack from different parts". Which implies that you can use whatever you want as a database engine: MySQL or PostgreSQL are perfectly valid choices (in my school, we teach Express with MySQL, because SQL is still a big thing here in France, and a sought-after skill). You can use Sequelize or TypeORM which support all major SQL DBMS.

Express is widely used, but if you're seeking the JavaScript equivalent of Spring Boot or Laravel, you probably want to look at NestJS. The only potential downside is that it's still young, maintained by a small commmunity, compared to those behind Spring Boot and Laravel.

Bottom line: using a stack tech, that you enjoy and are comfortable with, matters. Spring Boot + Vue.js seem perfectly fine to me. But do forget jQuery if you're using Vue.js, React or Angular, because it will definitely bring more harm than good!

See more

Hi as someone who employs and select developers i agree with a lot almost sayed but think of what are your strengths and where you are or better where your customers are. If you search for big enterprise projects spring boot is ok sql is must and html css as well. if you want to go more to internet related companies (like airbnb, what sup, facebook ) or similar (and not asia) then react is a must node js as well. The libraries tools etc which are used you need to adopt fast. If asia then VUE is a must. but if you like small projects with individuals or like wordpress or similar then you can learn php but i think in 2020 it is wasted time. Same for python in that area. and i also see that we often have problem that developer at least must understand docker docker compose better as it works with kubernetes ,.. just my 5 cents

See more
Recommends
Spring Boot

I would definitely recommend you to go with Spring Boot + AngularJS + jQuery. Reasons: 1- You have an experience of 4 years with the above-mentioned stack. 2- As you mentioned that you wish to work as a freelancer, your stack is the perfect one for finding good bids with a little less effort than that of PHP + Laravel + Vue.js.

See more
Rubin Thomas
Software Cloud Developer at RUBIN THOMAS · | 4 upvotes · 124K views
Recommends
Python
PHP
Perl

As a developer myself, I would recommend you not to restrict yourself to JAVA, PHP or any other language. New Tools/languages keep coming every day. If you do plan to move to freelancing. PHP has a lot of options in the freelance space and a lot of competition too.

Learning PHP is as simple as learning any other language. It depends merely on your interest.

Personally if you can code, you should not restrict yourself. I have had to code in many languages, PHP, Perl, shell script, Python, Java, Javascript, Ruby etc... I would keep your developing skills and logic, algorithms etc.. and increase your knowledge and experience in the different languages.

I agree with you JAVA is a lot more time consuming. But it also has its enterprise level scope.

At the same time learning a new language should not be a barrier for you to stop exploring what's out there and keeping your skills up to date. Learning new technologies should be your primary focus and getting project out of your stack helps you build a good reputation.

There are many options for you to pursue. Having an open mindset will help you move forward. If you look to learn now, you are setting yourself up for a brighter future.

See more
Alex Spieslechner
Recommends
Spring Boot

in order to stay employable, I'd work with something you can deliver with. if I'd be your client and you'd have to get comfortable with a new stack, I would 100% not pay you for this startup time. learn new stuff in your free-time. or set aside time for learning.

that said, if you want to reorientate, php (even though i personally hate it) is extremely wide spread. but so are java and nodejs. so I'm not a fan of that argument... i recommend building something in each language, and see what you enjoy more. for me it was nodejs, because I already enjoy frontend JavaScript, and appreciate the ecosystem and community.

regarding expressjs and mongodb: yes, it is a goto solution for a lot of tutorials, because its as simple as it gets. especially wben using something like monk. BUT if you want to use mysql, posgres or similar, check out TypeORM, Prism or another ORM-like solution. you can use any db with express, and there's plenty of abstraction layers, which make your life easier. but i noticed that expressjs does a lot less "holding hands" compared to .net core (c#), or laravel (php). can be a pro or a con.

See more

I like fullstack freelancers who stacks are clean as one of below

  1. PHP (laravel ) + Jquery + Bootstrap

  2. Python(Django) + Angular JS or VueJS

  3. NODEJS + REACTJS

See more
Recommends
ExpressJS

Hey There, I would recommend going fullstack javascript since you already have experience with javascript on the front end it would be very easy to pickup node and express js. You can use sql with node and express if you please, but mongo is pretty easy to get going with.

See more
Ahmed Gamal

Please, try to work with your comfortable stack, here is some recommendation

See more
Needs advice
on
Spring Framework
NestJS
and
Django

Hi there, I'm deciding the technology to use in my project.

I need to build software that has:

  • Login
  • Register
  • Main View (access to a user account, News, General Info, Business hours, software, and parts section).
  • Account Preferences.
  • Web Shop for Parts (Support, Download Sections, Ticket System).

The most critical functionality is a WebSocket that connects between a car that sends real-time data through serial communication, and a server performs diagnosis on the car and sends the results back to the user.

See more
Replies (3)
Recommends
NestJS

You can use NestJs with microservice architecture.where you can also use socket.io for web socket. you can use MongoDB (For real-time data) & MySQL for customer management.if you don't want to implement websocket.you can use firebase.it gives realtime database & firestore.which can handle millions of connections and scale it up.

See more
Amit Parameshwar
NodeJS Intern at CartRabbit · | 3 upvotes · 186.1K views
Recommends
Node.js

Just a simple Node.JS app with templating engine for UI can be sufficient for what you want to achieve.

See more

Spring boot with Spring Security[JWT], Websocket, Thymeleaf or Mustache, and styling with Bootstrap.

See more
Decisions about Django and Spring Boot

We’re a new startup so we need to be able to deliver quick changes as we find our product market fit. We’ve also got to ensure that we’re moving money safely, and keeping perfect records. The technologies we’ve chosen mix mature but well maintained frameworks like Django, with modern web-first and api-first front ends like GraphQL, NextJS, and Chakra. We use a little Golang sparingly in our backend to ensure that when we interact with financial services, we do so with statically compiled, strongly typed, and strictly limited and reviewed code.

You can read all about it in our linked blog post.

See more

This website was originally written in Yii as PHP was my main language back then. After learning Django, I realized just how quickly you could build a web app with less lines. So I migrated my website to Django in a week or two and managed to cut down the lines of code by half. Some of the lines saving came from the models, the views, and the expressiveness of Python. Django requires like config for the models and they provide many generic views that abstracts away common patterns.

See more

I am planning to develop project management system SAAS based. Can any one help me with selection of platforms from Django or Laravel and for database MongoDB or Firebase/Firestore or MySql? On front end I am going to use Quasar Framework (VueJS). Note : project will be Webapp, Mobile app and desktop app.

See more
Shiqi Lin
Software Developer at BigClarity · | 3 upvotes · 48.2K views

We will use Django to set up our backend and Django REST Framework (DRF) for our API creation. The easiness of performing development tasks (eg. user authentication, URL routing, and schema migration) attracts our attention. Also, Django with PostgreSQL provides many benefits: 1. Some data types in Django will only work with PostgreSQL; 2. Django offers django.contrib.postgres to operate on PostgreSQL; 3. Django supports many features of PostgreSQL. Moreover, Django is compatible with Redis.

See more
Hampton Catlin
VP of Engineering at Rent The Runway · | 7 upvotes · 109.7K views

Starting a new company in 2020, with a whole new stack, is a really interesting opportunity for me to look back over the last 20 years of my career with web software and make the right decision for my company.

And, I went with the most radical decision– which is to ignore "sexy" / "hype" technologies almost entirely, and go back to a stack that I first used over 15 years ago.

For my purposes, we are building a video streaming platform, where I wanted rapid customer-facing feature development, high testability, simple scaling, and ease of hiring great, experienced talent. To be clear, our web platform is NOT responsible for handling the actual bits and bytes of the video itself, that's an entirely different stack. It simply needs to manage the business rules and the customers experience of the video content.

I reviewed a lot of different technologies, but none of them seemed to fit the bill as well as Rails did! The hype train had long left the station with Rails, and the community is a little more sparse than it was previously. And, to be honest, Ruby was the language that was easiest for developers, but I find that most languages out there have adopted many of it's innovations for ease of use – or at least corrected their own.

Even with all of that, Rails still seems like the best framework for developing web applications that are no more complex than they need to be. And that's key to me, because it's very easy to go use React and Redux and GraphQL and a whole host of AWS Lamba's to power my blog... but you simply don't actually NEED that.

There are two choices I made in our stack that were new for me personally, and very different than what I would have chosen even 5 years ago.

1) Postgres - I decided to switch from MySql to Postgres for this project. I wanted to use UUID's instead of numeric primary keys, and knew I'd have a couple places where better JSON/object support would be key. Mysql remains far more popular, but almost every developer I respect has switched and preferred Postgres with a strong passion. It's not "sexy" but it's considered "better".

2) Stimulus.js - This was definitely the biggest and wildest choice to make. Stimulus is a Javascript framework by my old friend Sam Stephenson (Prototype.js, rbenv, turbolinks) and DHH, and it is a sort of radical declaration that your Javascript in the browser can be both powerful and modern AND simple. It leans heavily on the belief that HTML-is-good and that data-* attributes are good. It focuses on the actions and interactions and not on the rendering aspects. It took me a while to wrap my head around, and I still have to remind myself, that server-side-HTML is how you solve many problems with this stack, and avoid trying to re-render things just in the browser. So far, I'm happy with this choice, but it is definitely a radical departure from the current trends.

See more
Chose
Rails
over
Django

I have used both the tools . Both of them are super awesome , very reliable and their learning curve is also super easy. But, the reason I choose Ruby on Rails over Django is the fact that the dependency injection is super easy in Rails than Django. What I mean is the fact that, Django requires a lot of import statement to do a lot of work, which remembering is not so easy and even after that you may need to write a lot of code. But Ruby on Rails uses gem to add addition feature or dependency in the project. Which requires just copying the gem statement from github and pasting it in the Gemfile, then running bundle install(these days just bundle works super fine). And there you are with the new feature in your app. You can see this with the example of Authentication, where in Django you require several steps like adding class based views and many more, but in rails it's just as easy as installing the 'devise' gem . And if you want to make it beautiful use bootstrap_template gem to make it look prettier. Now with Rails 6 , Rails is a total developer's fervent friend because it has come up with features like Action Mail and Action Text.

See more
washie mugo
Chose
Django
over
Laravel

i find python quite resourceful. given the bulk of libraries that python has and the trends of the tech i find django which runs on python to be the framework of choice to the upcoming web services and application. Laravel on the other hand which is powered by PHP is also quite resourceful and great for startups and common web applications.

See more

Since I came from python I had two choices: #django or #flask. It felt like it was a better idea to go for #django considering I was building a blogging platform, this is kind of what #django was made for. On the other hand, #rails seems to be a fantastic framework to get things done. Although I do not regret any of my time spent on developing with #django I want to give #rails a try some day in the future for the sake of curiosity.

See more
Ing. Alvaro Rodríguez Scelza
Software Systems Engineer at Ripio · | 8 upvotes · 142.7K views

Decided to change all my stack to microsoft technologies for they behave just great together. It is very easy to set up and deploy projects using visual studio and azure. Visual studio is also an amazing IDE, if not the best, when used for C#, it allows you to work in every aspect of your software.

Visual studio templates for ASP.NET MVC are the best I've found compared to django, rails, laravel, and others.

See more
Get Advice from developers at your company using Private StackShare. Sign up for Private StackShare.
Learn More
Pros of Django
Pros of Spring Boot
  • 623
    Rapid development
  • 462
    Open source
  • 395
    Great community
  • 346
    Easy to learn
  • 258
    Mvc
  • 211
    Beautiful code
  • 208
    Elegant
  • 189
    Free
  • 187
    Great packages
  • 174
    Great libraries
  • 64
    Restful
  • 61
    Powerful
  • 61
    Comes with auth and crud admin panel
  • 56
    Great documentation
  • 53
    Great for web
  • 41
    Python
  • 35
    Great orm
  • 31
    Great for api
  • 24
    All included
  • 20
    Web Apps
  • 19
    Fast
  • 16
    Used by top startups
  • 14
    Clean
  • 13
    Sexy
  • 12
    Easy setup
  • 10
    Convention over configuration
  • 7
    ORM
  • 7
    The Django community
  • 7
    Allows for very rapid development with great libraries
  • 5
    Its elegant and practical
  • 5
    Great MVC and templating engine
  • 4
    Easy Structure , useful inbuilt library
  • 4
    Easy to develop end to end AI Models
  • 4
    Full stack
  • 4
    Fast prototyping
  • 4
    Mvt
  • 3
    Easy
  • 3
    Easy to use
  • 3
    King of backend world
  • 3
    Cross-Platform
  • 3
    Batteries included
  • 3
    Have not found anything that it can't do
  • 2
    Just the right level of abstraction
  • 2
    Great peformance
  • 2
    Zero code burden to change databases
  • 2
    Full-Text Search
  • 2
    Map
  • 2
    Modular
  • 2
    Very quick to get something up and running
  • 2
    Many libraries
  • 2
    Python community
  • 2
    Scaffold
  • 1
    Test
  • 1
    Easy to change database manager
  • 132
    Powerful and handy
  • 123
    Easy setup
  • 115
    Java
  • 84
    Spring
  • 81
    Fast
  • 40
    Extensible
  • 33
    Lots of "off the shelf" functionalities
  • 28
    Cloud Solid
  • 22
    Caches well
  • 20
    Many receipes around for obscure features
  • 19
    Productive
  • 19
    Modular
  • 18
    Integrations with most other Java frameworks
  • 17
    Spring ecosystem is great
  • 17
    Fast Performance With Microservices
  • 15
    Auto-configuration
  • 15
    Community
  • 12
    One-stop shop
  • 12
    Easy setup, Community Support, Solid for ERP apps
  • 11
    Cross-platform
  • 11
    Easy to parallelize
  • 10
    Easy setup, good for build erp systems, well documented
  • 10
    Powerful 3rd party libraries and frameworks
  • 9
    Easy setup, Git Integration
  • 2
    Kotlin
  • 2
    It's so easier to start a project on spring

Sign up to add or upvote prosMake informed product decisions

Cons of Django
Cons of Spring Boot
  • 25
    Underpowered templating
  • 19
    Underpowered ORM
  • 18
    Autoreload restarts whole server
  • 15
    URL dispatcher ignores HTTP method
  • 10
    Internal subcomponents coupling
  • 7
    Not nodejs
  • 7
    Admin
  • 6
    Configuration hell
  • 3
    Not as clean and nice documentation like Laravel
  • 3
    Bloated admin panel included
  • 3
    Python
  • 2
    Overwhelming folder structure
  • 2
    Not typed
  • 1
    InEffective Multithreading
  • 18
    Heavy weight
  • 17
    Annotation ceremony
  • 10
    Many config files needed
  • 8
    Java
  • 5
    Reactive
  • 4
    Excellent tools for cloud hosting, since 5.x

Sign up to add or upvote consMake informed product decisions

What is Django?

Django is a high-level Python Web framework that encourages rapid development and clean, pragmatic design.

What is Spring Boot?

Spring Boot makes it easy to create stand-alone, production-grade Spring based Applications that you can "just run". We take an opinionated view of the Spring platform and third-party libraries so you can get started with minimum fuss. Most Spring Boot applications need very little Spring configuration.

Need advice about which tool to choose?Ask the StackShare community!

What companies use Django?
What companies use Spring Boot?
See which teams inside your own company are using Django or Spring Boot.
Sign up for Private StackShareLearn More

Sign up to get full access to all the companiesMake informed product decisions

What tools integrate with Django?
What tools integrate with Spring Boot?

Sign up to get full access to all the tool integrationsMake informed product decisions

Blog Posts

+7
2
929
+42
46
39053
+47
46
68776
+3
6
5273
+42
53
19676
+25
7
2803
What are some alternatives to Django and Spring Boot?
Flask
Flask is intended for getting started very quickly and was developed with best intentions in mind.
Node.js
Node.js uses an event-driven, non-blocking I/O model that makes it lightweight and efficient, perfect for data-intensive real-time applications that run across distributed devices.
Rails
Rails is a web-application framework that includes everything needed to create database-backed web applications according to the Model-View-Controller (MVC) pattern.
Laravel
It is a web application framework with expressive, elegant syntax. It attempts to take the pain out of development by easing common tasks used in the majority of web projects, such as authentication, routing, sessions, and caching.
PHP
Fast, flexible and pragmatic, PHP powers everything from your blog to the most popular websites in the world.
See all alternatives