Python 웹 프레임워크

KimCookieYa·2023년 2월 12일
0

풀스택

목록 보기
7/7

Flask

Python의 마이크로 웹 프레임워크이다. 특별한 도구나 라이브러리가 필요없기 때문에 마이크로 프레임워크라고 부른다. 다양한 웹 엔진과 붙여서 쓸 수 있고 가볍다. 코드가 단순하고, 특히 API 서버를 만들 때 매우 편리하다. 관련된 확장 기능들이 많기 때문이다.

풀 스택 프레임워크인 Django와는 달리 마이크로 프레임워크라고 해서 보다 기능성이 떨어지는 것은 아니다.

특징

  • 가볍고 유연하다. 확장이 자유롭다.
  • 속도는 장고와 비슷하다.

예제

from flask import Flask
app = Flask(__name__)

@app.route("/")
def hello():
    return "Hello World!"

if __name__ == "__main__":
    app.run()

Django

Python의 오픈 소스 웹 프레임워크이자 풀 스택 프레임워크이다. MTV(Model-Template-View) 패턴을 준수한다. 고도의 DB 기반 웹사이트를 작성하는 데 있어서 편리함을 제공하는 것이 장고의 주된 목표이다.

컴포넌트의 재사용성(Reusability), 플러그인화 가능성(Pluggablilty), 빠른 개발 등을 강조한다.

특징

  • 웹 개발에서 필요한 대부분의 기능을 내장하고 있다.
  • 커뮤니티가 크다.
  • 강력한 ORM을 기본적으로 제공한다.
  • 자주 사용되는 로직들을 묶어서 기본적으로 제공한다.
  • CRUD에 적합하다.
  • SQL에 특화되어 있다.

사용 중인 곳

  • 인스타그램
  • 8퍼센트
  • 번개장터
  • ...

FastAPI

FastAPI는 API를 만들기 위한 파이썬 웹 프레임워크이다. FastAPI는 이름에 걸맞게 빠른 속도를 자랑한다.

특징

  • 비동기처리가 가능하다.
  • 비동기 덕분에 장고나 플라스크보다 2배 빠르다.
  • 코드가 더 간결하다.
  • API docs를 자동으로 만들어준다.
    -> /docs 접속 시 API 문서 확인가능
  • 장고나 플라스크에 비해 API를 만드는데 특화되어 있다.

기존 프레임워크와의 차이점: API

API(Application Programing Interface)는 서비스의 요청과 응답에 대한 규칙을 의미하지만 보통 API라고 하면 이러한 요청과 응답을 처리하는 서비스(기능)를 의미한다.

파이썬 웹 프레임워크 중 가장 유명한 장고와 플라스크는 주로 웹 서비스를 만들때 사용한다. 하지만 FastAPI는 API를 만드는데 보다 집중한 프레임워크이다. FastAPI로 작성한 API는 리액트나 Vue.js, Svelte와 같은 Frontend 웹 프레임워크에서 사용할 수 있고 안드로이드나 아이폰 앱에서도 사용할 수 있다. 만약 장고나 플라스크로 웹 서비스를 만들었다면 이에 대응하는 안드로이드나 아이폰 앱을 위한 API 개발을 따로 해야 하지만 FastAPI는 한번 만든 API를 여러 클라이언트에서 변경없이 사용할 수 있다.

설치

pip install fastapi

예제

from fastapi import FastAPI
app = FastAPI()

@app.get('/')
def hello():
	return 'hello'

참고 사이트

점프 투 FastAPI: https://wikidocs.net/book/8531

profile
무엇이 나를 살아있게 만드는가

0개의 댓글