본문 바로가기
정리노트

Python 웹 프레임워크 (Django, Flask, FastAPI)

by 쁘니쁘나 2022. 12. 6.

 

웹 애플리케이션을 개발할 때 사용되는 파이썬 프레임워크에는 Django, Flask, FastAPI 가 있다.

 

각 프레임워크 별 장점, 단점 및 활용 사례를 알아보자.

Django

2003년에 개발된 Model-Template-View 패턴으로 웹 사이트 구축에 사용되는 무료 오픈 소스 프레임워크이다.

Instagram, Youtube 등 Tech 대기업에서 사용되고 있으며 재사용 가능한 코드를 장려하기 때문에 인기가 있다.

장점

  • 코드 구조가 매우 효율적이다.
  • DRF(Django Rest framework)의 모듈러형 아키텍처와 커스터마이즈 가능한 아키텍처로 인해 Django를 사용하여 웹 API를 구축하기 쉽다.
  • 공동 SQL 주입 및 사이트 간 요청 위조 공격에 대한 방어 기능을 제공함으로써 보안을 강조

단점

  • 많은 재사용 가능한 모듈 때문에 속도가 느리다.
  • 이전 버전이 새로운 릴리즈와 호환성이 있는지 확인해야 한다.

사용 사례

  • 부하가 높은 예약 엔진
  • 쇼핑 플랫폼
  • 학교 관리 시스템
  • 웹 기반 응용 프로그램을 지원하는 IOS 및 Android 응용 프로그램.
  • 관리 대시보드, 사진 기반 검증, 사용자 알림 전송을 위한 이메일 시스템 등을 구현할 수 있다

Flask

Python으로 작성된 마이크로 웹 프레임워크로 미니멀리즘 웹 애플리케이션을 개발하는 데 사용할 수 있다.

또한, 플라스크에는 ORM, 캐싱, 인증 등의 템플릿 엔진 옵션이 준비되어 있다.

장점

  • 유연하다.
  • Unit 테스트 가능
  • 매우 간단하여 초보자가 배우기 쉽다.

단점

  • 보안 침해를 일으킬 수 있는 모듈을 사용한다.
  • 모든 요청을 차례대로 처리하는 단일 소스를 가지고 있기에 속도가 좀 걸린다.
  • 부하가 높은 엔터프라이즈 소프트웨어에는 사용하지 않는 것이 좋다.

사용 사례

  • 전자 상거래 시스템
  • 페이스북 / 트위터봇
  • 온라인 ㅍ소셜 네트워크
  • 정적 사이트

FastAPI

웹 API를 구축하는 데 사용되는 최신 오픈 소스 고속 고성능 Python 웹 프레임워크이며 Python 3.6+ 표준 유형 기반으로 한다.

장점

  • 깊이 중첩된 json 요청에서도 개발자의 데이터 유형을 검증한다.
  • JSON Schema, OAuth 2.0 및 OpenAPI와 같은 표준을 기반으로 구축된다.
  • Graphene-python이라는 Python 라이브러리를 사용하여 GraphQL API를 쉽게 구축할 수 있다.
  • 빠르다.

단점

  • 다른 프레임워크에 비해 커뮤니티가 작고 외부 교육 자료가 거의 없다.

사용 사례

  • 속도가 중요한 경우 완벽하게 작동한다.
  • 넷플릭스는 내부 위기관리를 위해 FastAPI를 사용

Django, Flask, FastAPI 를 간단히 비교해보자.

Package

Django > Flask = FastAPI

Community

Django > Flask > FastAPI

성능

FastAPI > Flask > Django

유연성

Flask > Django = FastAPI

 

 

 

빙그레 바나나맛우유, 240ml, 8개매일우유 소화가 잘되는 우유, 930ml, 2개곰곰 무항생제 신선한 대란, 30구곰곰 달콤한 스테비아 대추방울토마토, 1kg, 1팩크리넥스 3겹 데코 앤 소프트 화이트 와이드 화장지 38m, 24롤, 1팩PANWEST PM-989 인체공학 버티컬마우스햇반 백미밥, 205g, 12개 

"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."

 

 

 


Ref

https://www.section.io/engineering-education/choosing-between-django-flask-and-fastapi/

댓글