포럼
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 배포 시 분리해 사용자가 선택할 수 있게 된다면 참 좋겠다 싶습니다.
생각나는대로 적다보니 의도를 잘 표현했는지 모르겠지만... 토론해가며 가능성과 장단점들을 짚어 보았으면 합니다.
댓글 2
-
ToFinder
2014.01.24 12:28
-
Cody
2014.01.25 08:59
모듈 분리는 이미 되어져 있고 분리 배포도 가능합니다만,
코어포함 배포 모듈들이 필수 모듈이냐 아니냐를 따지는 문제에선 약간의 정리는 필요할 것 같습니다.
그리고 타 모듈의 리소스를 이용하는 것은 일반이고 정상인데요.
데이터가 없거나 모듈이 존재하지 않을 시 다른 모듈의 템플릿 등에서 오류가 발생하는 것과 같은 문제는 조건문을 추가함으로 쉽게 수정될 수 있는 사안인 것 같습니다.
음.. 이 부분에 대해서 의견이라곤.. 현제 XE의 경우 board wiki forum 등등
서드파티? 개발자분들( 이게 맞는 표현인지? ㅎㅎ. )이 직접적으로 만들고 있지 않는 현실이지요
가령 XE가 코어부분과 기본적인 도큐먼트 부분만 가지고 나머지는 알아서 해결 하시오 한다면
정말 완벽한 분리가 되어질 수 있다고 보여집니다.
하지만. 개발자가 XE 코어의 기준으로 board 를 만들고 거기에 맞춰서 다른것을 손을 댄다면
코어에 존속되어질 수 밖에 없다고 보여지네요. 제가 생각해도 별 문제가 없으니까요.
특히 카운터 모듈의 경우 삭제를 할 시 어드민 메뉴에서 표현이 되어지지 않고 오류가 나오죠.
존속되어진것이니 이것을 별도로 애드온과 모듈로 만들 개발자가 있다면 XE 역시 이러한
부분에 대해서 생각을 하지 않겠다는 생각을 해보네요.
결론을 내리자면 현제 XE팀에서 가지고 있는 코어외의 모듈을 다른 팀에서 다 가져가 버리고
상호 문제점을 나눈다면 해결될 듯 합니다. ( 금전적인 부분때문에 이게 이루어질지는... )