스마트폰을 잘 활용할수 있는 방법은 없을까? 잼나게 놀수 있는 방법은 없을까?
어플을 개발하기엔 시간이 마니걸릴것 같고 그러면 웹브라우저를 이용한 어플리케이션을 개발하면 어떨까? 생각해 보았습니다.
웹브라우저로는 안드로이드 버전의 크롬과 OS버전의 사파리가 스마트폰에 설치되어 있을 겁니다.
두 버전에서 잘 돌아갈수 있는 기술은 무엇이 있을까? 생각해 보니 HTML5 라는 도구가 나오더군요.
스마트폰의 화면에 뿌려주기 위한 기술은 HTML5를 사용하고 비지니스는 어떨까 처리해야 할까?
찾다보니 NODE 라는 자바스크립트 웹엔진을 발견하게 되었습니다.
자바스크립트를 서버사이드에서 처리해 줄수 있는 구글사에서 만들었고 크롬에 적용되어 있는 웹엔진이라고 합니다.
NODE 로 클라이언트에서 들어오는 Request 받아서 비지니스 로직을 수행하고 클라이언트로 Response 를 보낼수 있습니다.
자바스크립트로 만들어진 모듈이 많이 있더군요.
웹어플리케이션을 구조화 하여 만들수 있도록 지원해 주는 backbone.js
웹페이지를 템플릿으로 만들어서 쉽게 만들수 있도록 도와주는 undercore.js
웹페이지의 DOM구조에 접근하고 처리할수 있도록 지원하는 jquery.js 등
자바스크립트 오픈 기술과 소스는 인터넷에서 쉽게 접근할 수 있습니다. Github 로 저장해서 버전관리도 할수 있고요.
비지니스로직이 만들어 졌다고 하지요.
개발안은 어떻게 작성할까요? 그 전에 아키텍쳐는 어떻게 놓아야 할까요?
데이타베이스는 mongodb 로 하고 웹서버는 node.js 로 구조화된 웹어플리케이션을 만들기 위해서 backbone.js 로 모델, 뷰, 컨트롤러 로 만들면 될 것입니다.
모델과 컨트롤러로 자바스크립트 언어로 코딩해서 구현하면 문제가 없을 듯 합니다.
마지막을 남은 문제는 무었일까요?
뷰(View)~ ?!
예전에 JSP, SPRING , IBAITS, MSSQL 로 작업을 할때도 코딩기준과 개발표준이 잡혀있을때 제일 어려웠던것이
화면을 어떻게 만들어야 할까 였습니다.
화면 디자인~
유저들은 어떻게 느낄까? 화면배치는 어떻게 해야 할까? 색깔은? ...
지금도 어려워 보입니다.
첨부된 그림은 INKSCAPE 로 튜토리얼을 따라서 그려본 것입니다.
템플릿으로 화면을 구조화 하는 방법을 공부해 봐야 겠네요.
Inkscape 참고사이트