백본(Backbone.js) 강좌를 시작하며...

|



사실 내가 백본에 관심을 가지게 된것은 우연한것은 아니였다.

객체지향 페러다임에 염증이난 상태에서 펑션널 프로그래밍 페러다임에 푹빠져있을때 

내가 하는 코드가 해면체같다는 느낌을 받았다.


VC(뷰 와 컨트롤) 만 가지고 프로그램을 하면 쉽게 모든것을 할수있다는 착각도 잠시했던거같다.


일리히트엔진에 빠져서 보낸날들동안 집착했던 모델을 버리고 그동안 잊고살았던 뷰와 컨트롤과 함께 즐거운시간을 보내던나는

너무 소모적인 코드가 나온다는 사실을 깨닭기 까지는 그다지오랜시간이 필요하지는 않았다.


일리히트엔진의 장점이자 최대 단점은 모델이 너무 견고하다는 점이다.

모델이 견고할(비중이 클...)경우를 쉽게 설명하자면 이렇다.


건물을 지어야하는데 골격이 튼튼하다면 굉장히 빠르고 쉽게 높이 건물을 올릴수있다.

그러나 건물의 형태는 괭장히 획일적이고 밋밋하게 지어야만한다.(한마디로 안이쁘다)


그런면에서 일리히트엔진으로 작업을 했던 동안 나는 매우 큰 딜래마에 빠져들곤했다. 게임이라는 매우 불안정하고 다루기 힘든 주조물을 경직된 틀안에 가두어 개발하는게 과연 정답일까?


물론 학생들이 모델에 대한 이해를 돕는데는 좋지만 이것이과연 실용적으로 사용될수있을런지는 계속 의문이 많았다.


그래서 실험적으로 아주 반대의 길을 가보고싶었다. 재물은 바로 웹(html5)이라는 아직은 음지에 머물러있는(물론 게임쪽에서만) 신물질이였다.


이것으로 처음한 실험이 모델을 완전 배제한체 프로잭트를 진행해보는것이였다. 뷰만 컨트롤만 가지고 개발을 하는것이다.

아주 빠른속도로 결과물이 나왔지만 매우 불안정해서 나오자 마자 바로 사라져버리는것이 문제였다.

즉 프로잭트가 진행되는 동안에 코드들이 모두 부패해버려 결과물이 나올때가 되면 이미 완전히 모든 코드가 썩어버려서 더이상 프로잭트를 진행할수가없었다.



모델없이 개발하는것은 마치 아키라에서 데츠오가 궁극의 힘을 얻고도 제어가 안되어 파멸했던 상황과 같다.




MVC 의 세가지 요소의 적절한 배합이 중요하다는것을 정말 뼈아프게 느꼇다. 그리고 아직은 내가 배워야할게 너무나 많다는 사실에 한편은 실망스럽기도 하지만 다른 한편으로는 이제 막 바다가에 나온 소년처럼 설레이기도한다.


원자로로 치자면 VC가 발생시키는  온도를 제어 할수 있는 제어봉이 바로 M 이다.


이것을 기억하며 Backbone.js를 시작하자...












And