node기반이 아니고 SSR 기반을 갖춘 Headless CMS가 아닌 이상 이미 view까지 제공하는 어떤 CMS든 SPA는 어렵다(효율이 떨어진다)고 봐야겠죠. 라이믹스도 마찬가지. 

 

vue 2.x를 template compiler를 포함하여 ES5로 빌드하면 약 90KiB가량되네요 결코 작지않은 크기입니다. compiler를 제외하면 30KiB 가량 절약됩니다. polyfill은 따로 나뉘어진 상태.

 

36A7814C-B929-4E03-9069-F746ABB7826C.png.jpg

 

 

문자열로 조립하거나 handlebars 등 템플릿 시스템을 사용한다해도 어차피 이벤트 걸어주고 데이터 관리해야할 거 그냥 컴파일러 포함해서 로드해두고 앱/컴포넌트는 빌드 없이 쓰니 편해지긴합니다. 뭐 이런 일은 많지 않을 것 같아서 vue 템플릿 컴파일러는 제외시킬까 싶습니다만..

 

아무튼 기반만 좀 만들어두면 문자열을 조립하는 것보다는 유지보수 비용은 낮아질 것 같습니다.

사용자가 템플릿 편집을 원할 경우를 대비해 compiler를 포함시키긴 했는데 굳이...라는 생각이 들긴하지만 템플릿 라이브러리 쓸 생각하면 그냥 포함시켜도 좋겠다는 쪽으로 기울고 있네요.

 

물론 사용처는 극히 제한됩니다.

검색엔진 크롤링을 생각하면.. 게시판 스킨처럼 SSR 없이는 라이믹스 템플릿과 vue 템플릿 둘 다 유지해야할 수 있어서 이런 곳에는 효율성이 떨어지는 것 같고요. 하지만 효율을 조금 포기하면 적용이 불가하지는 않은데 데이터를 받아올 API를 따로 모듈로 구현해야할 수 있을 것 같습니다(사실 이게 가장 큰 걸림돌).

 

RXPublic(https://github.com/rx-public) 이름으로 배포하는 자료에서 효율이 나쁘지 않은 곳에는 부분적으로 적극 활용할 생각입니다. vue와 몇가지 유틸을 제공하는 모듈을 배포해두고 이를 의존하여 다른 자료들에서 사용하는 형태로 가려고 합니다. 개별 자료마다 전부 vue를 포함하여 빌드할 순 없으니...

 

CKEditor 에디터 스킨을 조금 손보고 있는데 조금만 더 정리해서 베타 테스트로 배포해보려 합니다. 여기에 vue가 약간 사용되었고요.

TAG •
  • profile

    라우터를 잘 활용하면 여러 URL을 갖는 SPA라도 라이믹스 모듈에 끼워넣을 수 있습니다. 심지어 구글은 JS로 구성되는 콘텐츠도 웬만하면 크롤링해 갈 수 있지요. 문제는 네이버 크롤러... ㅠㅠ

  • profile ?
    SSR 포기하더라도 게시판 스킨 하나 배포하려고 모듈을 만드는 시점부터 유지보수 헬이 되니까요. 서비스를 만든다면 도전해볼만하지만 불특정 다수가 사용하는 배포용이면..

    네이버도 스크립트를 동작시켜 크롤링하지 않나요? XE3 댓글 부분이 온전히 ajax로 가져와 뿌리는데 네이버에 잘 크롤링되어있습니다.
  • profile
    예전에 한 번 시도해봤었는데 사용할 수 있는 영역이 한정적이고 템플릿 관리가 복잡해지며, 무엇보다 커뮤니티에게는 중요한 SSR에 영향을 주기 때문에… 포기했습니다ㅠ 그래도 상태관리가 필요한 곳에서는 잘만 쓰면 좋을 것 같긴 합니다. inline vue 자체가 아쉬운 점들이 많긴 한데 이미 XE3에서 vue를 쓰고 있으니 그쪽 형태와 비슷하게 활용해봐도 좋을 것 같습니다.
  • profile ?
    네. SSR이 중요치 않은 부분이나, 어차피 ajax로만 뿌리는 요소 등에 한하여 적용할 수 있을 것 같습니다.
    글쓰기 화면의 에디터 부분(파일 업로드 UI)에 적용해보고 있습니다.
    (PS. Slow 테마 패키지 너무 이쁩니다)