#2.0.0 - 블로그 리뉴얼
블로그의 기술스택 자체가 변경될 정도로 큰 업데이트입니다.
최근 회사에서 Spring Boot를 사용하게 되면서, 익숙해질 겸 기존 블로그 데이터도 있겠다 싶어 연습 삼아 깨작거리며 비슷하게 만들어봤습니다. 그러다 보니 여기까지 오게 됐네요. 단, 관리자 페이지는 아직 마이그레이션되지 않았습니다.
기존 블로그의 설계 철학은 그대로 유지했습니다. 모노레포 구조에서 전통적인 템플릿 엔진 방식, 그리고 하이퍼미디어 우선 접근방식을 그대로 가져왔고, Hotwired 대신 HTMX를 사용하게 됐습니다. 아무래도 트렌드와는 거리가 있는 기술인데, 그나마 커뮤니티가 활발하고 이슈 관련 자료가 많은 쪽을 써보자는 생각이었습니다.
주요 기술 변경
- NestJS → Spring Boot
- Hotwired/turbo → HTMX
- Edge.js → JTE (비슷한 가벼운 느낌의 템플릿 엔진)
- Hotwired/stimulus → Alpine.js
만들다 보니 기존에 없던 기능까지 오버해서 만들게 됐는데, BGM 기능이 추가되었습니다.
만들면서 느낀 점
Java 17: Java 8과 비교해 개발 편의성이 확실히 향상된 게 체감됩니다.
JTE: DX가 정말 좋습니다. Spring Initializr에 등록되어 있어서 발견했는데, Thymeleaf처럼 무겁거나 구문이 장황하지 않아 마음에 듭니다.
HTMX: Hotwired보다 직접 해줘야 할 게 많고 용어가 아름답지(?) 않지만, 간단하고 성능도 나쁘지 않습니다.
Alpine.js: Vue와 느낌이 정말 비슷하고, 선언적인 사용감이 좋았습니다.