FastAPI는 가장 빠른 파이썬 프레임워크 중 하나로 간주되고,
개발자가 유발하는 버그가 적고 빠르게 개발할 수 있다.
성능이 높기로도 유명하다
OpenAPI, JSON 스키마 등 제공이 있고
비동기를 완벽하게 지원한다.
그러나, 다른 프레임워크에 비해 새로워서 정보가 매우 적다.
Flask는 웹 개발에 특정 라이브러리나 도구가 필요하지 않은 마이크로 프레임워크이다.
쉽고 빠른 방법으로 경량 애플리케이션을 개발할 수 있다.
단순하고 간단하게 작업할 수 있으며
비교적 쉽게 프로그램을 개발할 수 있다!
그러나 프레임워크 전환은 조금 어려울 수 있고
Django보다 대규모에 적합하지 않다.
Django는 복잡한 데이터베이스 기반의 웹 사이트를 개발하기 위한 목표로 만들어진 python 웹 프레임워크이다.
MVC(모델-뷰-컨트롤러) 아키텍처를 활용하여 데이터 베이스 접근이 용이하고,
ORM, 관계형 데이터베이스, 웹 템플릿 등 여러가지 구성이 있다.
사이트 간 스크립팅, SQL injection등 보안 모듈까지 제공한다!
강력한 API를 제공하고 인증 및 권한 규칙 기능을 제공한다.
그러나 소규모 프로젝트에는 적합하지 않고,
기능이 많다보니 빠른 학습이 어렵다
| 장점 | 단점 | 활용도 | |
|---|---|---|---|
| FastAPI | 비동기 프로그래밍 지원, 실시간 애플리케이션 구축에 적합 | 비교적 커뮤니티나 지원 리소스가 적음 | 데이터 집약적인 애플리케이션을 위한 고성능 API 구축에 적합함 |
| Flask | 배우고 사용하기 쉬움, 소규모 프로젝트에 적합 | 기본 제공 기능이 다른 프레임워크에 비해 적음 | 개인 웹 사이트, 내부 대시보드와 같은 소규모 프로젝트나 프로토타입 구축하는데 적합 |
| Django | 인증, 관리자 패널 및 ORM과 같은 많은 기본 기능 제공 | 복잡할 수 있고, 상당한 구성이 필요해서 소규모 프로젝트에는 적합하지 않음 | 콘텐츠 기반 웹사이트, 전자상거래 플랫폼, 소셜 미디어 플랫폼 구축하는데 사용됨 |
더 간단하게 결론을 내리면
대규모 프로젝트이면 Django, 아니면 flask, FastAPI로 나뉘는데
대규모 프로젝트더라도 프로젝트 자체가 마이크로 서비스 아키텍처라면 flask를 사용하는 편이다.
https://velog.io/@thdalwh3867/Framework%EB%B9%84%EA%B5%903.-FastApi-vs-Django-vs-Flask
https://ds92.tistory.com/144
https://yscho03.tistory.com/109