포럼
Core는 Server 부분과 Client 부분으로 분리시키면 어떨까요?
2014.01.24 07:05
다년간 버전별로 XE를 사용하면서 느낀 점인데...
XE Core는 PHP 스크립트와 자바스크립트는 물론이고 HTML/CSS 부분까지 제공되며 버전업 시 많은 혼란을 초래해왔습니다.
서버사이드 스크립트인 PHP의 경우는 PHP 버전업과 서버 지원 환경의 변화에 따른 어쩔 수 없는 사안입니다. 그러나 서버는 상당 기간 하위버전 지원이 동시에 이루어지므로 버그만 수정해 놓는다면 빈번한 수정이 있을 필요는 없습니다.
버전업 시 발생되는 문제들의 다수가 모듈 제어용 tpl 에서 사용되는 Client 스크립트(HTML/CSS 포함) 쪽 변경에서 나타나지만 이것들이 Core에 종속되어있는 한은 버전업마다 발생되는 혼란을 줄이기 힘들며 호환문제가 더욱 크게 부각되기도 합니다.
따라서 사용자들은 신 버전 전체를 포기하는 경우도 자주 발생하게됩니다. 그리고 불필요한 또는 중복되는 요소들을 포함한 Client 쪽 파일들이 Core 종속 파일이라는 이유로 관리가 어려워 방치되기도 하며 이러한 파일들이 다수이기때문에 퍼포먼스 적인 측면을 보아도 불리합니다. 브라우저의 다양성으로 야기되는 문제도 Client 쪽입니다.
이 모든 관련 문제들이 매 버전 업마다 발생된다고 봐야하는 것은 현실입니다.
구조적으로 Client 쪽 스크립트들을 분리하면 배포도 분리가 가능합니다. 분리되면 사용자들은 서버환경만을 고려해 Core 부분을 선택할 여지가 상대적으로 많아지고 다수의 사용자 층을 확보할 수 있습니다. 또한 Client 쪽의 문제 발생은 XE 커뮤니티의 특성상 해결할 수 있는 인력이 충분하기때문에 문제 해소 측면에서 용이합니다.
이런 것을 하려면 분리 후 Client 쪽 스크립트들에 대한 XE만의 기본 규약과 가이드라인이 필요하겠죠. 이미 어느정도는 자체적으로 갖추고있는 것으로 알고있습니다.
여기에 더해 함께 배포되는 모듈을 필수적인 것 만으로 최소화시키고 부가 기능의 모듈은 철저히 분리시키는 방안도 고려하면 좋겠고 DB 지원도 타잎에 따라 클래스를 따로 분리해 Core 배포 시 분리해 사용자가 선택할 수 있게 된다면 참 좋겠다 싶습니다.
생각나는대로 적다보니 의도를 잘 표현했는지 모르겠지만... 토론해가며 가능성과 장단점들을 짚어 보았으면 합니다.