dev

앱개발 백엔드 프레임워크 선택하기

영리0 2025. 5. 25. 20:50

 

간단한 mvp 프로젝트의 서버를 선택하기 위해 백엔드 프레임워크들을 정리해 보았다.

 

1. FastAPI

  • 파이썬 문법
  • 제일 많이 쓰는 언어라 문법이 익숙함

주요 특징

  • 비동기 I/O: async/await 문법 지원!
  • 자동 API 문서: 스웨거 문서 지원해 주어 개발 아주 편함!!

장점

  • 생산성: 타입 기반 오류 검출, 자동 문서화로 CRUD API 빠르게 작성 가능
  • 성능: Uvicorn + Starlette 조합으로 동기 파이썬 프레임워크 대비 높은 처리량

단점

  • 생태계 규모: Django·Flask만큼 방대한 커뮤니티·플러그인은 아직 부족 / 정식 개발로 넘어갈때 문제가 될 가능성 높음..
  • 배포 복잡도: Uvicorn, Gunicorn 등 서버 설정이 필요 / AI 모델 적용시 잘 터짐.. + 아주아주 높은 서버 비용

2. NestJS

타입스크립트 기반 Node.js 프레임워크

주요 특징

  • 모듈화 설계: Controller, Service, Module 패턴 강제 (코드 가독성 Good)
  • 의존성 주입(DI): Angular 스타일 DI 컨테이너 내장 (Spring 이랑 비슷?)
  •  

장점

  • 큰 규모 프로젝트: 모듈 구분이 명확해 코드 관리·유지보수 용이
  • TypeScript: 정적 타입 안정성 보장

단점

  • 오버 엔지니어링: 구조가 무겁고 설정 할것이 많음..

 

하지만 typescript 를 파고싶은 마음이 든다..

 


3. Spring Boot

제일 많이 써본 프레임워크

주요 특징

  • 자동 설정: 복잡한 xml 설정 없어도 됨!
  • 기능 모듈화: Spring Security, Spring Data, Spring Cloud 등 모듈화 (작년인가 Spring AI 도 나옴!!)
  • 대규모 서비스 지원: 스레드 풀·트랜잭션·배치 처리 기능

장점

  • 성숙도·안정성: 10년 이상 검증된 프레임워크 + 회사에서 제일 많이쓴다?
  • 멀티스레딩: CPU-바운드 작업에 유리

단점

  • 초기 설정 무거움: JDK·Maven/Gradle·서버 설정 등 진입 장벽
  • 런타임 메모리: JVM 기반으로 메모리 사용량이 상대적으로 높음
  • 개발 속도: 간단한 CRUD에도 자바 언어 특성상 코드량이 늘어날 수 있음

 

아직 결정은 못했지만 개인적으로는 Nest > Fastapi > SpringBoot 순으로 마음에 감