자바 웹 기술 역사
과거 기술 🌟
서블릿 - 1997
➙ 개발자들이 TCP/IP 연결하고 멀티쓰레드 등등 고민할게 너무 많았음
➙ 자바코드로 짜야되서 동적으로 생성하기 너무 힘듬..
➙ HTML을 동적으로 생성이 어려움
JSP - 1999
➙ HTML 생성은 편리하지만, 비즈니스 로직까지 너무 많은 역할 담당
➙ JSP 하나의 파일이 수천 줄 이상이 되어버리는 유지보수 난이도는.. 🤬
서블릿, JSP 조합 MVC 패턴 사용
➙ 모델, 뷰 컨트롤러로 역할을 나누어 개발
➙ 서로의 역할을 쪼갬
➙ 비즈니스 로직 부분과 화면을 렌더링하는 부분을 나눔
MVC 프레임워크 춘추 전국 시대 - 2000년 초 ~ 2010년 초
➙ 비슷한 부분이 많은데 프레임워크 한번 만들어볼까?
➙ MVC 패턴 자동화, 복잡한 웹 기술을 편리하게 사용할 수 있는 다양한 기능 지원
➙ 스트럿츠, 웹워크, 스프링 MVC(과거 버전)
현재 사용 기술 🌏
애노테이션 기반의 스프링 MVC 등장
➙ @Controller
➙ MVC 프레임워크의 춘추 전국 시대 통일
스프링 부트의 등장
➙ 스프링 부트는 서버를 내장
➙ 과거에는 서버에 WAS를 직접 설치하고, 소스는 War 파일을 만들어서 설치한 WAS에 배포
➙ 스프링 부트는 빌드 결과(Jar)에 WAS 서버 포함 -> 빌드 배포 단순화
최신 기술 - 스프링 웹 기술의 분화 🚀
- Web Servlet - Spring MVC
- Web Reactive - Spring WebFlux
최신 기술 - 스프링 웹 플럭스(WebFlux) 👽
특징
➙ 비동기 넌 블러킹 처리
➙ 최소 쓰레드로 최대 성능 - 쓰레드 컨텍스트 스위칭 비용 효율화
➙ 함수형 스타일로 개발 - 동시처리 코드 효율화
➙ 서블릿 기술 사용X (Netty)
그런데
➙ 웹 플럭스는 기술적 난이도 매우 높음
➙ 아직은 RDB 지원 부족
➙ 일반 MVC의 쓰레드 모델도 충분히 빠르다.
➙ 실무에서 아직 많이 사용하지는 않음 (전체 1% 이하)
자바 뷰 템플릿 역사 ✍
HTML을 편리하게 생성하는 뷰 기능
JSP
➙ 속도 느림, 기능 부족
프리마커(Freemarker), Velocity(벨로시티)
➙ 속도 문제 해결, 다양한 기능
타임리프(Thymeleaf)
➙ 내추럴 템플릿: HTML의 모양을 유지하면서 뷰 템플릿 적용 가능
➙ 스프링 MVC와 강력한 기능 통합
➙ 최선의 선택, 단 성능은 프리마커, 벨로시티가 더 빠름
'MVC' 카테고리의 다른 글
[MVC] 스프링 MVC (0) | 2024.07.18 |
---|---|
[MVC] 프론트 컨트롤러 패턴 (0) | 2024.07.16 |
[MVC] 서블릿, JSP, MVC 패턴 적용 (0) | 2024.07.15 |
[MVC] 서블릿 (0) | 2024.07.12 |
[MVC] 웹 서버, 웹 애플리케이션 차이점 (0) | 2024.07.11 |