파이썬 프레임워크 - FastAPI, Flask, Django

lionloopy·2024년 11월 28일
0

오늘의 공부

목록 보기
9/22
post-thumbnail

FastAPI

FastAPI는 가장 빠른 파이썬 프레임워크 중 하나로 간주되고,
개발자가 유발하는 버그가 적고 빠르게 개발할 수 있다.
성능이 높기로도 유명하다
OpenAPI, JSON 스키마 등 제공이 있고
비동기를 완벽하게 지원한다.

그러나, 다른 프레임워크에 비해 새로워서 정보가 매우 적다.

Flask

Flask는 웹 개발에 특정 라이브러리나 도구가 필요하지 않은 마이크로 프레임워크이다.
쉽고 빠른 방법으로 경량 애플리케이션을 개발할 수 있다.
단순하고 간단하게 작업할 수 있으며
비교적 쉽게 프로그램을 개발할 수 있다!

그러나 프레임워크 전환은 조금 어려울 수 있고
Django보다 대규모에 적합하지 않다.

Django

Django는 복잡한 데이터베이스 기반의 웹 사이트를 개발하기 위한 목표로 만들어진 python 웹 프레임워크이다.
MVC(모델-뷰-컨트롤러) 아키텍처를 활용하여 데이터 베이스 접근이 용이하고,
ORM, 관계형 데이터베이스, 웹 템플릿 등 여러가지 구성이 있다.
사이트 간 스크립팅, SQL injection등 보안 모듈까지 제공한다!
강력한 API를 제공하고 인증 및 권한 규칙 기능을 제공한다.

그러나 소규모 프로젝트에는 적합하지 않고,
기능이 많다보니 빠른 학습이 어렵다

FastAPI vs Flask vs Django

장점단점활용도
FastAPI비동기 프로그래밍 지원, 실시간 애플리케이션 구축에 적합비교적 커뮤니티나 지원 리소스가 적음데이터 집약적인 애플리케이션을 위한 고성능 API 구축에 적합함
Flask배우고 사용하기 쉬움, 소규모 프로젝트에 적합기본 제공 기능이 다른 프레임워크에 비해 적음개인 웹 사이트, 내부 대시보드와 같은 소규모 프로젝트나 프로토타입 구축하는데 적합
Django인증, 관리자 패널 및 ORM과 같은 많은 기본 기능 제공복잡할 수 있고, 상당한 구성이 필요해서 소규모 프로젝트에는 적합하지 않음콘텐츠 기반 웹사이트, 전자상거래 플랫폼, 소셜 미디어 플랫폼 구축하는데 사용됨
  • 단순하게 API만 제공하며, 비동기 처리를 할 만큼 많은 요청이 없다? -> Flask
  • 실시간 고성능 API를 구축한다? -> FastAPI
  • 복잡하고 대규모 웹 애플리캐이션을 구축한다? -> Django

더 간단하게 결론을 내리면
대규모 프로젝트이면 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

profile
기록은 담백하게, 성장은 빠르게! 🐘

0개의 댓글