반응형
오늘은 Python Web Framework에서 많이 오르내리는 Django와 Fastapi에 대해서 간략히 비교해 보고자 한다.
Django
2003년에 출시 되어 현재 가장 많은 인기를 누리고 있는 웹 프레임워크이다. Instagram, Youtube 에서도 사용중이라는 말 다했다.
- 장점
-Django는 보안부터 DRF(Django Rest Framework), ORM, 서드파티와의 연계 등 대부분의 기능 지원
-바로 사용할 수 있는 Migrate를 통한 편리한 admin패널 및 데이터베이스 제공
-거대한 커뮤니티와 상세한 문서
- 단점
-풀 프레임 워크를 지향하기 때문에 상대적으로 리소스 사이즈가 큰 편
-3.0 부터 ASGI(비동기 인터페이스)를 지원하지만 아직은 느린편
-Django ORM은 SQLAlchemy보다 유연성이 떨어진다는 평가를 받는편
Django ORM이 더 우수하는 얘기도 있지만, Django ORM에서 SQLAlchemy로 마이그레이션은 있어도 SQLAlchemy에서 Django ORM으로 마이그레이션 하는 경우는 보통 없고, SQLAlchemy는 다른 Python 개발에서도 사용이 가능하기 때문에 범용성이 더 높아 선호된다.
FastAPI
빠른 개발과 고성능을 추구하는 프레임워크로 2019년에 개발되어 빠르게 성장하고 있으며, 현재 Python 웹 프레임워크에서 가장 빠른 성능을 자랑한다. OpenAPI, JSON 스키마 그리고 OAuth 2.0등 다양한 표준들을 지원하고 있어, 3년 밖에 되지 않았지만, 많은 사랑을 받고 있는 프레임워크라 할 수 있다.
- 장점
-Starlette과 Pydantic을 기반으로 하는 가장 빠른 파이썬 웹 프레임워크
-OpenAPI 문서를 자동 생성
-GraphQL을 지원
-공식 문서가 아주 잘 갖춰져 있음
- 단점
-3년이 채 되지 않아 커뮤니티 규모가 작음
선택이라고 한다면
- Backend 개발자로 API만 개발한다. 속도 및 불필요한 기능들이 싫다면
FastAPI
- Auth 기능 및 화면등이 필요하다. 웹까지 모두 혼자 개발해야 한다, 취업 준비중이라면
Django
각자의 장점이 존재하는 만큼 모든 상황을 커버하는 것은 아니다. Django, FastAPI 모두 내용을 들여다 보면, 각각의 장점이 있으므로, 현재 상황에 맞는 웹 프레임 워크를 사용하도록 하자.
반응형