Java Backend 웹 기술 역사

646 단어·2 분·원문(.md)

과거 #

  • 1997년 Servlet
    • 자바 코드로 짜야 하므로 HTML을 동적으로 생성하는게 어려웠다.
  • 199년 JSP
    • HTML 생성은 편리하지만 비즈니스 로직까지 너무 많은 역할을 담당하게 된다.
  • Selvet,JSP를 조합한 MVC 패턴
    • 모델 뷰 컨트롤러로 역할을 나누어 개발한다.
  • 2000년 초 ~ 2010년 초 MVC 프레임워크 춘추 전국 시대
    • MVC 패턴을 자동화한다.
    • 복잡한 웹 기술을 편리하게 사용할 수 있는 다양한 기능을 지원한다.

현재 #

  • 어노테이션 기반의 스프링 MVC
    • @Controller
    • MVC 프레임워크의 춘추 전국 시대가 마무리된다.
  • Spring boot의 등장
    • 서버를 내장한 스프링 부트가 등장한다.
    • 과거에는 서버에서 WAS를 직접 설치하고 소스는 WAR파일을 만들어 설치한 WAS에 배포했다
    • 스프링 부트는 빌드 결과인 JAR에 WAS 서버가 포함되어 빌드가 단순화 되었다.

최신 #

스프링 웹 기술이 분화되고 있다.

  • Web Servlet
    • Spring MVC
  • Web Reactive
    • Spring WebFlux

WebFlux #

  • 비동기로 non blocking을 처리한다.
  • 최소의 스레드로 최대 성능을 낸다.
    • 스레드 컨텍스트 스위칭 비용을 효울화한다.
  • 함수형 스타일로 개발 가능하다.
    • 동시 처리 코드의 효율성을 높인다.
  • 서블릿 기술을 사용하지 않는다.
    • netty를 사용

하지만 웹 플럭스는 기술적인 난이도가 매우 높다. 아직 RDB에 대한 지원이 부족하다. 일반 MVC의 스레드 모델도 충분히 빨라서 실무에서 아직 많이 사용하지는 않는다.


자바 뷰 템플릿\ #

HTML을 편하게 생성하는 뷰 기능이다

JSP #

속도 문제를 해결했으면 다양한 기능이있다.

타임리프 #

내추럴 템플릿으로 HTML의 모양을 유지하면서 뷰 템플릿을 적용할 수 있다. 스프링 MVC와 기능이 통합되어 있어 최선의 선택이다. 단, 성능은 프리마커와 벨로시티가 더 빠르다.

Back-End/backend/history.md