python 기반 웹 프레임워크라고 하면 대부분 djangoflask 정도를 많이 사용하고 자료 찾기도 용이합니다. 두 프레임워크 모두 풀 스택 프레임워크라서 rest api 서버를 구축하기 위해선 별도의 추가 라이브러리가 필요하고 추가적인 학습이 필요합니다. 아직 1 버전이 나오진 않았지만 fastapi는 이런 문제들을 일부 해결하는 동시에 속도까지 빠른 프레임워크입니다. 프레임워크들은 각자 만들어진 목적과 철학이 다르기 때문에 동일 선상에서 1대 1 비교는 쉽지 않습니다. 그래서 단순 우열을 가리기보다는 내 필요에 맞는 프레임워크가 뭔지를 고민하는게 좋다고 생각합니다.

아직 1버전이 정식으로 나오지 않은 채 개발 중인 프레임워크라서 공식 문서는 잘 되어 있는 편이지만 공식문서가 아직은 낯선 분들이 보기엔 힘들 수 있는 상황입니다. 같은 이유로 블로그나 강의들도 많이 없고, 있는 강의들로 완결 나지 않은 것들이 대부분이거나 파편화되고 연재글 간 버전이 상이해 기능적 차이가 있기도 합니다. 그래서 한명의 저자가 작은 프로젝트를 세팅부터 완성까지 하는 것을 보며 익히고 그 후 공식 문서나 필요한 기능들에 대하 찾아보면 학습 시간을 줄일 수 있다고 생각합니다.

fastapi의 가장 장점은 openAPIpydantic이라고 합니다. 개발과 문서 작업은 분리 시킬 수 없는 사이지만 코드 업데이트와 변경에 맞춰 api 문서를 업데이트 하는 것도 쉽지 않은게 사실입니다. 그런데 fastapiopenAPI라는 과거 swagger라고 불리던 문서 양식을 기본으로 탑재해서 코드 작성만으로 api 규격 문서를 만들 수 있습니다. pydanticpython의 장점이자 단점인 약타입을 보안해주는 라이브러리입니다. 빠르고 문서화를 포함한 rest api를 만들기에 여러모로 적합한 라이브러리입니다.

기존의 다른 프레임워크를 사용하셨거나 처음 배우시는 분 모두에게 괜찮은 책입니다. 패키지 관리지부터 요즘 트렌드로 뜨고 있는 poetry 세팅부터 시작해, 의존성 주입, 비동기 처리 등 필요하지만 기술 부채로 남겨두던 것들을 접검 해볼 수 있는 책입니다. 한 명의 숙련된 개발자가 라이브러리 세팅부터 데이터베이스 세팅부터 의존성 주입 등 웹 개발에 필요한 기능을 쌓아 올리는 것을 통해 하나의 흐름으로 배울 수 있습니다.

아직 정식 버전인 1.0.0이 출시되지 않은 상황이라 업데이트에 따라 급격하게 구현이 바뀌거나 아직 논의가 치열하게 진행중인 부분에 노트를 통해 변경 가능한 방향성을 정리해 주셔서 프레임워크가 만들어지는 과정을 볼 수 있어 좋았습니다.

fastapi에 관심 갖고 있었지만 공식문서 이상의 액기스가 담긴 책이라 시작하기 좋은 책이었습니다.

다음같은 분들에게 추천합니다.

  1. 기존의 다른 웹 프레임워크를 사용했지만 restful한 개발과 통합 문서를 원하시는 분.
  2. 클린 아키텍쳐, 의존성 주입 등 기술 부채를 느끼시는 분.
  3. 새롭게 서버 개발을 희망하시는 분.

아쉬웠던 점

  1. django-rest-framework의 기능을 django와 혼용하셔 쓰셔서 일부 독자가 혼란할 수 있었다.

해당 리뷰는 제이펍에게 책을 제공받아 작성된 글입니다