본문 바로가기

Book review

안드로이드 앱을 웹으로 구현한다면 (안드로이드 웹앱 - 한빛미디어)


  3기 두번째 미션, 빨강펜 미션과 동시 진행이기 때문에 무엇을 읽어볼까 고민하다가 선택한 것이 [안드로이드 웹앱]이었다. 모바일 웹도 아니고 웹앱이라니... 무엇일까? 잠시 고민했었는데 바로 생각난 것이 앱(혹은 모바일 어플)의 형태로 내부에 브라우저를 탑재해서 보여지는 형식의 그것이었다. 좀 읽어보니 역시나 그런 것이더라.
  모바일에서 사용자들이 가장 원하는 것은 '속도'라는 내용을 어떤 리포트에서 본 기억이 있다. (링크를 어디다 팔아치웠는지 도통 찾을 수가 없구나 ㅠㅠ) 그런데 내가 지금까지 사용해 본 웹을 포함한 어플은 당연히 네이티브 어플 보다는 느렸었던 것으로 기억한다. 웹이기에 네트워크의 영향을 많이 받기 때문이겠지. 현재 3G망을 이용하는 일반적인 통신과 Wifi를 이용하는 제한적인 구간에서의 통신 두가지 유형이 있지만 (물론 LTE나 Wibro도 있지만 LTE는 갈길이 멀고 Wibro는 Wifi 신호로 변경되어 잡히는 것이고 지역별로 편차가 워낙 크니 제외하고) 어느것 하나도 만족할 만한 수준의 속도를 보장하지는 못하고 있는 것이 사실이다. 그런데 앱이라니? 앱이라니!? 앱이라니!


  저자가 이 책을 통해서 가장 강점으로 내세우는 점은 기존에 알고 있는 기술로 충분히 구현이 가능하다는 점이다. HTML / CSS / JavaScript / JQuery / Ajax 등... 그런데 생각보다 많은 것을 알아야 하는군요... =ㅅ= 뭐 보통 웹하시는 분들이 어느정도 알고계신지는 정확히는 모르겠지만, 생각보다 많은 기술이 필요하군요. 물론 위에 해당하는 것들을 다 모르고 기본적인 기술들만 아셔도 만드시는데 문제는 없지만 웹이라는 특성과 모바일이라는 특성에서 시인성 좋고 유연한 페이지 구축을 위해서는 알아둬서 나쁘진 않을 것 같습니다. 


  이 책은 안드로이드에서 보여지기 위한 웹페이지 작성의 기본적인 것들을 절차식으로 설명해주는 식으로 진행됩니다. 문제는 너무 간략하게만 설명이 되고 있다는 것입니다. 어떻게 표현하기 위해서는 어떤 기술이 필요하다 이렇게 하면 된다. 이런식으로 간단하게 설명되는 정도입니다. 해당 기술은 이미 선행절차로 어느정도 알고 있다는 전제가 되어있기 때문에 그런식으로 설명이 되어 있는 것이죠. 하지만 그렇기 때문에 초보적인 수준의 독자라면 이 책에서 설명한 코드를 이해하기 위해서 별도의 공부가 필요합니다. 


  기본적인 HTML / CSS / JavaScript를 이용해서 안드로이드 앱의 기본적인 UI를 맞추는 과정이 참 신기하더군요. 일반적인 웹 페이지를 모바일에 최적화 된 페이지로 변경하는 것은 굳이 앱이 아니더라도 일반적인 모바일 페이지를 만듦에도 유용할 것 같다는 생각이 들었습니다.


  책의 뒷부분에 가면 안드로이드 SDK를 이용해서 웹앱의 틀을 잡는 부분이 나옵니다. 안드로이드 마켓에 올리는 법까지 설명이 되어 있어서 개발한 페이지를 앱 껍데기를 씌워서 앱의 형태로 만드는데 가장 중요한 것들을 설명하고 있습니다. 완벽한 하나의 절차를 처음부터 끝까지 설명해 주는 것은 참 좋은 것 같습니다.


  원서의 분량이 적어서 겠지만, 내용이 전체적으로 딱 한번의 과정을 통해서 간결하게 설명되는 것은 아쉬움이 남습니다. 그렇기에 책 자체의 난이도도 올라가고 다양한 기술을 사용하는 것 만큼 선행 및 후행 되어야 할 학습에 대한 숙제도 남겨줍니다. 하지만 하나의 완벽한 형태의 앱을 웹 개발 기술을 통해서 완성 할 수 있다는 것은 고무적인 것 같습니다. 다만 여기에 더 추가되었으면 하는 것은 모바일 페이지를 구성함에 있어서 사용자의 요구가 가장 집중되는 '속도'처리에 관한 내용이 있었다면 더 좋았을 것 같네요.

[추가적인 읽을거리]
1. 모바일 웹 디자인시 고려사항 :: 
http://blog.naver.com/PostView.nhn?blogId=dakitani&logNo=120642729
2. 모바일 웹 애플리케이션 고려사항 :: 
http://www.ibm.com/developerworks/kr/library/os-androidiphone1/#N100BD