웹마스터 팁

오랜만에 또 이렇게 들러봅니다^^

 

저는 요즘 한창 XE + 폰갭을 이용한 (하이브리드가 아닌) 모바일 웹앱제작에 관한 프로젝트를 3개정도 수행하였습니다.

 

우선 폰갭에 대해 말씀드리자면...

 

폰갭은 보통 네이티브 브릿지라는 말로 모든것이 설명되지 않나 합니다.

 

우리가 사용하는 스마트폰/태블릿의 경우 윈도우인 경우도 있지만 대부분은 android/ios입니다.(물론 뭐.....다른것도 있죠 우분투라던지...)

 

하지만 웹의 경우 보안상의 문제로 인하여 디바이스의 여러 기능(카메라 및 여러 센서들 등...)에 접근할 수 있는 권한이 많이 제한적입니다,

 

반면 네이티브 앱의 경우 웹에서 제한되었던 많은 기능들에 접근하여 제어할 수 있는, 웹에서는 어찌보면 특별한, 범접할수 없는 그 무언가를 할 수 있습니다.

 

폰갭(phonegap)은 이러한 웹의 제한된 부분을 네이티브 수준으로 이용할 수 있도록 다리역할을 한다고 보시면 됩니다.

 

폰갭은 기본적으로 네이티브앱의 웹뷰(보통 안드로이드는 크롬코어를, ios는 사파리코어를 사용하죠..)가 있고 웹뷰는 html등 웹을 화면에 표현할 수 있도록 해줍니다.( 쉽게말해 앱처럼 디자인하고 퍼블리싱된 html파일을 화면에서 볼수 있도록 표시해줍니다.)

 

여기까지는 일반적으로 디바이스에서 사용하는 브라우저들과 별다른 기능이 없습니다.

 

하지만, 폰갭은 여기서 부터입니다.

 

폰갭은 위에서 말한 디바이스의 특별한 기능에 자바스크립트로 접근할 수 있도록 하기 위해 특별한 코드들을 플러그인형태로 제공해 줍니다. (물론 커스터마이징도 가능합니다^^)

 

기본적인 폰갭 코어에 여러가지 디바이스제어 및 필요한 특별한 기능들을 하는 폰갭플러그인을 설치하고 자바스크립트에서 제어만 해주신다면 쉽게 웹단에서 디바이스들의 정보를 가져올 수도 전송할 수도 있는거죠.

 

네 맞습니다. 핵심은 역시 자바스크립트를 통한 네이티브단과의 통신입니다. 어려울수도 있죠.^^

 

하지만 폰갭은 전세계 많은 개발자분들께서 사용하고 독특하고 다양한 기능들의 플러그인들을 제작하여 배포하고 있습니다.

 

이런면으로 비춰볼때 폰갭을 통한 웹앱제작은 생산성면에서 엄청난 비용절감효과를 가져올 수 있게 되는것이죠.

 

XE로 제작된 모바일 홈페이지를 폰갭을 이용하여 웹앱으로 제작할 수도 있습니다.

 

특히 XE의 거의 모든 기능을 앱에서 구현하는것이나 다른것이 없게 되는 것이죠.

 

실제로 최근 이러한 프로젝트를 수행하면서 몇가지 아쉬운 점들을 발견할 수있었습니다만,

 

폰갭을 커스터마이징하는 방법으로 성능향상의 결과를 가져온것도 사실입니다.

 

하지만 폰갭을 이용한 웹앱/하이브리드앱 개발 또한 기본적으로 네이티브앱을 이용한 개발인만큼 네이티브에 대한 지식을 쌓아나가는 것또한 게을리할 수 없는 부분이라 생각됩니다.

 

앞으로는 최신 폰갭을 이용해서 폰갭+XE를 이용한 웹앱제작에 대해 연재를 해볼까 생각중에 있습니다.

 

아직은 생각중에 있습니다만, 결정을 못내리고 있네요...

 

오늘하루도 좋은일만 가득하시고 항상 정진하시는만큼 좋은 성과들을 거두시길 바랍니다.

 

감사합니다.