가끔 생각하는데, XE에 들어가있는 xml들을 json으로 바꿔서 쓰면 매우 편리할것 같다는 생각이 듭니다.
좀 더 망상해서 js 친화적으로 가서 레이아웃을 vue라든지 React로 구현하는거죠.
여튼 그놈에 xml...
가끔 생각하는데, XE에 들어가있는 xml들을 json으로 바꿔서 쓰면 매우 편리할것 같다는 생각이 듭니다.
좀 더 망상해서 js 친화적으로 가서 레이아웃을 vue라든지 React로 구현하는거죠.
여튼 그놈에 xml...
XE = XML Everything!
lang 파일은 XML과 PHP를 모두 지원하고, 라이믹스에서는 PHP가 기본입니다.
폼 제출할 때 쓸데없이 XML로 주고받던 것도 라이믹스에서는 거의 JSON으로 바꿨습니다.
스크립트에서 exec_xml 함수를 사용하더라도 내부적으로는 JSON으로 주고받지요.
그러나 쿼리 정의 같은 것은 JSON으로 하면 오히려 가독성이 떨어집니다.
XML에서는 속성으로 처리할 수 있는 것을 일일이 객체로 써야 하고, 괄호 짝 맞춰야 하고...
대부분의 JSON API들은 객체 안에 배열 안에 객체가 또 들어가는 등
사람이 보기에는 가독성이 심하게 떨어집니다.
차라리 SQL을 직접 사용하여 prepared statement를 구현할망정
라이믹스에서도 쿼리 정의 파일 포맷이 JSON으로 바뀔 가능성은 낮습니다.
레이아웃은 님이 만들기 나름입니다.
Single-page app으로 만드는 것을 XE에서 딱히 권장하지는 않지만
그렇다고 딱히 막지도 않으니까요.
저도 json이 xml보다 심플하고 크기 작고 속도도 빠르고 해서 더 낫지 않을까 했는데
실제 해보고서 생각이 좀 바뀌었습니다.
일정 사이즈 이상이 되면 json은 손으로 편집하기엔 무지하게 헷갈립니다.
그냥 단순하게 1차원적으로 key-value만 있는게 아니라면 말이죠...
객체 안에 또 객체나 배열 들어있고 뭐 이런거는 무지하게 헷갈립니다.
특히 key가 있는 경우는 그나마 괜찮은데 배열은 진짜 헷갈려요...
그리고 json 파일은 정해진 포맷이란게 없기 때문에 파일이 정상적인지 아닌지
내가 정해놓은 규격에 맞는지 아닌지 [체크]를 하기가 굉장히 어려워요...
그거 체크하는거 짜고 있으면 차라리 XML이 낫구나 하는 생각이 강하게 듭니다.
손으로 편집할거면 확실하게 XML이 더 낫습니다.
예를 들어 { mykey: 'myvalue' } 뭐 이런게 있을때 내가 실수해서 { mikey: 'myvalue' }
이렇게 했다고 치죠.. json에선 이거 쉽게 잡아내기가 어렵습니다...
mykey가 필수적으로 있어야 하는 값이라면 해당 키가 없다는 식으로
에러를 내보낼 수야 있지만 그것도 아니고 optional 이라면 자동으로
이걸 잡아낼 방법은 [없습니다] .. 아 없지는 않죠. XML 수준으로 규격화시키면 되긴
하는데 그럴거면 그냥 XML 쓰죠...
원래 컴퓨터 프로그램이라는게 에러 처리가 반입니다. 아니 에러처리가 70%라고
하는 경우도 있죠.. 에러처리라는 점에서 XML은 JSON에게 확실한 비교우위에 있어요.
XML이 데이터 정보를 주고받는 과정에서 유연하지 않는것은 사실입니다. (일반 json으로 표현가능한 기본오브젝트 데이터들요)
하지만, Json은 데이터 교환방식이지만, XML은 더 광범위한 일련의 툴이라는 이야기가 있어요.
Metadata를 이용하기 때문입니다. 이 메타 데이터는 Json에는 없거든요.
물론 json이 가지고 잇는 모든면에서 기능의 다양성으로 할수잇는게 많긴하지만 굳이 현상황에서 json으로 바꿀이유가 없고.. 현재 xml으로 쿼리 하는것이 보안상으로 제일 탄탄하기도 하기 때문에 굳이 json을 이용할 필요가 없는게 RXE의 입장이 될수도 잇겠습니다.
말씀처럼 리엑트형태로 유연하게 사이트 운영할려면 애초에 구조부터 다르게 했었어야 했죠 뭐 ㅎㅎ