조회 수 63 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄 첨부
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄 첨부

프로젝트의 필요에 의해서 우연히

Xpress Engine 1.11.6을 PHP 8.0으로

마이그레이션하게 되었습니다.

 

xpress engine.png

 

아래의 페이지에서

PHP 8.0에 포팅된 Xpress Engine 1.11.6을

살펴보시고 다운로드하실 수 있습니다.

 

http://singleview.co.kr/appstore/20011

 

정확히는

저희 싱글뷰가 그 동안

별도의 브랜치 코드로 관리하던 기능들도

XE core에 이식하고 버전을 1.12로 변경했습니다.

 

하지만

주로 Xpress Engine의 약점이었던

쇼핑몰 관련 기능과

 

알려진 보안 취약점 패치이기 때문에

기존 사용 방식에서 달라진 것은 거의 없습니다.

 

1.

싱글뷰가 XE를 계속 사용하는 이유는?

 

결론부터 말씀드리면

한국인에게 익숙한 UI 구조 때문입니다.

 

한국의 CMS 관련 논의를 살펴보면

크게 두 가지 흐름인 것 같습니다.

 

Word Press가 최고! vs. Xpress Engine 지원 종료?

 

*.

확장성과 개발자 커뮤니티, 디자인 자원 기준에서는

Word Press가 절대적으로 우수합니다.

 

그런데

Word Press는 서양 문화권에서 설계했기 때문에

여러가지 UI 구조가 한국인의 습관과

다소 맞지 않는 문제가 있습니다.

 

그래서

Word Press로 만든 한국 사이트들은

매우 세련됬지만 사람 냄새가 나지 않는 경우가 많아 보입니다.

 

*.

Xpress Engine을 비난할 이유는

Word Press를 칭송할 이유만큼 많아 보입니다.

 

그럼에도 저희 싱글뷰가

국내 프로젝트를 성공시키기 위해

Xpress Engine을 반복하여 선택하는 이유는

 

네이버라는 한국 회사에서 설계했기 때문에

여러가지 UI 구조가 한국인에 매우 익숙하다는

딱 한 가지 장점 때문입니다.

 

xpress engine ck editor.png

- 지금은 낡은 감이 있지만 기본에 충실한 XE CK Editor입니다.

 

네이버가 Xpress Engine에 열심히 투자할 때에

네이버 블로그 에디터와 댓글 쓰레드 방식을

Xpress Engine과 매우 유사하게 유지했습니다.

 

네이버 블로그 댓글 스레드.png

 

그리고 지금까지도

많은 한국인들이 네이버 앱을

인터넷 브라우저 앱과 구별하지 않습니다.

 

그래서

네이버가 밑그림을 그려준 XE의 UI 구조는

한국인에게 절대적으로 익숙할 수 밖에 없고

 

특히,

사이트 방문자와 상호 작용을

최대한 이끌어 내야 하는 프로젝트에서는

Xpress Engine만한 CMS를 

저희는 아직 찾지 못했습니다.

 

Xpress Engine의 Core 유지 보수도

싱글뷰가 자체적으로 진행할 수 있기 때문에

공식 지원이 종료되었다 해도

현실적으로 답합할 이유는 없습니다.

 

하지만

뭔가 허전하고 서글픈 마음은 가시지 않습니다.

 

익스프레스 엔진 종료는 서글품.jpg

Fashion 사진는 cookie_studio - kr.freepik.com가 제작함

 

단지

네이버가 손을 떼서 XE 1.0이 좌초한 것일까요?

 

2.

싱글뷰가 마이그레이션한 XE core는 PHP 8.0까지만 지원합니다.

 

PHP 8.1부터는 $GLOBALS라는

특수한 전역 변수를 아예 없애 버렸는데

 

XE v1이 이 $GLOBALS라는 전역 변수에

매우 심하게 의존하여 작동하기 때문에

 

Xpress Engine이 이 전역 변수를

사용하지 않도록 하는 마이그레이션은

처음부터 재설계라고 해도 과언이 아닙니다.

 

php 8.jpg

 

그래서 만약

저희 싱글뷰가 우연히 필요에 의해

XE를 PHP 8 1로 포팅한다면

더 이상 Xpress Engine이라고

부르기 어려울 것 같습니다.

 

그런데 이런 방향의 작업은

네이버로부터 XE를 인수한 업체에서

이미 열심히 진행하는 것으로 보입니다.

 

3.

다른 모듈을 PHP 8.0으로 마이그레이션하는 작업도 어렵지 않습니다.

 

PHP 8의 요구는 간단합니다.

이해할 수 있고 명시적인 문법을

이제는 지키자는 것 뿐입니다.

 

PHP 7까지는 지극히 느슨한 문법 체계여서

혼란스럽거나 모호한 코드가 매우 많았습니다.

 

십수년전에는 사용자가 폭발적으로 증가했지만

이제는 낡고 비효율적인 언어의 상징이 대상이 되었습니다.

 

저희 싱글뷰가 애용하는 Xpress Engine조차도

$GLOBALS라는 모호한 전역 변수에 과도하게 의존하여

 

많은 복잡한 문제를 간단히 해결했지만

그 만큼 내부 처리가 비효율적이고 

동일 실행 환경에서 처리 속도가 매우 느리며

상대적으로 보안에 취약한 부분이 여전히 남아있습니다.

 

그래서

PHP 7 코드를 PHP 8로 마이그레이션하는 노력은

아래와 같이, 사실은 당연한 상식에 불과합니다.

 

관료적인 규약이 아니고

지키면 결국 개발자에게 더 좋은 코딩 습관입니다.

 

*.

클래스의 static 메소드를 명시적으로 사용하자.

 

*.

변수형은 명시적으로 정의해서 사용하자.

 

*.

create_function()은 이제는 쓰지 말자.

 

그래서

교과서적인 코딩의 표준을 준수했다면

PHP 7 이하에서 작성한 코드도

PHP 8에서 아무런 이상없이 작동하는 경우도 있습니다.

 

저희가 Xpress Engine 1.11.6을

PHP 8.0으로 마이그레이션 하면서

메모해 둔 주요 패턴들은 아래의 페이지에서

쉽게 확인하실 수 있습니다.

 

정말 별거 없기 때문에

마음만 먹으면 누구나 쉽게

Xpress Engine의 기존 모듈을

PHP 8.0으로 마이그레이션하실 수 있습니다.

 

물론,

여러가지 사정으로 부담스러우시면

저희 싱글뷰와 논의해 보시는 방법도 있습니다.

 

4.

Xpress Engine은 한국 CMS의 밝은 빛을 제시했습니다.

 

그런데 안타깝게도

2019년 10월 말에 1.11.6 버전을 발표한 후

사실 상 오픈소프 프로젝트를 종료했습니다.

 

Xpress Engine 운영진의 내부 사정이나

Xpress Engine Core의 장단점, 혹은 미래 방향성은

저희 따위가 함부로 논의할 문제가 아니지만

Xpress Engine을 버리기에는 왠지 서글픕니다.

 

저희 싱글뷰도

Xpress Engine을 기반으로 

여러 온라인 성과 개선 프로젝트를 진행하다보니

Xpress Engine에 의존적인 자체 개발 모듈을

상당히 많이 보유하게 되었습니다.

 

Xpress Engine에서 Fork된 쓸만한 CMS도 있지만

Fork CMS로 기존 모듈을 마이그레이션하는 노력이라면

이제는 Word Press가

더 가성비 높은 투자일 것 같습니다.

 

일부 Forked CMS는 Xpress Engine보다

기술적으로 더 진보했지만

자신들의 근간인 XE 1을 필요 이상으로 비난하며 적대시하고

기존 XE 1 운영진은 유능한 사용자 집단과

대화를 거부하는 것 같습니다.

 

기술적으로 더 진보한 Forked XE에서는

Xpress Engine 1에서 작동하던

다수의 창의적인 모듈과 사이트 레이아웃은

작동하지 않는 경우가 많습니다.

 

기존 XE 운영진이 버전업한 XE 3는

XE 1과 호환성을 전혀 고려하지 않았고

마이그레이션은 알아서 하라고 권고합니다.

 

그 결과,

XE 3와 Forked XE 양쪽의 사용자는 모두 다 감소하고

Wix나 아임웹과 같은 임대형 유료 CMS로 이탈한 분위기입니다.

 

이와 같은 분위기에서

XE 3와 Forked XE에서 모두

개발자와 디자이너 참여도 침체된 것 같습니다.

 

WordPress, Drupal 등과

어깨를 나란히 하는

K-CMS의 시작이었을지도 모르는

Xpress Engine은 그렇게 

사그러져 가는 것으로 보입니다.

 

저희 싱글뷰도

Xpress Engine은 PHP 8.0까지만 사용하고

Word Press에서 한국적인 UI를 구현하는 방법을

연구해야 할 때가 곧 올 것 같습니다.

?

  1. 08
    May 2022
    17:57

    구글 태그 매니저로 웹 사이트 히트맵을 추출하는 법 - 6

    지난 포스팅에서는 모바일 페이지에서 불필요해 보이는 섹션을 제거하고 원본 페이지와 AB split test를 시행해보니 예상과 달리, 회원 가입 전환율이 오히려 하락한 상황까지 살펴봤습니다. 지난 포스팅 보러가기 1. UX 테스트는 하는 것이 하지 않는 것보다 ...
    Bysingleview.co.kr Views12
    Read More
  2. 01
    May 2022
    11:32

    구글 태그 매니저로 웹 사이트 히트맵을 추출하는 법 - 5

    온라인으로 컨텐츠 서비스를 확장 중이지만 재무 성과가 기대에 미치지 못해서 고민에 빠진 전통 잡지사의 현황을 측정하기 위해 Click Heatmap과 Scroll Depth %라는 측정 도구를 적용하기로 결정한 의사 결정 과정을 지난 포스팅에서 간단히 알아봤습니다. ...
    Bysingleview.co.kr Views20
    Read More
  3. 23
    Apr 2022
    13:49

    구글 태그 매니저로 웹 사이트 히트맵을 추출하는 법 - 4

    구글 태그 매니저를 이용해서 Click Heatmap과 Scroll depth %의 로우 데이터를 직접 더 정교하게 수집하는 방법을 지난 포스팅에서 자세히 알아보았습니다. 지난 포스팅 보러가기 이제 수집된 로우 데이터를 분석해서 시행 방안을 개선해야할 차례입니다. 이 ...
    Bysingleview.co.kr Views57
    Read More
  4. 17
    Apr 2022
    17:32

    구글 태그 매니저로 웹 사이트 히트맵을 추출하는 법 - 3

    지난 포스팅에서는 유료 솔루션을 사용하지 않고 Click Heatmap의 로우 데이터를 직접 더 정교하게 수집하는 방법 중에서 저수준 자바스크립트 API로 구글 애널리틱스에 직접 전송하는 방식을 자세히 알아봤습니다. 이전 포스팅 보러가기 이번 포스팅에서는 구...
    Bysingleview.co.kr Views60
    Read More
  5. 10
    Apr 2022
    13:48

    구글 태그 매니저로 웹 사이트 히트맵을 추출하는 법 - 2

    지난 포스팅에서는 현재 웹사이트의 UX 평가 과정에서 Click Heatmap이 매우 유용한 도구이지만 몇 가지 분명한 한계 때문에 체험판을 넘어서는 기능을 이용하기 위해 비용을 지불하는 절차가 매우 번거롭게 느껴질 수 있는 이유를 간략히 알아봤습니다. 이전 ...
    Bysingleview.co.kr Views78
    Read More
  6. 03
    Apr 2022
    14:07

    구글 태그 매니저로 웹 사이트 히트맵을 추출하는 법 - 1

    이번 포스팅부터 몇 회에 걸쳐 UX 평가에 매우 유용한 도구인 Click 혹은 Scroll 시각화를 구글 태그 매니저와 구글 애널리틱스를 활용하여 직접 측정하는 방법을 알아보겠습니다. 웹 사이트의 UI와 관련된 업무를 하다보면 UX에 관한 고민이 시작될 수 밖에 ...
    Bysingleview.co.kr Views73
    Read More
  7. 27
    Mar 2022
    17:02

    Xpress Engine 1.11.6을 PHP 8.0으로 마이그레이션 완료

    프로젝트의 필요에 의해서 우연히 Xpress Engine 1.11.6을 PHP 8.0으로 마이그레이션하게 되었습니다. 아래의 페이지에서 PHP 8.0에 포팅된 Xpress Engine 1.11.6을 살펴보시고 다운로드하실 수 있습니다. http://singleview.co.kr/appstore/20011 정확히는 저...
    Bysingleview.co.kr Views63
    Read More
  8. 13
    Nov 2021
    15:30

    구글 데이터 스튜디오를 이용해서 애널리틱스 4의 구매 전환율 확인하는 방법

    신버전인 구글 애널리틱스 4는 구버전인 유니서벌 애널리틱스에 비해서 데이터 모델을 근본적으로 혁신해서 더 강력하고 유연한 기능을 제공하지만 구버전인 유니버설 애널리틱스에 비해서 의외의 약점이 있습니다. 이번 포스팅에서는 신버전인 구글 애널리틱...
    Bysingleview.co.kr Views488
    Read More
  9. 06
    Nov 2021
    11:26

    구글 애널리틱스 4의 구매 전환 FUNNEL 보고서 활용법 - 마지막

    이번 포스팅에서는 Explorer 화면으로 접근하실 수 있는 FUNNEL 보고서를 활용하는 사례를 살펴보겠습니다. 지난 포스팅에서는 구글 애널리틱스 4의 Explorer 화면 중 Tab Settings 탭을 자세히 알아봤습니다. Explorer 화면 중 Tab Settings 탭 알아보기 그런...
    Bysingleview.co.kr Views455
    Read More
  10. 30
    Oct 2021
    15:01

    구글 애널리틱스 4의 구매 전환 FUNNEL 보고서 활용법 - 2

    지난 포스팅에서는 구글 애널리틱스 4의 Explorer 화면 중 Variables 탭을 자세히 알아봤습니다. Explorer 화면 중 Variables 탭 알아보기 이번 포스팅에서는 Explorer 화면 중 Tab Settings 탭을 살펴보겠습니다. 1. Tab Settings 탭의 속성 이해하기 이 탭은...
    Bysingleview.co.kr Views639
    Read More
  11. 24
    Oct 2021
    06:34

    구글 애널리틱스 4의 구매 전환 FUNNEL 보고서 활용법 - 1

    오늘은 구글 애널리틱스 4의 구매 전환 FUNNEL 보고서를 생성하는 방법을 살펴 보겠습니다. 지금까지 gaectk.js와 구글 태그 매니저를 이용해서 구글 애널리틱스 4(=신버전), 유니버설 애널리특스(=구버전)의 이커머스 데이터를 통합하여 수집하는 설정 방법을...
    Bysingleview.co.kr Views425
    Read More
  12. 16
    Oct 2021
    09:44

    구글 애널리틱스 4의 전자상거래 측정 방식을 알아보세요. - Google Analytics 4 + GTM + gaectk.js

    이번 포스팅에서는 구글 태그 매니저를 이용해서 구글 애널리틱스 4(=신버전)의 이커머스 데이터 수집 설정 방법을 살펴보겠습니다. 동일한 상황에서 유니버설 애널리틱스(=구버전)의 이커머스 데이터 수집 설정 방법이 궁금하시다면 전 포스팅을 확인해 주세...
    Bysingleview.co.kr Views168
    Read More
  13. 05
    Oct 2021
    11:28

    구글 애널리틱스 4의 전자상거래 측정 방식을 알아보세요. - Universal Analytics + GTM + gaectk.js

    지금까지 구글 애널리틱스의 이커머스 데이터 수집 방식에서 유니버설 애널리틱스와 구글 애널리틱스 4 구글 태그 매니저의 복잡한 상호 관계에 대해서 정확히 이해하기 위해 상당히 많은 시간을 할애했습니다. 이제 구글 태그 매니저를 이용해서 유니버설 애...
    Bysingleview.co.kr Views175
    Read More
  14. 26
    Sep 2021
    20:01

    구글 애널리틱스 4의 전자상거래 측정 방식을 알아보세요. - 2

    이전 포스팅에서는 이커머스 데이터 수집 기능과 관련된 유니버설 애널리틱스와 구글 애널리틱스 4의 같은 점과 다른 점을 개략적으로 살펴봤습니다. 이전 포스팅 보러 가기 더하여, 유니버설 애널리틱스와 구글 애널리틱스 4의 이벤트 데이터 모델을 충분히 ...
    Bysingleview.co.kr Views183
    Read More
  15. 22
    Sep 2021
    12:59

    구글 애널리틱스 4의 전자상거래 측정 방식을 알아보세요. - 1

    지금까지 유니버설 애널리틱스와 구글 애널리틱스 4의 이벤트 데이터 모델을 자세히 살펴 본 이유는 결국 이커머스 데이터를 수집하고 분석하기 위한 기초 지식이었다고 해도 과언이 아닙니다. 구글 애널리틱스의 버전과 무관하게 이커머스 데이터도 이벤트를 ...
    Bysingleview.co.kr Views361
    Read More
  16. 12
    Sep 2021
    09:34

    구글 애널리틱스 4의 이벤트 측정 방식을 알아보세요. - 5

    이제 Google Analytics 4의 Custom event를 살펴볼 차례입니다. 만약 Recommended Events의 개념을 머리속으로 정확히 떠올리실 수 없다면 이전 포스팅을 확인하셔야 합니다. 이전 포스팅 보러 가기 Universal Analytics에 익숙한 개발자라면 Google Analytics...
    Bysingleview.co.kr Views233
    Read More
  17. 04
    Sep 2021
    20:44

    구글 애널리틱스 4의 이벤트 측정 방식을 알아보세요. - 4

    Universal Analytics는 session base의 Analytics였습니다. 하지만 Google Analytics 4는 event base의 Analytics로 변신했습니다. 그래서 Google Analytics 4를 이해하는 노력은 Google Analytics 4가 제공하는 다양한 기본 혹은 사용자 정의 이벤트를 이해하...
    Bysingleview.co.kr Views218
    Read More
  18. 28
    Aug 2021
    17:57

    구글 애널리틱스 4의 이벤트 측정 방식을 알아보세요. - 3

    이번 포스팅에서는 Google Analytics 4의 이벤트 추적과 수집 기능을 자세하게 알아 보겠습ㄴ다. 사실 이전의 두 포스팅은 Google Analytics 4의 이벤트 추적 기능을 본격적으로 살펴보기 위한 워밍업이었다 해도 과언이 아닙니다. 이전 포스팅 보러 가기 저희...
    Bysingleview.co.kr Views252
    Read More
  19. 21
    Aug 2021
    11:29

    구글 애널리틱스 4의 이벤트 측정 방식을 알아보세요. - 2

    이전 포스팅에서는 구글 애널리틱스의 가장 핵심적인 모델 중 하나인 구글 애널리틱스 이벤트 데이터 모델을 살펴보기 시작했습니다. 구글 애널리틱스의 이벤트 데이터 모델 알아보기 구글 애널리틱스 이벤트 데이터 모델을 충분히 이해하셨다면 이번 포스팅에...
    Bysingleview.co.kr Views244
    Read More
  20. 11
    Aug 2021
    17:49

    구글 애널리틱스 4의 이벤트 측정 방식을 알아보세요. - 1

    구글 애널리틱스 v4는 그 직전 버전인 유니버설 애널리틱스와 구조적으로 많이 다릅니다. 구글에서 일하는 개발자들에게도 서비스의 구조 변화는 달갑지 않은 도전이죠. 구글이 Urchin을 인수한 후에도 계속하여 개선했지만 현재의 인터넷 사용 방식과 기술은 ...
    Bysingleview.co.kr Views8968
    Read More
Board Pagination Prev 1 2 3 Next
/ 3
SEARCH