728x90
Python을 이용하여 단기 프로젝트를 진행하는 사람들에게는 한 번씩은 거쳐가는 고민거리가 있다.
Django? Flask? 아니면 요즘 유행하는 FastAPI??
어떤 것을 선택해야 할까?
이 글은 개발에 필요한 기초지식을 공부하며 정리한 내용을 다룬 글이다
들어가기 전, 도대체 이것들은 무엇인가?
프레임워크
이 글에서 다루게 될 프로그램들은 모두 프레임워크라 불리는 것으로,
목적에 따라 효율적으로 구조를 짜놓는 개발 방식을 지원해주는 프로그램이다
쉽게말해 코딩에 필요한 완성된 기능들을 지원해주어 개발 시간과 노력을 감축시킬 수 있다는 장점을 가지고 있다
예시로는 로그인, 회원가입, CRUD 등이 있다
Django
- 이 글에서 다루는 3가지의 프로그램 중 가장 넓은 생태계를 가지고 있는 프레임워크이다
- 3가지 중 가장 많은 사람들이 사용하고 있다
- -> 커뮤니티의 규모가 넓어 오류에 대한 해결책을 빠르게 얻을 수 있다
- 프로그램에 기본적으로 포함되어 있는, 지원하는 것들이 많아 무거운 편이다
- MVC 패턴 기반 MTV(Model-View-Controller)를 기반으로 하였다
- 쉬운 DB 관리를 위해 프로젝트를 생성하면서 관리자기능을 제공한다
- 쉬운 난이도의 URL 파싱 기능을 지원한다
- 동일한 소스코드에서 다른 나라에서 용이하도록 번역, 날짜/시간/숫자 등의 포맷 타임존 지정 등의 기능을 제공한다
- 많은 기능과 라이브러리들을 보유하고 있지만 그에대한 각각의 정보를 얻어내어야 하기에 까다롭게 느껴질 수 있다
Flask
- 파이썬으로 작성된 마이크로 웹 프레임워크
- 간결한 유지, 확장이 가능하다
- 굉장히 짧은 코드만으로도 완벽하게 동작하는 웹 프로그램을 만들 수 있다
- 확장성 있는 설계가 가능하기에 다양한 모듈을 이용하여 원하는 대로 만들 수 있다
- 너무 많은 모듈이 필요한경우엔 모든 것을 지원해주는 Django보다 효율이 떨어질 수 있다
FastAPI
- 이름값: 빠름
- NodeJS와 Go에 필적하는 성능
- 사용가능한 가장 빠른 프레임워크 반열에 든다
- 코드 작성속도 200%~300% -> 기능 개발 속도 증가
- 적은 버그 생성량
- 모든 곳에서 자동완성, 디버깅 시간 감소
- 쉽고 문서 읽기 시간이 적음
- 코드 중복 최소화, 각 매개변수 선언의 여러 기능
- 문서 자동화로 인해 실무에서 채택되기도 한다
- 서버와 데이터 처리의 속도가 굉장히 빠르다
정리 - 주관적인 의견(이런 사람들에게 추천합니다)
- Django
- 굉장히 넓고 깊은 본격적인 서비스를 만들고 싶다
- 많은 사람들과 교류하며 정보를 얻으면서 개발을 하고 싶다
- 취업을 파이썬을 이용한 백엔드 분야로 하고 싶다(타 분야에 비해 구인인원 2배 이상)
- Flask
- 짧은 기간 안에 완벽하게 작동하는 간단한 서비스를 만들고 싶다
- 파이썬 백엔드 프레임워크를 입문한지 얼마 되지 않아 웹 구조를 파악하며 개발하고 싶다
- FastAPI
- 비동기 처리를 이용하여 빠른 서비스를 구현하고 발전가능성을 보고 있다
- 내 웹사이트와 서비스가 느리게 동작하는 것을 도저히 내 눈으로 볼 수 없다
- 대용량 트래픽을 관리해야 하는 프로젝트를 진행하려 한다
End
참고자료
728x90
'Development Study > Backend' 카테고리의 다른 글
[Docker] 도커는 뭐하는 고래일까? + EC2에서 Docker 띄워보기 실습 (0) | 2023.05.26 |
---|---|
[Nest.JS] TypeScript 기반 프레임워크, Nest.JS에 대해 알아보자 (0) | 2023.05.21 |
[SQL] 실습 + 빅데이터 분석 방법들 (0) | 2022.12.10 |
[SQL] 실습 정리 (0) | 2022.12.03 |
[SQL] 실습 정리 (View) (0) | 2022.11.26 |