Seperate Front Back
Seperate Front Back
프론트엔드와 백엔드를 분리하는 이유
- 확장 및 기술 변경이 쉬움
- 웹 애플리케이션이 일체형으로 구성되어 되어 있다면 새로운 기능을 확장하거나, 기술 및 언어를 변경하기 위해 전체를 다 변경해야 함
- 프론트와 백이 분리되어 있다면, 백엔드를 확장하거나 기술 변경을 위해 프론트엔드를 건드릴 필요가 없음
- 여러 플랫폼에서 API 사용 가능
- 백엔드 서버가 API를 제공하는 형태가 되면, 여러 플랫폼(웹, IOS, AOS)에서 자유롭게 API를 통해 데이터를 가져와 사용자에게 보여줄 수 있음
- 서버 부담 감소
- 일체형 웹 서버는 직접 HTML을 렌더링해서 서버에 보내줘야 하므로, view의 기능을 서버에서 수행하기 때문에 부담이 심함
- 프론트와 백이 분리되어 있는 경우 백엔드는 관련 데이터만 보내 주면 프론트엔드에서 렌더링을 수행하게 됨
- 큰 프로젝트에서 효과적
- 웹 애플리케이션의 크기가 커질 수록 일체형 웹은 개발이 복잡해짐
- 큰 프로젝트는 프론트엔드 팀과 백엔드 팀을 나눠 각 팀별로 개발을 수행하면 됨
- 버그가 어디서 발생했는지 찾기 쉬움
- 코드 최적화가 더 빨리 됨
주의사항
- 프로젝트가 작은 경우 모놀리식 아키텍쳐(일체형)가 더 도움이 될 수도 있음
- 서로 다른 환경에서 다른 언어 및 기술을 사용해 개발하기 때문에 혼자 개발하는 경우에는 힘들 수 있음
References
- https://velog.io/@katanazero86/%ED%94%84%EB%A1%A0%ED%8A%B8%EC%97%94%EB%93%9C%EC%99%80-%EB%B0%B1%EC%97%94%EB%93%9C%EB%A5%BC-%EB%B6%84%EB%A6%AC%ED%95%98%EB%8A%94-%EC%9D%B4%EC%9C%A0
- https://itchronicles.com/software-development/7-splendid-reasons-to-keep-frontend-and-backend-separate/