[배경지식] Django, Flask, FastAPI의 차이점을 알아보자

2022. 12. 31. 00:00·Development Study/Backend
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

 

 

참고자료

더보기

https://www.castingn.com/sourcing/kkultip_detail/110

 

프레임워크(framework)란?

비개발자라면 IT 프로젝트 할 때마다 들었지만 생소한 단어, '프레임워크'. 개발 생산성과 효율성을 좌우하는 프레임워크의 정의, 종류, 특징을 알아봅니다.

www.castingn.com

https://scshim.tistory.com/560

 

[Django] 장고란? - 장고를 사용하는 이유 및 작동 구조를 알아보자

Do it! 장고+부트스트랩 파이썬 웹 개발의 정석를 읽고, 정리한 글입니다. 목록 · 웹 프레임워크란? · 장고란? · 장고의 작동 과정 · MTV 패턴이란? 웹 프레임워크란? · 웹 개발을 하다보면 공통적

scshim.tistory.com

https://leffept.tistory.com/202

 

[Flask]Flask란?

Flask란 ? 플라스크는 파이썬으로 작성된 마이크로 웹 프레임 워크의 하나이다. Flask의 특징 플라스크는 마이크로 웹 프레임워크다. 즉 간결하게 유지하고 확장할 수 있음을 의미한다. 간결하다는

leffept.tistory.com

https://parkjh7764.tistory.com/153

 

[FastAPI] FastAPI란? / FastAPI 장점 및 특징 / FastAPI 2022년 기준 현상황

FastAPI 란? 파이썬 3.6 이상에서 작동하는, 표준 파이썬 타입 힌트를 바탕으로 한, 현대적이고 빠른 API 서버 웹 프레임 워크이다. 비교적 최근에 나온 프레임워크로, 릴리즈 노트로는 2019년 초에 발

parkjh7764.tistory.com

 

 

 

 

 

 

 

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
'Development Study/Backend' 카테고리의 다른 글
  • [Docker] 도커는 뭐하는 고래일까? + EC2에서 Docker 띄워보기 실습
  • [Nest.JS] TypeScript 기반 프레임워크, Nest.JS에 대해 알아보자
  • [SQL] 실습 + 빅데이터 분석 방법들
  • [SQL] 실습 정리
ThreeLight
ThreeLight
ThreeLight Studio의 블로그, TimeMap.exe에 오신 것을 환영합니다.
  • ThreeLight
    TimeMap.exe
    ThreeLight
  • 전체
    오늘
    어제
    • 분류 전체보기 (245)
      • Checkpoint (1)
      • (3D)Dev Deep Dive (0)
        • Templates & Guides (9)
        • Frontend origin (9)
        • Backend origin (1)
        • TroubleShootings (4)
      • Development Study (95)
        • Frontend (36)
        • Backend (21)
        • CS(Computer Science) (2)
        • Background Knowledges (11)
        • Algorithm (2)
        • Mobile (3)
        • AWS (6)
        • Python (6)
        • MSW(MapleStoryWorlds) (8)
      • Coding Test (59)
        • 문제.zip (1)
        • BaekJoon_JavaScript (0)
        • Programmers_JavaScript (9)
        • BaekJoon_Python (23)
        • Programmers_Python (10)
        • Undefined_Python (3)
        • Programmers_SQL (13)
      • 활동내역.zip (43)
        • 개인 (21)
        • Techeer (12)
        • Bootcamp (7)
        • Hackathon (1)
        • TeamProjects (2)
      • 여기 괜찮네??(사이트 | App) (5)
      • 재미있는 주제들 (8)
      • 개발 외 공부 저장소 (11)
        • 생산운영관리 (3)
        • 생활속의금융 (6)
        • 경영정보시스템 (2)
  • 링크

    • TimeMap.dmg (Portfolio)
    • GitHub 바로가기
    • 오픈프로필(카카오톡)
    • Medium 바로가기
    • Disquiet 바로가기
    • LinkedIn 바로가기
  • 인기 글

  • 태그

    SQL
    Baek Joon
    HTML
    프로그래머스
    react
    JavaScript
    Python
    CSS
    TypeScript
    programmers
  • 최근 글

  • 최근 댓글

  • hELLO· Designed By정상우.v4.10.1
ThreeLight
[배경지식] Django, Flask, FastAPI의 차이점을 알아보자
상단으로

티스토리툴바