FastAPI란?
FastAPI는 파이썬 웹 프레임워크입니다.
백엔드 개발에 쓰이는데 FastAPI는 이름에 맞게 빠른 속도를 자랑합니다!
파이썬 웹 프레임워크는 여러 종류가 있는데 그중에서 Django, Flask, FastAPI, Tornado, Pyramid, CherryPy 등등 여러 가지가 있는데 그중에서 Django, Flask가 제일 유명하고 FastAPI가 슬쩍 올라오고 있습니다.
빠른 속도
NodeJS, Go와 대등할 정도로 매우 높은 성능을 자랑합니다.
Starlette과 Pydantic 덕분입니다.
빠른 코드 작성
200% ~ 300%까지 기능 개발 속도 증가
직접 개발을 해보면 알겠지만 다른 언어, 프레임워크로 개발할 때 보다 확실히 개발이 빠르다.
적은 버그
개발자에 의한 에러가 약 40% 감소
쉽다
지인 2명에게 해보라고 했는데
1명은 코딩 자체가 처음인데 FastAPI공부 및 개발을 3개월(파이썬 공부 포함) 정도 걸렸다고 한다.
또 1명은 파이썬으로 이것저것 개발을 하는 개발자 지인인데 간단한 웹 사이트 개발을 2주 정도 걸렸다고 한다.
아무래도 3개월 걸렸다는 친구는 놀면서 한 거 같다?
완전 초보가 파이썬을 하루도 빠짐 없이 8시간? 정도 공부를 한다면 7일? 정도는 걸릴 듯하고
공부를 한 다음에 파이썬으로 간단한 프로그램을 만들어보면서 실력을 쌓으면 +7일~은 걸릴 듯합니다.
그리고 FastAPI를 공부를 하면 +1일~은 걸린다.
저 같은 경우는 FastAPI를 공식 문서에서 대충 뒹굴뒹굴 하면서 공부하는데 6시간? 정도 걸렸습니다.
해보면 알겠지만 사전 지식이 있냐 없냐 와 개발을 얼마나 해봤냐에 따라서 다릅니다.
물론 개발은 뭘 개발을 하냐 규모가 어느 정도냐 버그, 취약점이 많은가 적은가에 따라서 개발 시간이 달라집니다.
짧다
코드 중복을 최소화, 각 매개변수 선언에 따라 여러 기능, 적은 버그
의견
"[...] 저는 요즘 FastAPI를 많이 사용하고 있습니다. [...] 사실 우리 팀의 마이크로소프트 ML 서비스 전부를 바꿀 계획입니다. 그중 일부는 핵심 Windows와 몇몇의 Office 제품들이 통합되고 있습니다."
Kabir Khan - 마이크로소프트
"FastAPI 라이브러리를 채택하여 예측을 얻기 위해 쿼리를 실행할 수 있는 REST 서버를 생성했습니다. [Ludwig을 위해]"
Piero Molino, Yaroslav Dudin 그리고 Sai Sumanth Miryala - 우버
"Netflix는 우리의 오픈 소스 배포판인 위기관리 오케스트레이션 프레임워크를 발표할 수 있어 기쁩니다: 바로 Dispatch입니다! [FastAPI로 빌드]"
Kevin Glisson, Marc Vilanova, Forest Monsen - 넷플릭스
"FastAPI가 너무 좋아서 구름 위를 걷는 듯합니다. 정말 즐겁습니다!"
Brian Okken - Python Bytes 팟캐스트 호스트
"솔직히, 당신이 만든 것은 매우 견고하고 세련되어 보입니다. 여러 면에서 Hug가 이렇게 되었으면 합니다 - 그걸 만든 누군가를 보는 것은 많은 영감을 줍니다."
Timothy Crosley - Hug 제작자
"REST API를 만들기 위해 현대적인 프레임워크를 찾고 있다면 FastAPI를 확인해 보십시오. [...] 빠르고, 쓰기 쉽고, 배우기도 쉽습니다 [...]"
"우리 API를 FastAPI로 바꿨습니다 [...] 아마 여러분도 좋아하실 것입니다 [...]"
Ines Montani - Matthew Honnibal - Explosion AI 설립자 - spaCy 제작자
요구사항
파이썬 3.8+
끝
다음 FastAPI글은 설치, 설정, 실행 등등 알려드리겠습니다.