모던 웹 애플리케이션은 많은 것을 클라이언트 측의 자바스크립트에 의지한다. 일부 JS 프레임워크는 DOM(Document Object Model)을 제어하며, 브라우저에서 실행되는 완전한 MVC(Model-View-Controller) 시스템을 제공한다. DOM은 웹 페이지의 구조화된 표현이다.
서버에서 모든 것을 렌더링하던 웹 개발 패러다임은 필요할 때마다 서버에서 데이터를 가져와 클라이언트에서 렌더링하는 식으로 변해갔다. 모던 웹 애플리케이션이 서버를 호출해서 페이지 전체를 다시 렌더링하는 대신 필요한 부분만 동적으로 바꾸기 때문이다. 모던 웹 애플리케이션은 이를 통해 더 빠르고 네트워크 대역폭을 덜 소비하며 향상된 사용자 경험을 제공한다.
페이스북이 공개한 ReactJS는 DOM을 직접 조정할 필요가 없는 고수준 API를 제공해서 클라이언트 웹 개발을 마치 플라스크 애플리케이션을 만드는 것처럼 간편하게 해준다.
UI를 시스템의 다른 부분과 명확히 분리해두면 새로운 자바스크립트 프레임워크를 적용하기가 한결 수월하다. 다시 말해 마이크로서비스의 데이터 출력을 특정 자바스크립트 프레임워크에 종속되게 구현해서는 안 된다.
Runnerly는 간단한 대시보드를 만들기 위해 리액트를 사용한다. 그리고 이 대시보드가 시스템의 다른 부분과 연결되는 통로 역할을 하도록 전용 플라스크 애플리케이션으로 포장한다. 이제 이 애플리케이션이 다른 모든 마이크로서비스와 어떻게 연동되는지 보게 될 것이다.
8장에서 다루는 내용은 다음과 같다.
8장을 마치면 플라스크에서 웹 UI를 만드는 방법과 마이크로서비스와 웹 UI 연동 방법을 이해할 수 있을 것이다.