XE 아마추어 개발자였다가, 원하는 서비스를 XE로 구현하는데 코어의 마개조가 필요해서 손 떼고있다가

XE3 dev버전 출시 후 약 3달간 잡고 현재 꽤나 만족하며 XE3기반의 서비스 개발을 하고 있습니다.

 

말 그대로 주절주절입니다만, 요 3달간 느낀 XE3의 장점과 단점을 나열해보도록 하겠습니다.

 

우선 첫번째 첫 인상은, XE와 다르다는 점이였습니다.

버전이 2 나 올라갔는데 안다르겠냐는 물론 당연한 것이지만, 이건 상당히 달랐습니다. 라라벨 프레임워크 기반에, 모던 PHP 뭐시기, 각종 딸려오는 React나 부트스트랩 뭐시기 등등 상당히 달랐습니다, 같은 것이 있었다면 문서 관리 되고 관리하는 대시보드 명칭이 대시보드 였다는 점, 그것 외에는 상당히 달랐습니다.

 

두번째 첫 인상은, XE보다 얼핏 비교했을 때 더 느리다는 것이였습니다.

어떤 분이 XE 깔은 후 첫페이지와 XE3 깔은 후 첫페이지 리스폰스 속도 측정한거 있었는데, 이게 성능이 낮아질수록 그 격차가 커져서 더 심합니다.

사실 이 부분에서 제일 실망했습니다. 아.. 이거 최적화 문제는 고질적인 것인가 아아아아아... 하면서 가장 처음 뚜껑을 열었을때는 상당히 실망했습니다.

 

그래도 개발은 XE3로 하자는 방침이 정해졌었기 때문에, 불확신감 들면서 파는 것을 시작했습니다.

 

일단 장점을 먼저 나열해보면 다음과 같습니다

 

우선 코드가 상당히 짧고 간편해졌습니다, 이건 XECON에서도 언급 된 내용이긴 합니다만. 말 그대로 정말 코드가 짧아졌습니다. 그리고 적기 간편해졌습니다, 프레임워크 위에 API를 더 얹은셈이니 당연히 간편하다면 간편하겠지 라지만 이건 정말 상당히 편합니다.

 

XE3를 설치해본사람은 아시겠지만, 게시판이 코어가 아니라 플러그인 란으로 가있습니다. 게시판 내부의 기능은 게시판 플러그인에 다 모여있고, 필요한 기능만 코어에서 가져와서 쓰는 형식으로 되어있습니다. 그러니까 뭔가를 수정하기 위해서 건드린다면 플러그인 파일만 건드리지 코어 파일을 건드리는 일이 최소화 되었습니다.

 

두번째로 최적화가 용이합니다, XE에서는 lang.xml불러오고 난리도 아니였는데 이번에는 lang.xml이 없어도 어째서인지 첫 페이지 로딩속도가 상당히 더디었습니다. 근데 그게 보니까 처음 시작할때 프론트엔드에서 이것저것 막 가져오더라구요, 이걸 어떻게 하지 하다가 보니까 이게 코어 수정할필요가 없더라구요 필요한 플러그인, 혹은 필요한 페이지에서 필요하지 않은 CSS나 JS를 가져오지 않게 함으로써 불러오는 속도를 유동적이게 설정할 수 있게 되었습니다

 

Frontend::css(
            [
                '/plugins/ckeditor_plugin/assets/compiler/hashTag.css',
                '/plugins/ckeditor_plugin/assets/compiler/prism.css',
                '/plugins/ckeditor_plugin/assets/compiler/mermaid.css',
                '/plugins/ckeditor_plugin/assets/compiler/mermaid.forest.css',
                '/assets/vendor/core/css/xe.css',
            ]
        )->unload();

 

막 이래요 막 막

제 노트북에서 처음 로드하는데 3초 걸렸던게 처음 로드하는데 1초로 팍 줄게되는 기적을 보았습니다 으헝헝

하지만 대신 서버에 의존하는게 강해져서, XE3를 키우려면 탄탄한 서버는 일단 필수적으로 요구됩니다

 

세번째로 확장이 끝내줍니다 이건 사실 첫번째 이유와 일맥상통 하는데요, 말 그대로 코어는 코어의 역할만 충실히 하는지라 전 같으면 기본으로 제공되는 게시판 모듈이라던가 그런거 지우면 에러를 뿜뿜해댔는데 그런게 상당히 최소화되었습니다. 쓰고싶지 않으면 안쓰면 되요. (물론 그 전에 게시판을 사용하는 메뉴라던가 그런거 처리는 해줘야합니다 크헝) 알림센터같은 경우도 이번에는 없지만 코어 곳곳에 인터셉트 지점이 있어서 필요하면 얼마든지 만들어 낼 수 있습니다, 그리고 XE 코어만 있는게 아니라 라라벨을 기반으로 하는 것도 있다보니까 XE 코어 말고도 라라벨 코어와 섞어가면서 라우트 자유 지정하고 메뉴에만 의존하는 그런 형태를 벗어나게 되었습니다. 다국어 지원도 꽤 괜찮은 편이구요.

 

일단 제가 느낀 장점은 이 정도입니다, 물론 단점도 있죠

 

첫번째로 진입장벽이 높습니다. 네, XE가 플러그인 자료실도 만들고 뭐하고 하겠다지만은 XE1과 비교했을때 코드 수정하는 것도 스킨 만드는 것도 난이도가 훨씬 높아지고 손 볼 곳도 많아졌습니다. 그러니까 웹개발자가 아니라 웹마스터이신 분들은 상당히 사용하시기 껄끄러울거에요

 

두번째로 서버부담이 높습니다. 이건 사실 개개인차며 코드의 차입니다만, 기존에 XE를 돌리던 서버에 XE3를 깔아서 운영하신다면 각오는 좀 해두셔야합니다, 코드를 작성하기 편리하고 유용한 것은 좋지만 반대로 말하면 페이지 렌더링 하는데 거치는 요소가 XE보다 많아졌습니다. 모던 PHP 문법을 사용하기 때문에 그렇게 많이 느려진 편은 아니지만 XE처럼 마구잡이 식으로 확장하고 위젯 넣는 형태를 취한다면 어쩔수 없이 서버에 필요한 요구 사양이 높아질 수 밖에 없습니다.

- 물론 이건 개인적 견해입니다, 사실과는 다를 수 있습니다.

 

 

네 그런고로 잠시 개발하다 쉴겸 작성해 본 글이였습니다.

 

어디까지나 주관적 의견이라서 틀린점도 있으니 지적해주시면 달게 받으나 반영은 안하겠습니다. 뿌잉

 

해피뉴이어

 

 

 

 

TAG •
  • ? Lv7
    xe3 많이 이용하엿을대 오픈하더라도 꺼리 하는사람들이 잇을것같습니다
    소스 보면 기존 xe에 대한 것이 확박기고 라발벨(?) 을 새로 또 배워야지만 이용할수가잇으니간욬ㅋ
    레이아웃 을 어떻게 짜느냐에 또 문제죠 ㅜㅜ;;
  • ? Lv9
    xe3의 진입장벽이 돈벌이가 된다는 말인가 ^^&