배경
XE1 에서 XE3으로의 변화
- XE1 이 시작한 2007년 이래 XE 는 계속해서 사용자들의 요구사항�� 변화하는 웹 개��� 트렌드에 맞���어 변화하��� 또 발전해 왔습니다. 근래에는 CMS 고유의 기능에 더해 보안 이슈에 대응하는 데 초점을 맞���어 계속해서 버전업을 지속해 나������ 있습니다.
- 스마트폰의 등장으로 인해 웹사이트�� 비롯한 웹서���스는 다양한 도전에 직면하��� 되었습니다. 반응형 디자인��, 모���일 페이지 대응, UX라고 일컫는 컨텐���를 사용자에��� 전달하는 방식의 변화등 다양한 변화 앞에서 XE 또한 다양하��� 노력해 왔습니다.
- XE가 이러한 변화를 하는 동안 XE의 근본이 되는 php 환경 또한 변화되어 왔습니다. XE가 처음 세상에 나온 이후��� php는 네임스페이스, 트레이트, 제너레이터, 클로저등의 다양한 요소들을 추���해 왔���, 2012년 의존성 관리 도구인 composer 의 등장으로 인해서 보다 현대적인 php 개���방법에 대한 논의��� 활���하��� 진행되어 왔습니다. 최근의 PHP는 다양하��� 폭넓은 애플리케이션, 방대한 라이브러리와 사용자층을 갖������ 현대적인 프���그래��� 기���을 제공하는 언어로 변화하��� 있습니다.
- 최근에는 라라�� 프레임워크와 같은 보다 생산적이고, 세련된 개���을 할 수 있��� 도와주는 많은 툴들�� 패키지들이 나오면서 php�� 통한 웹 개���환경은 크게 변화하��� 있습니다.
- XE3는 그러한 환경에 발������기 위한 고민에서 부터 출���하여 새롭게 선보여 드리는 CMS 입니다.
- 라라벨과 composer�� 기���으로 하여 보다 생산적이고, 세련된 개���을 할 수 있는 다양한 기능들을 CMS로 구성하여 제공합니다.
모던 PHP - 현대적인 PHP 개���
- php 는 프���그래��� 언어로써 많은 결함이 있다고 알려져 왔습니다. 제대���된 OOP�� 구현하��� 못한다는 의심으로 부터 잘못된 프랙탈이라고 하는 공격을 받아왔습니다. 하������ 그럼에도 불구하��� php는 전세계 서��� 사이트 프���그래���의 80%이상을 차���하��� 있을 만큼 다양한 사용자를 가������ 있습니다. (http://w3techs.com/technologies/history_overview/programming_language/ms/y) 최근의 php는 보다 현대적인 개��� 방���을 정립하��� 보다 생산적이고 효율적인 개���을 지향하��� 있습니다. 이러한 PHP �� 모던PHP 라고 지칭하며 이전의 개���방법과는 다�� 모습을 구성하��� 있습니다.
Composer 의 이해
- 모던PHP에서 composer 는 기본적이고 필수적인 요소라고 할 수 있습니다. composer 는 php �� 개���하는데 있어서 패키지���의 의존성을 관리하는 의존성 관리자���, node.js 의 npm, ruby의 bundle�� 같은 역할을 수행합니다. php�� 개���하는데 있어서 다양한 패키지들을 설치하��� 의존성을 관리하며 Autoload�� 사용하는데 Composer가 �� 필요하다고 할 수 있습니다. 모던 PHP 에서는 PSR 기���의 autoload 방���을 권장하��� 있으므��� composer 는 모던PHP 개���을 하는데 기���적으로 이해하��� 있어야 될 요소라고 할 수 있습니다.
PHP 버전
- 현재 안정적인 PHP 의 버전은 5.6 입니다. (support php version)[http://php.net/supported-versions.php] php는 5 대에 이르러서(주요하���는 5.3 이후) 네임스페이스, 트레이트, 제너레이터, 클로저등의 다양한 언어적 기능들을 갖������ 있습니다. php 5.5 부터는 OPCache 가 내장되어 보다 빠른 성능을 보여주��� 있으�� 차기 버전인 PHP 7.0 에서는 하위 호환성을 지키면서도 보다 나은 성능을 보여주��� 있습니다. php는 현재 5.6을 공식적으로 지원하��� 있으�� 5.5 버전은 보안패치���을 지원하��� 있습니다. 따라서 현재 사용하는 php 버전이 5.5 미���을 사용하��� 있다�� 사용하는 php 버전을 더 높은 버전으로 업그레이드 하는���이 좋습니다.
Laravel Framework 도입
- XE3 �� 구성함에 있어서 새���운 웹 개��� 환경�� 사용자의 다양한 요구사항들에 대응하기 위해서 보다 생산적이고 범용적인 방���들이 논의되었습니다. �� 결과 모든���을 처음���터 새롭게 구성하기 보다는 잘 정립되어 있는 프레임워크�� 도입하여 보다 안정적이고, 생산적으로 개���을 진행하는 것이 구조적인 안정성�� 더���어 바퀴�� 재발���하��� 않���서도, CMS 자체의 기능에 집���할 수 있는 방���이라고 생���되었습니다. 라라�� 프레임워크는 �� 고민의 결과로 도입된 PHP 프레임워크로 최근의 php 프레임워크중에서 가장 세련된 기능들을 제공하��� 있으��, 활���한 커뮤니티�� 통해서 손쉽게 정보�� 확인할 수도 있었습니다.
- XE3 는 Laravel 프레임워크의 핵심적인 기능들을 활용하여 CMS �� 구성하��� 있으�� 많은 부���들을 Laravel 프레임워크�� 기���으로 구성되었습니다. Storage, Session, Cache 에서 부터 QueryBuilder, Routing, IoC Contailer에 이르는 핵심적인 기능들은 XE3 가 보다 더 Test 가 가능하���, 핵심적인 CMS 로���에 집���할 수 있도��� 해주었습니다.