티스토리 뷰
Spring Boot의 장점
- Java가 컴파일 언어라 문법 에러를 잡아줌
- Bean 개념(일종의 싱글톤같은 느낌이라고 볼 수 있다)
ㄴ 코드 구조 단순화, 단위 테스트 단순화
- Java 관련 검색시 에러 해결법, 라이브러리가 많다
단점
- Java가 인터프리터 언어 입장에서 봤을 때 쓸데없다고 느껴지는 코드들이 있다
- 가벼운 프로젝트를 만들기에는 따져야 할게 많아서 코드양이 많아서 적합하지 않다
- 공부해야할게 많다
일단 이미 필자가 이 회사에 왔을 때 Python으로 간단하게 API를 만들 수 있는 Flask로 웹 개발까지 하는 구조였다.
생각보다 그렇게 큰 규모는 아니였음에도 개발자마다 개발하는 방식이 다르기 때문에, 구조가 중구난방으로 개발이 되었다.
또한 Python은 인터프리터언어이기 때문에 특정 소스코드에서 문제가 발생해도 해당 코드가 임포트되거나 실행되기 전까지는 알 수 없다는 점이 너무 치명적이였다.
그래서 변화가 필요하다 느꼈고 여러 프레임워크를 찾아보았다.
일단 체감상 국내에서 가장 많이 사용하는 백엔드 프레임워크는 Spring Boot였다. 하지만 아이러니하게도 장단점같은 걸 봐도 딱 꽂히는 느낌이 없었다. 지금 생각해보면 당연한게 Spring을 쓰면서도 정말 다양한 방법으로 개발이 가능하기 때문에 장단점으로 정형화 할 수 없었던 것 같다
체감상 느껴지는 Spring Boot의 장점을 말해보자면 일단 국내에서 예전부터 인기있던 프레임워크(Java 또한)이기 때문에, 뭔가 에러나 모르는 걸 검색하면 굉장히 방대한 자료가 나오고 그 중에서도 한글로 된 내용도 많다는게 가장 큰 장점이였다. 또한 웬만한 것들은 다 라이브러리가 있어 굉장히 편하게 작업했던 것 같다.
어쨌든 Python과 비교했을 때 빌드만으로도 기본적인 타입 체크와 문법 체크를 해준다는게 안정성이 중요한 백엔드에서 정말 좋은 장점이라고 생각하고, 또한 모든 프레임워크가 그러하겠지만 어느정도 개발 방식이 정해져 있기 때문에 구조만 잘 잡아준다면 코드가 중구난방으로 만들어질 가능성이 많이 적어진다는 것도 장점이다.
또한 Bean개념으로 인해 단위테스트 난이도도 쉬워지고 객체를 주고받는 것도 상당히 간단해졌다.
'웹개발' 카테고리의 다른 글
Docker build, run 진행 중 에러가 발생했는데 원인을 모를 때 (0) | 2021.12.15 |
---|---|
Spring에서 세션 저장이 안되는 문제 (0) | 2021.12.15 |
백엔드 개발자가 알아두면 좋은 5가지 (0) | 2021.12.15 |
프로시저에 관한 나의 생각 (0) | 2021.12.15 |
벤처기업에 오면서 시도하게 된 배포 자동화 구축 (0) | 2021.12.15 |