프런트엔드 개발자가 웹 애플리케이션 구성부터 개발, 배포까지 가능하게 하는, 새롭게 떠오르는 JAMstack에 대해 알아본다.
전통적인 웹의 경우에는 DB - App Server - Web Server - Browser
의 경로를 통해 운영된다. 하지만 최근 가상의 클라우드 환경에 서버를 두고 운영하는 serverless 웹이 만들어지면서 웹의 생태계가 급변하고 있다. Serverless 웹의 운영경로는 Storage (FaunaDB, DynamoDB 등) - Cloud Function - API Gateway - Browser
로, 서버 운영 및 유지보수가 필요없고 개발에만 집중할 수 있는 환경을 제공해준다.
JAMstack의 JAM은 JavaScript, API, Markup을 뜻하는 말로, 동적인 요소, 서버 또는 DB, 그리고 문서 내용의 시각적 표현을 각각 중추적으로 담당하게 된다. JAMstack은 정적 사이트 생성기로 페이지를 사전 생성하여 제공하게 되는데,
따라서 다음과 같은 장점이 있다.
하지만 다음과 같은 단점도 존재한다
이러한 단점을 극복하기 위하여 점진적 빌드라는 방식이 새롭게 생겨났다. 점진적 빌드란 변경시에 모두 재빌드하는것이 아니라, 변경에 필요한 부분만 새로 빌드함으로써 빌드의 효율성과 신속성을 높이는 것을 말한다. 아직 실험적인 단계라서 JAMstack이 프론트엔드의 미래라고 확답할수는 없지만, 계속해서 눈여겨보아야 할 기술임은 분명하다.