What is FastAPI and what are its top alternatives?
Top Alternatives to FastAPI
Express is a minimal and flexible node.js web application framework, providing a robust set of features for building single and multi-page, and hybrid web applications. ...
Flask is intended for getting started very quickly and was developed with best intentions in mind. ...
Django REST framework
It is a powerful and flexible toolkit that makes it easy to build Web APIs.
Sinatra is a DSL for quickly creating web applications in Ruby with minimal effort. ...
Koa aims to be a smaller, more expressive, and more robust foundation for web applications and APIs. Through leveraging generators Koa allows you to ditch callbacks and greatly increase error-handling. Koa does not bundle any middleware. ...
hapi is a simple to use configuration-centric framework with built-in support for input validation, caching, authentication, and other essential facilities for building web applications and services. ...
Laravel Lumen is a stunningly fast PHP micro-framework for building web applications with expressive, elegant syntax. We believe development must be an enjoyable, creative experience to be truly fulfilling. Lumen attempts to take the pain out of development by easing common tasks used in the majority of web projects, such as routing, database abstraction, queueing, and caching. ...
Sails is designed to mimic the MVC pattern of frameworks like Ruby on Rails, but with support for the requirements of modern apps: data-driven APIs with scalable, service-oriented architecture. ...
FastAPI alternatives & related posts
- High performance183
- Robust routing147
- Open source66
- Great community52
- Hybrid web applications33
- Well documented8
- Sinatra inspired8
- Isomorphic js.. superfast and easy4
- Rapid development3
- Event loop2
- Socket connection2
- Resource available for learning2
- Light weight2
- Data stream1
- Not python21
- No multithreading14
- Not fast4
- Easily Insecure for Novices2
related ExpressJS posts
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:
- 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.
- Open source140
- Easy to use63
- Easy to setup and get it going52
- Well designed51
- Easy to develop and maintain applications45
- Easy to get started43
- Beautiful code15
- Rapid development14
- Love it10
- Simple to use9
- Easy to integrate8
- Get started quickly8
- For it flexibility8
- Perfect for small to large projects with superb docs.8
- Flexibilty and easy to use7
- Not JS6
- User friendly5
- Not JS10
- Not fast3
related Flask posts
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.
- Browsable api64
- Easy to use63
- Great documentation53
- Fast development41
- Easy to use, customizable, pluggable, serializer9
- Django ORM5
- Less code2
- Easy implementation2
- Bad documentation2
- Reimplements Django functionality2
- No support for URL Namespaces1
- Bad CSRF handling0
related Django REST framework posts
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
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.
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.
- Open source35
- Great ecosystem of tools13
- Ease of use10
- If you know http you know sinatra8
- Large Community5
- Flexibilty and easy to use1
related Sinatra posts
- REST API1
related Koa posts
I think next step could be to use Koa but I am not sure.
- Makes me Hapi making REST APIs25
- Simpler than other REST libraries14
- Quality Driven Ecosystem12
- Easy testability5
- Better validation1
related hapi posts
What is the best way to increase your income as a freelancer in 2019? What frameworks should be the best to learn? React Node.js Docker Kubernetes Sequelize Mongoose MongoDB ExpressJS hapi Based on trends I've picked up a JS full stack. If you need to work under startups you may replace React with Vue.js . If you want to work in outsourcing Angular 2+ may be better.
What is your opinion?
- Open source12
- Restful & fast framework10
- Illuminate support7
- Brother of laravel and fast4
- Easy to learn4
- Not fast3
- Not fast with MongoDB1
related Lumen posts
This is my stack in Application & Data
My Utilities Tools
Google Analytics Postman Elasticsearch
My Devops Tools
Git GitHub GitLab npm Visual Studio Code Kibana Sentry BrowserStack
My Business Tools
I have a final-study project, and I'm responsible for making decisions for what frameworks to use (both front-end and back-end) and the software architecture to adapt.
The project is a web application for a concrete company. The main goal is to calculate what is called OEE (Overall Equipment Effectiveness), meaning simply the efficiency of the machine. The calculation and display of OEE will be in real-time, meaning that this rate will be updated every two minutes, and it will appear in a graph. Also, we have the state of the machines to display whether the machines are working just fine or there is some problem.
This will be done using IoT, meaning that important data will be sent from the machine to the web application that I will create via the API (someone else will be responsible for this matter). Of course, the application will include employees, factories, as well as machines, ... etc.
The most important thing in the application is real-time performance monitoring of machines and the OEE.
A real example of what we want to do => https://evocon.com/
I choose to use Laravel because : - This type of applications could be implemented by Laravel - Me and my colleague have some knowledge and practice with this framework (choosing other technologies like Node.js means a huge learning curve) - Easy documentation and abandon tutorials
The only reason why I choose Vue.js because It goes well with Laravel (from what I have learned).
The second important question, which software architecture should I adapt ? should I use Microservice Architecture or the normal and well-known Monolithic Architecture? I know the benefits and disadvantages of the first and second methods, but I do not want to make a wrong decision.
If I choose microservice for this project, I will use Lumen (PHP Micro-Framework By Laravel).
Should I use micro-frontend as well? Like VuMS, or it's not necessary for this project?
I don't think that the reasons to choose Laravel are enough, so I want to understand the obstacles that I may face during the development.
In the end, I decided to ask and take expert opinions.
NOTE: this web application will be used by other companies, like in the case of evocon.
If there are tips and things that I must know to accomplish this project, please mention them.
Thank you very much.
- Data-driven apis45
- Waterline ORM42
- Easy rest29
- Open source17
- Service-oriented architecture16
- Convension over configuration7
- Rails-like asset pipeline6
- Node machines and machinepacks6
- Easy route/controller generation4
- Ruby on Rails basic stuff for JS devs3
- Waterline ORM3
- Defaults to VueJS2