node기반이 아니고 SSR 기반을 갖춘 Headless CMS가 아닌 이상 이미 view까지 제공하는 어떤 CMS든 SPA는 어렵다(효율이 떨어진다)고 봐야겠죠. 라이믹스도 마찬가지.
vue 2.x를 template compiler를 포함하여 ES5로 빌드하면 약 90KiB가량되네요 결코 작지않은 크기입니다. compiler를 제외하면 30KiB 가량 절약됩니다. polyfill은 따로 나뉘어진 상태.
문자열로 조립하거나 handlebars 등 템플릿 시스템을 사용한다해도 어차피 이벤트 걸어주고 데이터 관리해야할 거 그냥 컴파일러 포함해서 로드해두고 앱/컴포넌트는 빌드 없이 쓰니 편해지긴합니다. 뭐 이런 일은 많지 않을 것 같아서 vue 템플릿 컴파일러는 제외시킬까 싶습니다만..
아무튼 기반만 좀 만들어두면 문자열을 조립하는 것보다는 유지보수 비용은 낮아질 것 같습니다.
사용자가 템플릿 편집을 원할 경우를 대비해 compiler를 포함시키긴 했는데 굳이...라는 생각이 들긴하지만 템플릿 라이브러리 쓸 생각하면 그냥 포함시켜도 좋겠다는 쪽으로 기울고 있네요.
물론 사용처는 극히 제한됩니다.
검색엔진 크롤링을 생각하면.. 게시판 스킨처럼 SSR 없이는 라이믹스 템플릿과 vue 템플릿 둘 다 유지해야할 수 있어서 이런 곳에는 효율성이 떨어지는 것 같고요. 하지만 효율을 조금 포기하면 적용이 불가하지는 않은데 데이터를 받아올 API를 따로 모듈로 구현해야할 수 있을 것 같습니다(사실 이게 가장 큰 걸림돌).
RXPublic(https://github.com/rx-public) 이름으로 배포하는 자료에서 효율이 나쁘지 않은 곳에는 부분적으로 적극 활용할 생각입니다. vue와 몇가지 유틸을 제공하는 모듈을 배포해두고 이를 의존하여 다른 자료들에서 사용하는 형태로 가려고 합니다. 개별 자료마다 전부 vue를 포함하여 빌드할 순 없으니...
CKEditor 에디터 스킨을 조금 손보고 있는데 조금만 더 정리해서 베타 테스트로 배포해보려 합니다. 여기에 vue가 약간 사용되었고요.
라우터를 잘 활용하면 여러 URL을 갖는 SPA라도 라이믹스 모듈에 끼워넣을 수 있습니다. 심지어 구글은 JS로 구성되는 콘텐츠도 웬만하면 크롤링해 갈 수 있지요. 문제는 네이버 크롤러... ㅠㅠ