Django vs Grails vs Play

Get Advice Icon

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

Django
Django

9.8K
7.8K
+ 1
2.9K
Grails
Grails

247
205
+ 1
293
Play
Play

569
313
+ 1
461

What is Django?

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

What is Grails?

Grails is a framework used to build web applications with the Groovy programming language. The core framework is very extensible and there are numerous plugins available that provide easy integration of add-on features.

What is Play?

Play Framework makes it easy to build web applications with Java & Scala. Play is based on a lightweight, stateless, web-friendly architecture. Built on Akka, Play provides predictable and minimal resource consumption (CPU, memory, threads) for highly-scalable applications.
Get Advice Icon

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

Why do developers choose Django?
Why do developers choose Grails?
Why do developers choose Play?

Sign up to add, upvote and see more prosMake informed product decisions

    Be the first to leave a con

    Sign up to add, upvote and see more consMake informed product decisions

    What companies use Django?
    What companies use Grails?
    What companies use Play?

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

    What tools integrate with Django?
    What tools integrate with Grails?
    What tools integrate with Play?

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

    What are some alternatives to Django, Grails, and Play?
    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
    Decisions about Django, Grails, and Play
    Node.js
    Node.js
    Python
    Python
    MySQL
    MySQL
    Memcached
    Memcached
    nginx
    nginx
    RabbitMQ
    RabbitMQ
    Redis
    Redis
    Django
    Django
    Tornado
    Tornado
    Varnish
    Varnish
    HAProxy
    HAProxy

    Around the time of their Series A, Pinterest’s stack included Python and Django, with Tornado and Node.js as web servers. Memcached / Membase and Redis handled caching, with RabbitMQ handling queueing. Nginx, HAproxy and Varnish managed static-delivery and load-balancing, with persistent data storage handled by MySQL.

    See more
    Node.js
    Node.js
    Python
    Python
    React
    React
    Django
    Django

    In late 2015, following the Series G, Pinterest began migrating their web experience to React, primarily because they “found React rendered faster than our previous template engine, had fewer obstacles to iterating on features and had a large developer community.”

    The legacy setup consistent of Django, Python and Jinja on the backend, with Nunjucks handling template rendering on the client side. They wanted to move to React for handling template rendering across the board, but if they “switched the client-side rendering engine from Nunjucks to React, [they’d] also have to switch [their] server-side rendering, so they could share the same template syntax.”

    They decided on an iterative approach that consolidated a single template rendering engine between client and server, since “If the server could interpret JavaScript, and use Nunjucks to render templates and share our client-side code, we could then move forward with an iterative migration to React.” The team decided to stand up a Node process, behind Nginx, and interpret JavaScript server-side.

    Now, when a user agent makes a request, a latent module render requests that it needs data via an API call. Concurrently, a separate network call is made “to a co-located Node process to render the template as far as it can go with the data that it has.”

    Node then responds with rendered templates, and along with a “holes” array to indicate what data was still needed to complete the render. Finally, the Python webapp makes an API call to fetch the remaining data, and each module is sent back to Node as completely independent module requests/in parallel/.

    With this framework in place, Pinterest developers are in the process of replacing Nunjucks code with React components throughout the codebase.

    See more
    Zarema Khalilova
    Zarema Khalilova
    Frontend Team Lead at Uploadcare · | 8 upvotes · 64.8K views
    atUploadcareUploadcare
    Django
    Django
    Node.js
    Node.js
    React
    React
    Gatsby
    Gatsby
    Netlify
    Netlify
    #Frontend
    #StaticSiteGenerators
    #StaticWebHosting

    Since 2011 our frontend was in Django monolith. However, in 2016 we decide to separate #Frontend from Django for independent development and created the custom isomorphic app based on Node.js and React. Now we realized that not need all abilities of the server, and it is sufficient to generate a static site. Gatsby is suitable for our purposes. We can generate HTML from markdown and React views very simply. So, we are updating our frontend to Gatsby now, and maybe we will use Netlify for deployment soon. This will speed up the delivery of new features to production.

    #StaticSiteGenerators #StaticWebHosting

    See more
    Tim Abbott
    Tim Abbott
    Founder at Zulip · | 9 upvotes · 101.6K views
    atZulipZulip
    Django
    Django
    Django REST framework
    Django REST framework

    Zulip has been powered by Django since the very early days of its development with Django 1.4, back in 2012. As a reasonably mature web application with significant scale, we're at the stage in many companies' development where one starts to rip out more and more of the web framework to optimize things or just make them work the way we want. (E.g. while I was at Dropbox in early 2016, we discovered we only had about 600 lines of code left from the original Pylons framework that actually ran).

    One of the things that has been really fantastic about Django is that we're still happily using it for the vast majority of code in the project, and every time Django comes out with a new release, I read the changelog and get excited about several improvements that actually make my life better. While Django has made some design decisions that I don't agree with (e.g. I'm not a fan of Django REST framework, and think it makes life more difficult), Django also makes it easy to do your own thing, which we've done to great effect (see the linked article for details on our has_request_variables framework).

    Overall I think we've gotten a ton of value out of Python and Django and would recommend it to anyone starting a new full-featured web application project today.

    See more
    Alex A
    Alex A
    Founder at PRIZ Guru · | 3 upvotes · 126.1K views
    atPRIZ GuruPRIZ Guru
    Grails
    Grails
    Play
    Play
    Scala
    Scala
    Groovy
    Groovy
    Gradle
    Gradle

    Some may wonder why did we choose Grails ? Really good question :) We spent quite some time to evaluate what framework to go with and the battle was between Play Scala and Grails ( Groovy ). We have enough experience with both and, to be honest, I absolutely in love with Scala; however, the tipping point for us was the potential speed of development. Grails allows much faster development pace than Play , and as of right now this is the most important parameter. We might convert later though. Also, worth mentioning, by default Grails comes with Gradle as a build tool, so why change?

    See more
    Node.js
    Node.js
    JavaScript
    JavaScript
    Django
    Django
    Python
    Python

    Django or NodeJS? Hi, I’m thinking about which software I should use for my web-app. What about Node.js or Django for the back-end? I want to create an online preparation course for the final school exams in my country. At the beginning for maths. The course should contain tutorials and a lot of exercises of different types. E.g. multiple choice, user text/number input and drawing tasks. The exercises should change (different levels) with the learning progress. Wrong questions should asked again with different numbers. I also want a score system and statistics. So far, I have got only limited web development skills. (some HTML, CSS, Bootstrap and Wordpress). I don’t know JavaScript or Python.

    Possible pros for Python / Django: - easy syntax, easier to learn for me as a beginner - fast development, earlier release - libraries for mathematical and scientific computation

    Possible pros for JavaScript / Node.js: - great performance, better choice for real time applications: user should get the answer for a question quickly

    Which software would you use in my case? Are my arguments for Python/NodeJS right? Which kind of database would you use?

    Thank you for your answer!

    Node.js JavaScript Django Python

    See more
    Benjamin Bernard-Bouissières
    Benjamin Bernard-Bouissières
    Web Developer at ipexia · | 11 upvotes · 127.4K views
    atipexiaipexia
    Namecheap
    Namecheap
    Django
    Django
    Python
    Python
    Symfony
    Symfony
    PythonAnywhere
    PythonAnywhere

    I really love Django because it is really fast to create a web application from scratch and it has a lot a facilities like the ORM or the Admin module ! The Python language is really easy to read and powerful, that's why I prefer Django over Symfony.

    I use Django at work to make tools for the technicians but I also use it for me to build my personal website which I host on PythonAnywhere, and with a domain name bought on Namecheap.

    See more
    Michael Mota
    Michael Mota
    CEO & Founder at AlterEstate · | 4 upvotes · 2.7K views
    Django
    Django
    GraphQL
    GraphQL
    Graphene
    Graphene
    Next.js
    Next.js

    I've been using Django for quite a long time and in my opinion I would never switch from it. My company is currently using Django with REST framework and a part in GraphQL using Graphene. On the frontend we use Next.js and so far everything has been running quite good. I've found limitations but manage to solve it.

    As someone mentioned before, if you are comfortable with Django, don't switch. There's no need since with django you can basically achieve anything. Of course this will depend on the project you want to build, but the scalability and flexibility django can offer it's just out of this world. (Don't want to sound like a fan boy haha but it really is).

    See more
    Interest over time
    Reviews of Django, Grails, and Play
    No reviews found
    How developers use Django, Grails, and Play
    Avatar of datapile
    datapile uses PlayPlay

    Play is a central framework/component/library (not sure what to call things these days) in Scala. We <3 Scala, and therefore we <3 Play.

    Play is on of several frameworks we are prototyping and vetting for various public-facing websites, and may ultimately be the framework behind the main datapile.io website.

    Avatar of MOKA Analytics
    MOKA Analytics uses DjangoDjango

    Django takes the hassle out of building an enterprise web application using Python.

    • admin app for administration
    • ORM for deploying against different database vendors
    • social auth package for authentication with enterprise IdP
    • guardian package for authorization
    Avatar of Yaakov Gesher
    Yaakov Gesher uses DjangoDjango

    Our backend was written in Django. We took advantage of the ready-to-go admin interface as a go-to solution for the client to be able to authorize his users, as well as other functionality, while most of the work was done through the Django Rest Framework.

    Avatar of Blair Gemmer
    Blair Gemmer uses DjangoDjango

    Hands down the best Python web framework I've used. Very easy to extend and add apps and go from 0 to full project quickly and painlessly. I built a fully authenticated project with a single endpoint in less than 30 minutes.

    Avatar of Kang Hyeon Ku
    Kang Hyeon Ku uses DjangoDjango

    정말 편리하고 많은것을 알아서 제공해 주는 프레임워크 이다. 책의 예제만 진행해서 많이 써보지는 못했지만, 쉽게 쉽게 웹을 개발 할 수 있는 점이 매력적 이다. 게다가 orm 이 기본으로 내장 되어 있고 db 도 sqlite 가 기본으로 되어있어. 그냥 django 만 설치하면 바로 웹개발이 가능하다.

    Avatar of Seungkwon Park
    Seungkwon Park uses DjangoDjango

    django는 저의 무기입니다.

    django 이외에 flask로 간단한 restful api를 만들면서 느낀점은 framework 보다 언어가 중요하다는것을 알았고 django가 얼마나 큰 framework인지 알게되었습니다.

    저는 signal 사용을 좋아합니다.

    Avatar of Stanislaus Madueke
    Stanislaus Madueke uses PlayPlay

    I used Play to build a configuration UI for the service, which let you create and manage the menus (a hierarchical tree of options and actions).

    Avatar of AfricanStockPhoto
    AfricanStockPhoto uses GrailsGrails

    All the power of the JVM, with the ease-of-use of a modern web framework.

    Avatar of Ascendify
    Ascendify uses PlayPlay

    Moving some micro services to Play Framework with Scala

    Avatar of papaver
    papaver uses PlayPlay

    used play at talenthouse. uber powerful backend.

    Avatar of Endource
    Endource uses GrailsGrails

    Core component of our bespoke CMS

    Avatar of Jovi Kao
    Jovi Kao uses PlayPlay

    API server framework

    How much does Django cost?
    How much does Grails cost?
    How much does Play cost?
    Pricing unavailable
    Pricing unavailable
    Pricing unavailable
    News about Grails
    More news
    News about Play
    More news