프로그램/Android

PhoneGap 이란 ?

네오류이 2021. 1. 10. 13:11
728x90
반응형

오늘은 안드로이드에서 PhoneGap 에 대해 정리를 하고자 합니다.

 

순수 네이티브앱은 좀더 자유로운 화면구도를 만들기 어렵고, 아무래도 많은 자바 클래스가 필요하기 때문에 , 그리고 데이터를 관리하기 위한 데이터셋 클래스는 개발하는데 있어 좀 짜증나게 하는 부분이 있습니다.

 

더구나 아이폰, 윈도우폰 을 개발하려면 개발자가 따로 또 필요하게 되는 부분도 있습니다.

 

그래서 요즘 추세가 순수 임베디드 ( 서버의 웹페이지를 호출) 웹 앱으로 개발을 하는 경향이 많은 것 같습니다.

 

다만, 여기서 문제점이 네트워크가 끊기거나 또는 웹페이지를 호출해야 하다 보니 많이 느리다는 점입니다.

 

요즘, 핸드폰이 워낙 빨라져서 이런 부분은 어느정도 해소가 된 것 같고, 개발 공수의 입장에서 보면 순수 임베디드웹엡이 가장 효율적인 방법이라 생각됩니다.

 

다만, 웹이 sql injection 공격에 취약하다 보니 해킹의 소지가 있지만, 그 부부은 서버에서의 injection 방어코드를 넣어서 사용하게 되면 해킹 방어가 가능하고, IIS 나 WAS의 공격부분은 순순 네이티브엡이라 하여도 서버 I/F 가 있는 한 이 부분의 취약점은 동일하게 된다고 생각됩니다. 즉, 네이티브엡에서 서버 url을 숨긴다고 하여도 analyzer 나 Internet history 툴을 이용하게 되면 어디를 호출하지는 다 알 수 가 있기 때문에 결론적으로 완벽한 보안이란것은 있을 수 없게 되는 것입니다.

 

그래서 임베디드웹의 이 부분에 속도 부분을 어느정도 좀더 개선 시키기 위해 사용하게 되는 방법이 오늘 설명할 PhoneGap 입니다.

 

그리고 크로스 플랫폼이 가능하다는 아주 큰 장점도 있습니다.

 

물론 PhoneGap 외에 Titanium Mobile 도 있지만. 아무래도 PhoneGap 의 인지도가 높은건 사실이고 Adobe 사에 인수가 된 뒤 계속적인 플러그인개발과 오픈정책이 확고히 되고 있어 개발자에게는 아무래도 이익이 된다고 생각됩니다.

 

그러면 개발순서는 어떻게 될까요?

 

1. HTML5 기반으로 해서 html 을 코딩

2. PhoneGap 으로 감싸기

3. 크로스플랫폼으로 컴파일 및 배포

 

아주 간단합니다. 웹개발 능력만 있다면 그리 어렵지 않게 앱개발이 가능합니다.

 

기본 구조는

 

 

 

위에서 보듯이 app 에 webview가 포함되어 app 플러그인이 디바이스 컨트롤을 연동하게 하는 방법입니다.

 

디바이스 컨트롤 종류는

 

Accelerometer: 가속도계 사용

Camera: 사진 촬영과 사진 앨범 탐색 

Capture: 동영상 녹화, 오디오 녹음, 정지 영상 촬영

Compass: 나침반 기능

Connection: 모바일 네트워크 상태 확인

Contacts: 주소록 검색 및 연락처 추가/수정/탐색

Device: 단말기, 운영체제 버전 등 

Events: 하드웨어 버튼 이벤트

File: 파일 입출력, 전송 

Geolocation: 위치 정보 

Media: 음성 재생과 녹음

Notification: 벨 소리, 진동, 시스템 알림 메시지 등

Storage: 네이티브 DB 접근

 

이정도로 가능합니다.

 

예로 전화걸기를 한다면 웹 코드상에서 

 

<a href="tel:01023465789">친구 전화 걸기</a>  

 

이런식으로 컨트롤이 가능합니다.

 

 

apple 같은 경우는 예전에 PhoneGap 은 검수통과가 되지 않았었는데 지금은 등록에 문제가 없다고 합니다.

 

그리고 막강한 플러그인이 제공되기 때문에 확장기능이 좋다는 점이 있습니다. 즉 .NET의 framework 같은 그런 플러그인이 제공이 됩니다. (유로도 있음)

 

https://github.com/phonegap/phonegap/wiki

 

PhoneGap 으로 개발한 제품들은 아래 링크에서 볼 수 있습니다.

 

http://phonegap.com/app/

 

 

서버와의 데이터 흐름은 아래의 이미지에서 알 수 있습니다.

 

 

 

그럼 다음에는 설치 및 실제 hello world 개발을 해볼까 합니다.

 

기본 설치법은 

 

http://neoryuee.tistory.com/6

 

여기에서 확인하시면 됩니다.

 

폰갭관련 사이트 모음

 

설치 부분이 차근차근 설명이 잘되어 있네요.

http://hojeong.tistory.com/31

 

728x90
반응형