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 순으로 마음에 감