Alternatives to Django REST framework logo

Alternatives to Django REST framework

Django, Flask, Tastypie, Swagger UI, and Graphene are the most popular alternatives and competitors to Django REST framework.
1.9K
2K
+ 1
310

What is Django REST framework and what are its top alternatives?

It is a powerful and flexible toolkit that makes it easy to build Web APIs.
Django REST framework is a tool in the Microframeworks (Backend) category of a tech stack.
Django REST framework is an open source tool with GitHub stars and GitHub forks. Here’s a link to Django REST framework's open source repository on GitHub

Top Alternatives to Django REST framework

  • Django
    Django

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

  • Flask
    Flask

    Flask is intended for getting started very quickly and was developed with best intentions in mind. ...

  • Tastypie
    Tastypie

    Tastypie is a webservice API framework for Django. It provides a convenient, yet powerful and highly customizable abstraction for creating REST-style interfaces. ...

  • Swagger UI
    Swagger UI

    Swagger UI is a dependency-free collection of HTML, Javascript, and CSS assets that dynamically generate beautiful documentation and sandbox from a Swagger-compliant API ...

  • Graphene
    Graphene

    Graphene is a Python library for building GraphQL schemas/types fast and easily. ...

  • Spring Boot
    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. ...

  • Laravel
    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. ...

  • Firebase
    Firebase

    Firebase is a cloud service designed to power real-time, collaborative applications. Simply add the Firebase library to your application to gain access to a shared data structure; any changes you make to that data are automatically synchronized with the Firebase cloud and with other clients within milliseconds. ...

Django REST framework alternatives & related posts

Django logo

Django

36.9K
33.4K
4.2K
The Web framework for perfectionists with deadlines
36.9K
33.4K
+ 1
4.2K
PROS OF DJANGO
  • 670
    Rapid development
  • 487
    Open source
  • 424
    Great community
  • 379
    Easy to learn
  • 276
    Mvc
  • 232
    Beautiful code
  • 223
    Elegant
  • 206
    Free
  • 203
    Great packages
  • 194
    Great libraries
  • 79
    Comes with auth and crud admin panel
  • 79
    Restful
  • 78
    Powerful
  • 75
    Great documentation
  • 71
    Great for web
  • 57
    Python
  • 43
    Great orm
  • 41
    Great for api
  • 32
    All included
  • 29
    Fast
  • 25
    Web Apps
  • 23
    Easy setup
  • 23
    Clean
  • 21
    Used by top startups
  • 19
    Sexy
  • 19
    ORM
  • 15
    The Django community
  • 14
    Allows for very rapid development with great libraries
  • 14
    Convention over configuration
  • 11
    King of backend world
  • 10
    Full stack
  • 10
    Great MVC and templating engine
  • 8
    Fast prototyping
  • 8
    Mvt
  • 7
    Easy to develop end to end AI Models
  • 7
    Batteries included
  • 7
    Its elegant and practical
  • 6
    Have not found anything that it can't do
  • 6
    Very quick to get something up and running
  • 6
    Cross-Platform
  • 5
    Easy Structure , useful inbuilt library
  • 5
    Great peformance
  • 5
    Zero code burden to change databases
  • 5
    Python community
  • 4
    Map
  • 4
    Just the right level of abstraction
  • 4
    Easy to change database manager
  • 4
    Modular
  • 4
    Many libraries
  • 4
    Easy to use
  • 4
    Easy
  • 4
    Full-Text Search
  • 3
    Scaffold
  • 1
    Fastapi
  • 1
    Built in common security
  • 1
    Scalable
  • 1
    Great default admin panel
  • 1
    Node js
  • 1
    Gigante ta
  • 0
    Rails
CONS OF DJANGO
  • 26
    Underpowered templating
  • 22
    Autoreload restarts whole server
  • 22
    Underpowered ORM
  • 15
    URL dispatcher ignores HTTP method
  • 10
    Internal subcomponents coupling
  • 8
    Not nodejs
  • 8
    Configuration hell
  • 7
    Admin
  • 5
    Not as clean and nice documentation like Laravel
  • 4
    Python
  • 3
    Not typed
  • 3
    Bloated admin panel included
  • 2
    Overwhelming folder structure
  • 2
    InEffective Multithreading
  • 1
    Not type safe

related Django posts

Dmitry Mukhin
Engineer at Uploadcare · | 25 upvotes · 2.4M views

Simple controls over complex technologies, as we put it, wouldn't be possible without neat UIs for our user areas including start page, dashboard, settings, and docs.

Initially, there was Django. Back in 2011, considering our Python-centric approach, that was the best choice. Later, we realized we needed to iterate on our website more quickly. And this led us to detaching Django from our front end. That was when we decided to build an SPA.

For building user interfaces, we're currently using React as it provided the fastest rendering back when we were building our toolkit. It’s worth mentioning Uploadcare is not a front-end-focused SPA: we aren’t running at high levels of complexity. If it were, we’d go with Ember.js.

However, there's a chance we will shift to the faster Preact, with its motto of using as little code as possible, and because it makes more use of browser APIs. One of our future tasks for our front end is to configure our Webpack bundler to split up the code for different site sections. For styles, we use PostCSS along with its plugins such as cssnano which minifies all the code.

All that allows us to provide a great user experience and quickly implement changes where they are needed with as little code as possible.

See more

Hey, so I developed a basic application with Python. But to use it, you need a python interpreter. I want to add a GUI to make it more appealing. What should I choose to develop a GUI? I have very basic skills in front end development (CSS, JavaScript). I am fluent in python. I'm looking for a tool that is easy to use and doesn't require too much code knowledge. I have recently tried out Flask, but it is kinda complicated. Should I stick with it, move to Django, or is there another nice framework to use?

See more
Flask logo

Flask

18.7K
15.8K
82
A microframework for Python based on Werkzeug, Jinja 2 and good intentions
18.7K
15.8K
+ 1
82
PROS OF FLASK
  • 14
    Flexibilty
  • 10
    For it flexibility
  • 9
    Flexibilty and easy to use
  • 8
    Flask
  • 7
    User friendly
  • 6
    Secured
  • 5
    Unopinionated
  • 3
    Orm
  • 2
    Secure
  • 1
    Beautiful code
  • 1
    Easy to get started
  • 1
    Easy to develop and maintain applications
  • 1
    Not JS
  • 1
    Easy to use
  • 1
    Documentation
  • 1
    Python
  • 1
    Minimal
  • 1
    Lightweight
  • 1
    Easy to setup and get it going
  • 1
    Perfect for small to large projects with superb docs.
  • 1
    Easy to integrate
  • 1
    Speed
  • 1
    Get started quickly
  • 1
    Customizable
  • 1
    Simple to use
  • 1
    Powerful
  • 1
    Rapid development
  • 0
    Open source
  • 0
    Well designed
  • 0
    Productive
  • 0
    Awesome
  • 0
    Expressive
  • 0
    Love it
CONS OF FLASK
  • 10
    Not JS
  • 7
    Context
  • 5
    Not fast
  • 1
    Don't has many module as in spring

related Flask posts

James Man
Software Engineer at Pinterest · | 45 upvotes · 2.8M views
Shared insights
on
FlaskFlaskReactReact
at

One of our top priorities at Pinterest is fostering a safe and trustworthy experience for all Pinners. As Pinterest’s user base and ads business grow, the review volume has been increasing exponentially, and more content types require moderation support. To solve greater engineering and operational challenges at scale, we needed a highly-reliable and performant system to detect, report, evaluate, and act on abusive content and users and so we created Pinqueue.

Pinqueue-3.0 serves as a generic platform for content moderation and human labeling. Under the hood, Pinqueue3.0 is a Flask + React app powered by Pinterest’s very own Gestalt UI framework. On the backend, Pinqueue3.0 heavily relies on PinLater, a Pinterest-built reliable asynchronous job execution system, to handle the requests for enqueueing and action-taking. Using PinLater has significantly strengthened Pinqueue3.0’s overall infra with its capability of processing a massive load of events with configurable retry policies.

Hundreds of millions of people around the world use Pinterest to discover and do what they love, and our job is to protect them from abusive and harmful content. We’re committed to providing an inspirational yet safe experience to all Pinners. Solving trust & safety problems is a joint effort requiring expertise across multiple domains. Pinqueue3.0 not only plays a critical role in responsively taking down unsafe content, it also has become an enabler for future ML/automation initiatives by providing high-quality human labels. Going forward, we will continue to improve the review experience, measure review quality and collaborate with our machine learning teams to solve content moderation beyond manual reviews at an even larger scale.

See more

Hey, so I developed a basic application with Python. But to use it, you need a python interpreter. I want to add a GUI to make it more appealing. What should I choose to develop a GUI? I have very basic skills in front end development (CSS, JavaScript). I am fluent in python. I'm looking for a tool that is easy to use and doesn't require too much code knowledge. I have recently tried out Flask, but it is kinda complicated. Should I stick with it, move to Django, or is there another nice framework to use?

See more
Tastypie logo

Tastypie

38
54
4
Creating delicious APIs for Django apps since 2010.
38
54
+ 1
4
PROS OF TASTYPIE
  • 2
    Good in Django
  • 1
    Fast development
  • 1
    Customizable
CONS OF TASTYPIE
    Be the first to leave a con

    related Tastypie posts

    Swagger UI logo

    Swagger UI

    2K
    1.8K
    207
    A Collection of HTML, Javascript, and CSS assets that dynamically generate beautiful documentation
    2K
    1.8K
    + 1
    207
    PROS OF SWAGGER UI
    • 49
      Open Source
    • 34
      Can execute api calls from the documentation
    • 29
      Free to use
    • 19
      Customizable
    • 14
      Easy to implement in .Net
    • 13
      Mature, clean spec
    • 12
      API Visualization
    • 9
      Coverage
    • 6
      Scaffolding
    • 6
      Easy to use
    • 5
      Vibrant and active community
    • 4
      Elegant
    • 3
      Adopted by tm forum api
    • 2
      Clear for React
    • 1
      Api
    • 1
      Can deploy API to AWS API Gateway and AWS Lambda
    CONS OF SWAGGER UI
    • 3
      Need to learn YAML and RAML
    • 2
      Documentation doesn't look that good
    • 1
      Doesn't generate code snippets in different languages
    • 1
      You don’t actually get in-line error highlighting
    • 1
      Does not support hypermedia

    related Swagger UI posts

    Noah Zoschke
    Engineering Manager at Segment · | 30 upvotes · 2.7M views

    We just launched the Segment Config API (try it out for yourself here) — a set of public REST APIs that enable you to manage your Segment configuration. A public API is only as good as its #documentation. For the API reference doc we are using Postman.

    Postman is an “API development environment”. You download the desktop app, and build API requests by URL and payload. Over time you can build up a set of requests and organize them into a “Postman Collection”. You can generalize a collection with “collection variables”. This allows you to parameterize things like username, password and workspace_name so a user can fill their own values in before making an API call. This makes it possible to use Postman for one-off API tasks instead of writing code.

    Then you can add Markdown content to the entire collection, a folder of related methods, and/or every API method to explain how the APIs work. You can publish a collection and easily share it with a URL.

    This turns Postman from a personal #API utility to full-blown public interactive API documentation. The result is a great looking web page with all the API calls, docs and sample requests and responses in one place. Check out the results here.

    Postman’s powers don’t end here. You can automate Postman with “test scripts” and have it periodically run a collection scripts as “monitors”. We now have #QA around all the APIs in public docs to make sure they are always correct

    Along the way we tried other techniques for documenting APIs like ReadMe.io or Swagger UI. These required a lot of effort to customize.

    Writing and maintaining a Postman collection takes some work, but the resulting documentation site, interactivity and API testing tools are well worth it.

    See more
    Simon Reymann
    Senior Fullstack Developer at QUANTUSflow Software GmbH · | 27 upvotes · 4.8M views

    Our whole Node.js backend stack consists of the following tools:

    • Lerna as a tool for multi package and multi repository management
    • npm as package manager
    • NestJS as Node.js framework
    • TypeScript as programming language
    • ExpressJS as web server
    • Swagger UI for visualizing and interacting with the API’s resources
    • Postman as a tool for API development
    • TypeORM as object relational mapping layer
    • JSON Web Token for access token management

    The main reason we have chosen Node.js over PHP is related to the following artifacts:

    • Made for the web and widely in use: Node.js is a software platform for developing server-side network services. Well-known projects that rely on Node.js include the blogging software Ghost, the project management tool Trello and the operating system WebOS. Node.js requires the JavaScript runtime environment V8, which was specially developed by Google for the popular Chrome browser. This guarantees a very resource-saving architecture, which qualifies Node.js especially for the operation of a web server. Ryan Dahl, the developer of Node.js, released the first stable version on May 27, 2009. He developed Node.js out of dissatisfaction with the possibilities that JavaScript offered at the time. The basic functionality of Node.js has been mapped with JavaScript since the first version, which can be expanded with a large number of different modules. The current package managers (npm or Yarn) for Node.js know more than 1,000,000 of these modules.
    • Fast server-side solutions: Node.js adopts the JavaScript "event-loop" to create non-blocking I/O applications that conveniently serve simultaneous events. With the standard available asynchronous processing within JavaScript/TypeScript, highly scalable, server-side solutions can be realized. The efficient use of the CPU and the RAM is maximized and more simultaneous requests can be processed than with conventional multi-thread servers.
    • A language along the entire stack: Widely used frameworks such as React or AngularJS or Vue.js, which we prefer, are written in JavaScript/TypeScript. If Node.js is now used on the server side, you can use all the advantages of a uniform script language throughout the entire application development. The same language in the back- and frontend simplifies the maintenance of the application and also the coordination within the development team.
    • Flexibility: Node.js sets very few strict dependencies, rules and guidelines and thus grants a high degree of flexibility in application development. There are no strict conventions so that the appropriate architecture, design structures, modules and features can be freely selected for the development.
    See more
    Graphene logo

    Graphene

    100
    142
    0
    GraphQL framework for Python
    100
    142
    + 1
    0
    PROS OF GRAPHENE
    • 0
      Will replace RESTful interfaces
    • 0
      The future of API's
    CONS OF GRAPHENE
      Be the first to leave a con

      related Graphene posts

      Malthe Jørgensen

      We recently switched from MongoDB and the Python library MongoEngine to PostgreSQL and Django in order to:

      • Better leverage GraphQL (using the Graphene library)
      • Allow us to use the autogenerated Django admin interface
      • Allow better performance due to the way some of our pages present data
      • Give us more a mature stack in the form of Django replacing MongoEngine, which we had some issues with in the past.

      MongoDB was hosted on mlab, and we now host Postgres on Amazon RDS .

      See more
      Michael Mota
      Founder at AlterEstate · | 6 upvotes · 184.7K views

      We recently implemented GraphQL because we needed to build dynamic reports based on the user preference and configuration, this was extremely complicated with our actual RESTful API, the code started to get harder to maintain but switching to GraphQL helped us to to build beautiful reports for our clients that truly help them make data-driven decisions.

      Our goal is to implemented GraphQL in the whole platform eventually, we are using Graphene , a python library for Django .

      See more
      Spring Boot logo

      Spring Boot

      25.4K
      23.1K
      1K
      Create Spring-powered, production-grade applications and services with absolute minimum fuss
      25.4K
      23.1K
      + 1
      1K
      PROS OF SPRING BOOT
      • 149
        Powerful and handy
      • 134
        Easy setup
      • 128
        Java
      • 90
        Spring
      • 85
        Fast
      • 46
        Extensible
      • 37
        Lots of "off the shelf" functionalities
      • 32
        Cloud Solid
      • 26
        Caches well
      • 24
        Productive
      • 24
        Many receipes around for obscure features
      • 23
        Modular
      • 23
        Integrations with most other Java frameworks
      • 22
        Spring ecosystem is great
      • 21
        Auto-configuration
      • 21
        Fast Performance With Microservices
      • 18
        Community
      • 17
        Easy setup, Community Support, Solid for ERP apps
      • 15
        One-stop shop
      • 14
        Easy to parallelize
      • 14
        Cross-platform
      • 13
        Easy setup, good for build erp systems, well documented
      • 13
        Powerful 3rd party libraries and frameworks
      • 12
        Easy setup, Git Integration
      • 5
        It's so easier to start a project on spring
      • 4
        Kotlin
      • 1
        Microservice and Reactive Programming
      • 1
        The ability to integrate with the open source ecosystem
      CONS OF SPRING BOOT
      • 23
        Heavy weight
      • 18
        Annotation ceremony
      • 13
        Java
      • 11
        Many config files needed
      • 5
        Reactive
      • 4
        Excellent tools for cloud hosting, since 5.x
      • 1
        Java 😒😒

      related Spring Boot posts

      Praveen Mooli
      Engineering Manager at Taylor and Francis · | 18 upvotes · 3.8M views

      We are in the process of building a modern content platform to deliver our content through various channels. We decided to go with Microservices architecture as we wanted scale. Microservice architecture style is an approach to developing an application as a suite of small independently deployable services built around specific business capabilities. You can gain modularity, extensive parallelism and cost-effective scaling by deploying services across many distributed servers. Microservices modularity facilitates independent updates/deployments, and helps to avoid single point of failure, which can help prevent large-scale outages. We also decided to use Event Driven Architecture pattern which is a popular distributed asynchronous architecture pattern used to produce highly scalable applications. The event-driven architecture is made up of highly decoupled, single-purpose event processing components that asynchronously receive and process events.

      To build our #Backend capabilities we decided to use the following: 1. #Microservices - Java with Spring Boot , Node.js with ExpressJS and Python with Flask 2. #Eventsourcingframework - Amazon Kinesis , Amazon Kinesis Firehose , Amazon SNS , Amazon SQS, AWS Lambda 3. #Data - Amazon RDS , Amazon DynamoDB , Amazon S3 , MongoDB Atlas

      To build #Webapps we decided to use Angular 2 with RxJS

      #Devops - GitHub , Travis CI , Terraform , Docker , Serverless

      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
      Laravel logo

      Laravel

      27.5K
      22.9K
      3.9K
      A PHP Framework For Web Artisans
      27.5K
      22.9K
      + 1
      3.9K
      PROS OF LARAVEL
      • 553
        Clean architecture
      • 392
        Growing community
      • 370
        Composer friendly
      • 344
        Open source
      • 324
        The only framework to consider for php
      • 220
        Mvc
      • 210
        Quickly develop
      • 168
        Dependency injection
      • 156
        Application architecture
      • 143
        Embraces good community packages
      • 73
        Write less, do more
      • 71
        Orm (eloquent)
      • 66
        Restful routing
      • 57
        Database migrations & seeds
      • 55
        Artisan scaffolding and migrations
      • 41
        Great documentation
      • 40
        Awesome
      • 30
        Awsome, Powerfull, Fast and Rapid
      • 29
        Build Apps faster, easier and better
      • 28
        Eloquent ORM
      • 26
        Promotes elegant coding
      • 26
        Modern PHP
      • 26
        JSON friendly
      • 25
        Most easy for me
      • 24
        Easy to learn, scalability
      • 23
        Beautiful
      • 22
        Blade Template
      • 21
        Test-Driven
      • 15
        Security
      • 15
        Based on SOLID
      • 13
        Clean Documentation
      • 13
        Easy to attach Middleware
      • 13
        Cool
      • 12
        Simple
      • 12
        Convention over Configuration
      • 11
        Easy Request Validatin
      • 10
        Simpler
      • 10
        Fast
      • 10
        Easy to use
      • 9
        Get going quickly straight out of the box. BYOKDM
      • 9
        Its just wow
      • 8
        Laravel + Cassandra = Killer Framework
      • 8
        Simplistic , easy and faster
      • 8
        Friendly API
      • 7
        Less dependencies
      • 7
        Super easy and powerful
      • 6
        Great customer support
      • 6
        Its beautiful to code in
      • 5
        Speed
      • 5
        Eloquent
      • 5
        Composer
      • 5
        Minimum system requirements
      • 5
        Laravel Mix
      • 5
        Easy
      • 5
        The only "cons" is wrong! No static method just Facades
      • 5
        Fast and Clarify framework
      • 5
        Active Record
      • 5
        Php7
      • 4
        Ease of use
      • 4
        Laragon
      • 4
        Laravel casher
      • 4
        Easy views handling and great ORM
      • 4
        Laravel Forge and Envoy
      • 4
        Cashier with Braintree and Stripe
      • 3
        Laravel Passport
      • 3
        Laravel Spark
      • 3
        Intuitive usage
      • 3
        Laravel Horizon and Telescope
      • 3
        Laravel Nova
      • 3
        Rapid development
      • 2
        Laravel Vite
      • 2
        Scout
      • 2
        Deployment
      • 1
        Succint sintax
      CONS OF LARAVEL
      • 53
        PHP
      • 33
        Too many dependency
      • 23
        Slower than the other two
      • 17
        A lot of static method calls for convenience
      • 15
        Too many include
      • 13
        Heavy
      • 9
        Bloated
      • 8
        Laravel
      • 7
        Confusing
      • 5
        Too underrated
      • 4
        Not fast with MongoDB
      • 1
        Not using SOLID principles
      • 1
        Slow and too much big
      • 1
        Difficult to learn

      related Laravel posts

      I need to build a web application plus android and IOS apps for an enterprise, like an e-commerce portal. It will have intensive use of MySQL to display thousands (40-50k) of live product information in an interactive table (searchable, filterable), live delivery tracking. It has to be secure, as it will handle information on customers, sales, inventory. Here is the technology stack: Backend: Laravel 7 Frondend: Vue.js, React or AngularJS?

      Need help deciding technology stack. Thanks.

      See more
      David Watson
      at Realtime App Solutions · | 15 upvotes · 98.3K views

      Coming from a non-web development environment background, I was a bit lost a first and bewildered by all the varying tools and platforms, and spent much too long evaluating before eventualy deciding on Laravel as the main core of my development.

      But as I started development with Laravel that lead me into discovering Vue.js for creating beautiful front-end components that were easy to configure and extend, so I decided to standardise on Vue.js for most of my front-end development.

      During my search for additional Vue.js components, a chance comment in a @laravel forum , led me to discover Quasar Framework initially for it's wide range of in-built components ... but once, I realised that Quasar Framework allowed me to use the same codebase to create apps for SPA, PWA, iOS, Android, and Electron then I was hooked.

      So, I'm now using mainly just Quasar Framework for all the front-end, with Laravel providing a backend API service to the Front-end apps.

      I'm deploying this all to DigitalOcean droplets via service called Moss.sh which deploys my private GitHub repositories directly to DigitalOcean in realtime.

      See more
      Firebase logo

      Firebase

      40.2K
      34.5K
      2K
      The Realtime App Platform
      40.2K
      34.5K
      + 1
      2K
      PROS OF FIREBASE
      • 371
        Realtime backend made easy
      • 270
        Fast and responsive
      • 242
        Easy setup
      • 215
        Real-time
      • 191
        JSON
      • 134
        Free
      • 128
        Backed by google
      • 83
        Angular adaptor
      • 68
        Reliable
      • 36
        Great customer support
      • 32
        Great documentation
      • 25
        Real-time synchronization
      • 21
        Mobile friendly
      • 18
        Rapid prototyping
      • 14
        Great security
      • 12
        Automatic scaling
      • 11
        Freakingly awesome
      • 8
        Chat
      • 8
        Angularfire is an amazing addition!
      • 8
        Super fast development
      • 6
        Built in user auth/oauth
      • 6
        Firebase hosting
      • 6
        Ios adaptor
      • 6
        Awesome next-gen backend
      • 4
        Speed of light
      • 4
        Very easy to use
      • 3
        Great
      • 3
        It's made development super fast
      • 3
        Brilliant for startups
      • 2
        Free hosting
      • 2
        Cloud functions
      • 2
        JS Offline and Sync suport
      • 2
        Low battery consumption
      • 2
        .net
      • 2
        The concurrent updates create a great experience
      • 2
        Push notification
      • 2
        I can quickly create static web apps with no backend
      • 2
        Great all-round functionality
      • 2
        Free authentication solution
      • 1
        Easy Reactjs integration
      • 1
        Google's support
      • 1
        Free SSL
      • 1
        CDN & cache out of the box
      • 1
        Easy to use
      • 1
        Large
      • 1
        Faster workflow
      • 1
        Serverless
      • 1
        Good Free Limits
      • 1
        Simple and easy
      CONS OF FIREBASE
      • 31
        Can become expensive
      • 16
        No open source, you depend on external company
      • 15
        Scalability is not infinite
      • 9
        Not Flexible Enough
      • 7
        Cant filter queries
      • 3
        Very unstable server
      • 3
        No Relational Data
      • 2
        Too many errors
      • 2
        No offline sync

      related Firebase posts

      Johnny Bell

      I was building a personal project that I needed to store items in a real time database. I am more comfortable with my Frontend skills than my backend so I didn't want to spend time building out anything in Ruby or Go.

      I stumbled on Firebase by #Google, and it was really all I needed. It had realtime data, an area for storing file uploads and best of all for the amount of data I needed it was free!

      I built out my application using tools I was familiar with, React for the framework, Redux.js to manage my state across components, and styled-components for the styling.

      Now as this was a project I was just working on in my free time for fun I didn't really want to pay for hosting. I did some research and I found Netlify. I had actually seen them at #ReactRally the year before and deployed a Gatsby site to Netlify already.

      Netlify was very easy to setup and link to my GitHub account you select a repo and pretty much with very little configuration you have a live site that will deploy every time you push to master.

      With the selection of these tools I was able to build out my application, connect it to a realtime database, and deploy to a live environment all with $0 spent.

      If you're looking to build out a small app I suggest giving these tools a go as you can get your idea out into the real world for absolutely no cost.

      See more
      Collins Ogbuzuru
      Front-end dev at Evolve credit · | 15 upvotes · 9.3K views

      Your tech stack is solid for building a real-time messaging project.

      React and React Native are excellent choices for the frontend, especially if you want to have both web and mobile versions of your application share code.

      ExpressJS is an unopinionated framework that affords you the flexibility to use it's features at your term, which is a good start. However, I would recommend you explore Sails.js as well. Sails.js is built on top of Express.js and it provides additional features out of the box, especially the Websocket integration that your project requires.

      Don't forget to set up Graphql codegen, this would improve your dev experience (Add Typescript, if you can too).

      I don't know much about databases but you might want to consider using NO-SQL. I used Firebase real-time db and aws dynamo db on a few of my personal projects and I love they're easy to work with and offer more flexibility for a chat application.

      See more