자바 웹 기술 역사

FE.1·2023년 10월 20일
0
post-thumbnail

과거 기술

서블릿 - 1997

  • HTML 생성이 어려움

JSP - 1999

  • HTML 생성은 편리하지만, 비즈니스 로직까지 너무 많은 역할 담당

서블릿, JSP 조합 MVC 패턴 사용

  • 모델, 뷰 컨트롤러로 역할을 나누어 개발

MVC 프레임워크 춘추 전국 시대 - 2000년 초 ~ 2010년 초

  • MVC 패턴 자동화, 복잡한 웹 기술을 편리하게 사용할 수 있는 다양한 기능 지원

  • 스트럿츠, 웹워크, 스프링 MVC(과거 버전)


현재 기술

애노테이션 기반의 스프링 MVC 등장

  • @Controller

  • MVC 프레임워크의 춘추 전국 시대 마무리

스프링 부트의 등장

  • 스프링 부트는 서버를 내장

  • 과거에는 서버에 WAS를 직접 설치하고, 소스는 War 파일을 만들어서 설치한 WAS에 배포

  • 스프링 부트는 빌드 결과(Jar)에 WAS 서버 포함 -> 빌드 배포 단순화


최신 기술

Web Servlet - Spring MVC

Web Reactive - Spring WebFlux

  • 비동기 넌 블러킹 처리

  • 최소 쓰레드로 최대 성능 - 쓰레드 컨텍스트 스위칭 비용 효율화

  • 함수형 스타일로 개발 - 동시처리 코드 효율화

  • 서블릿 기술 사용X

그런데

  • 웹 플럭스는 기술 난이도가 매우 높음

  • 아직은 RDB 지원 부족

  • 일반 MVC의 쓰레드 모델도 충분히 빠르다.

  • 실무에서 아직 많이 사용하지는 않음


자바 뷰 템플릿 역사

JSP

  • 속도 느림, 기능 부족

프리마커(Freemarker), Velocity(벨로시티)

  • 속도 문제 해결, 다양한 기능

타임리프(Thymeleaf)

  • 내추럴 템플릿: HTML의 모양을 유지하면서 뷰 템플릿 적용 가능

  • 스프링 MVC와 강력한 기능 통합

  • 최선의 선택, 단 성능은 프리마커, 벨로시티가 더 빠름

profile
공부하자!

0개의 댓글