Chapter 7. Framework Comparisons
You don’t need a framework. You need a painting, not a frame.
Klaus Kinski, actor
Preview
For developers who have used Flask, Django, or popular Python web frameworks, this chapter points out FastAPI’s similarities and differences. It does not go into every excruciating detail, because, otherwise, the binding glue wouldn’t hold this book together. This chapter’s comparisons can be useful if you’re thinking of migrating an application from one of these frameworks to FastAPI or are just curious.
One of the first things you might like to know about a new web framework is how to get started, and a top-down way is by defining routes (mappings from URLs and HTTP methods to functions). The next section compares how to do this with FastAPI and Flask, because they’re more similar to one another than Django and are more likely to be considered together for similar applications.
Flask
Flask calls itself a microframework. It provides the basics, and you download third-party packages to supplement it as needed. It’s smaller than Django, and faster to learn when you’re getting started.
Flask is synchronous, based on WSGI rather than ASGI. A new project called quart is replicating Flask and adding ASGI support.
Let’s start at the top, showing how Flask and FastAPI define web routing.
Path
At the top level, Flask and FastAPI both use a decorator to associate a route with a web endpoint. In Example 7-1, let’s duplicate Example 3-11 (from back in Chapter 3 ...
Get FastAPI now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.