on
[Flask] Flask와 Django의 특징 비교
[Flask] Flask와 Django의 특징 비교
1. Flask란?
Flask는 간단하게 설명하면 Python기반의 micro framework이다. 먼저 Flask 공식문서에서 설명하는 Flask를 보자
The “micro” in microframework means Flask aims to keep the core simple but extensible.Everything else is up to you, so that Flask can be everything you need and nothing you don’t.
위의 글을 정리하면 심플하지만 확장가능하게 유지하는 것을 의미하며 즉, 개발자 어떻게 사용하느냐에 따라서 좋은 프레임워크가 될 수도 있고 그렇지 않을 수도 있다는 것을 의미한다.
flask는 기본적으로 제공하는 기능이 다른 프레임워크에 비해서 적다. 그 대신 확장성이 뛰어나기 때문에 개발자가 자신의 손맛에 맞게 다양한 기능들을 추가하여 좋은 프레임워크로 만들 수 있다.
2. Flask와 Django의 차이점
Flask와 Django는 Python 기반이 웹 프레임워크의 양대산맥이다. 현재 Fast API 빠르게 이들을 추격중이지만 아직은 Flask와 Django의 점유율이 높다. 따라서 이 둘의 차이점을 알고 각각의 특징을 파악해 각 프레임워크들의 강점을 살려 서비스 목적에 맞는 프레임워크를 선택하는 것이 중요하다.
Flask와 Django의 차이점
1) 성향
Flask는 MSA에 적합하고 Django는 모놀리틱 서비스에 적합하다.
2) 어드민페이지
Flask는 지원하지 않으며 Django는 지원한다
3) ORM
Flask는 지원하지 않으며 Django는 지원한다.
4) 지원기능
Flask는 상대적으로 적으며 Django는 상대적으로 많다
그러나 Flask는 자유롭게 확장할 수 있다.
5) 러닝커브
Flask는 지원기능이 적기 때문에 상대적으로 러닝커브가 낮다.
반면 Django는 규약들이 많기 때문에 비교적 러닝커브가 높다.
6) 유연성
Flask는 확정성이 좋기 때문에 유연성 또한 높다.
반면 Django는 지원기능이 많지만 유연성은 떨어진다.
7) 개발자의 책임
Flask는 확정성이 높고 유연성이 뛰어나기 때문에 책임이 개발자의 책임이 상대적으로 크다
반면 Django는 규약을 개발자가 다 지키는 것을 전재로 하기 때문에 개발자의 책임이 상대적으로 적다.
3. 무엇이 더 좋은가?
사실 프로그래밍에서 무엇이 더 좋다 나쁘다는 기준에 따라 항상 달라지기 때문에 무엇이 더 좋다 나쁘다 할 수 없다. Flask와 Django 또한 같은 맥락을 가진다. 일반적으로 MSA 기반의 단일 기능을 구현하는 서비스에서는 Flask를 사용한다.
반면 규모가 큰 모놀리틱 서비스는 Django가 적합하다고 볼 수 있다. Flask의 경우, 지원기능이 적은만큼 필요한 기능을 구현해야 할 때마다, 별도의 라이브러릴르 설치하고 Flask 어플리케이션과 바인딩을 해줘야 한다.
Ref
- 패캠 파이썬 서버 개발 강의
from http://bloowhale.tistory.com/107 by ccl(A) rewrite - 2021-10-16 19:26:52