jquery mobile 터치감 개선 시키기

|


기본적으로 클릭이밴트는 약 300ms의 딜레이 시간을 가지게되므로 사용자 반응성이 매우 취약하다고 볼수있다.


그래서...


터치감 개선의 핵심은 click 이밴트를 사용하지않고 touchstart 사용하는것에서 시작한다.


그러나 데스크탑에서도 동시에 서비스를 하고싶다면 터치이밴트가 동작하지않는 문제가 있다.


vmousedown이밴트를 사용하면 데스크탑에서 마우스로 터치 디바이스에서는 touchstart자동으로 바꿔서 전달하게된다.




리턴값을 false 로 하면 부모로 이밴트가 전달되는것과 기본 이밴트처리가되는것을 막아준다.


그렇지만 이것으로 부족하다 jqm 에서 a태그 또는 button 태그는 touch가 일어나면 vclick을 강제로 한번씩 발생시킨다.

그래서 아래와 같이 vclick이밴트를 따로 한번 더 처리하여준다. 





li 의 하위 단계에있는 a태그에 들어오는 vclick이밴트가 더이상 전파되지않도록 하고 기본적인으로 해주는 동작들을 금지 시킨다.(핸들러 함수객체에서  false값을 반환하게 해서... ) 그렇지않으면 의도하지않게 vclick이밴트가 한번더 들어오게된다. 그렇게 되면 버튼이 두번눌러지는등의 오동작이 일어날수있다.


-예제 소스


무제 폴더.zip














And

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

|



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

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

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


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


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

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


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

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


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

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


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


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


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


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

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

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



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




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


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


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












And

NDC12 강연사진입니다.

|

fbx를 일리히트에서 구동시키려한것은 어쩌면 저의 마지막 일리히트엔진에 대한 연구주제 였습니다.

관심가져주신 분들 덕분에 잘 마칠수있었던거 같습니다.


부족한 발표 내용 끝까지 들어주신 분들께 다시 한번 감사드림니다.


다음에는 웹표준기술에 관련된 내용으로 더알차게 준비할예정입니다.

And