메뉴 건너뛰기

Xamarin Dev

SHARING, PUBLISHING.
& PLEASURE.

지식을 나누고 컨텐츠를 출판하며 즐거움을 함께합니다.

MAKING
WEB CULTURES

올바른 웹 문화를 지향합니다.

EVOLUTION & INNOVATION
TOGETHER

함께 진화하고 혁신을 추구합니다.

CREATE A GOOD DESIGN WITH
THE POSSIILITY OF TECHNOLOGY

기술의 가능성을 발굴하고 좋은 디자인을 만들어 갑니다.

 

 

출처 : http://www.clien.net/cs2/bbs/board.php?bo_table=cm_app&wr_id=2399

 

 

[QnA] 모바일 기타

하이브리드 앱과 Push Notification

 

안녕하세요.

앱개발자당에 와서 맨날 눈팅만 하다가 궁금한게 생겨 급 질문을 올리는 1人 입니당~^^

 

궁금한건 다름이 아니오라

모바일 앱과 모바일 웹을 융합한 하이브리드 앱과 Push Notification 에 관한건데요..

 

현재 모바일 웹(브라우저에서 사용가능한)은 만들어져 있는 상태인데요.

이 서비스를 Push Notification 기능이 필요해서 앱으로 만들려고 하면서 조사를 하다보니

기존 모바일 웹을 살리면서 앱처럼 할 수 있는 하이브리드 앱이란게 있다는걸 알게 되었는데요.

 

여기서 궁금한건.

1. 하이브리드 앱은 아이폰 앱이나 안드로이드 앱에서 모두 Push Notification 기능을 사용할 수 있도록

만들수 있나요~?

2. 앱을 아직 개발해본 경험이 없는 개발자가 위와 같은 상황의 하이브리드 앱을 만드는데 얼마만큼의 시간이 들어가나요~?

랍니다.

 

이미 앱을 개발해 보신 여러 앱개발자당 고수 분들의 조언 부탁드립니다.

 

감사합니다.

좋은 오후 시간들 되세요~^^

 

  • (2011-06-16 14:52)
1. 하이브리드앱이 웹앱이라고도 하는데요 푸쉬나 이런 앱에서 가능한것도 가능하지만 플랫폼상관없이 구현되기 때문에 한번의 개발로 여러 플랫폼을 커버하는걸로 알고 있습니다. 
2.하이브리드앱은 자바나 오브젝트C를 안쓰고 html과 같은 언어를 쓰는걸로 알고 있습니다. 근데 도구도 그렇고 익숙해지려면 그만큼의 시간은 걸리겠죠?
  • metapho님
  • (2011-06-16 18:02)
일반적으로 얘기하는 Push Notification은 애플에서 앱으로 쏘아주는 것입니다. 즉, iOS만 가능하구요. 안드로이드는 이와 같은 기능을 제공하지 않습니다. 안드로이드에서 Push를 하려면 앱이 백그라운드에서 돌아가고 있어야합니다. 최근 카카오톡과 통신사 문제가 생긴 것도 이런 문제 때문입니다. 

즉, 둘 다 Push 서비스는 제공 가능하나 따로 만들어서 기능을 구현해야 할 것 같습니다. 

하이브리드앱은 제가 관심이 없어서.. 다른 분이... :)
  • metapho님
  • (2011-06-16 18:08)
정정합니다. 안드로이드도 프로요부터는 Push를 지원하는군요. 단 구글 계정이 설정되어 있는 사용자만 됩니다. 그리고 사용량에 제한이 있는 것 같구요. 

아무튼 하이브리드앱을 만든다고 한 번에 해결되는 것은 아니고 아이폰앱과 안드로이드앱 모두 따로 구현을 해야 합니다.
  • 금마루님
  • (2011-06-16 20:07)
가장 간단한 것은 푸시 서비스 대행사(Urban Airship이라는 회사가 있더군요)의 API를 이용하는 방법이 있고요. 
직접 구현하려면 애플쪽은 APNS를, 구글쪽은 푸시서버 개발 또는 C2DM 서비스를 이용하면 됩니다.
  • (2011-06-16 20:09)
하이브리드 앱에서 푸시를 구현하시려면 UrbanAirship 의 Air Push 서비스를 이용하시면 iOS/Android/BlackBerry 까지 동시에 지원이 가능합니다. UrbanAirship 은 하이브리드 프레임웍중 Phonegap 용 라이브러리를 아예 제공하고 있습니다. 웹앱으로 만드셨다면 그걸 Phonegap 으로 입혀서 하이브리드 앱으로 만들고, 거기다 Air Push 라이브러리를 꼽으면 푸시까지 동작하게 됩니다.
  • 금마루님
  • (2011-06-16 20:10)
웹쪽과 푸시를 붙이려면 애플쪽은 PHP를 통해서 전송하는 방법이 가장 쉬울 듯하고요. 소스도 찾아보면 있습니다. 또 easyapns 란 공개소스를 분석해보는 것도 좋을 듯 하고. 애플쪽은 APNS를 이용하는 것이면 되는 데(서버 호스팅 필요) 안드로이드쪽은 C2DM에 제약이 있어서 2.2 이상 버전만 가능합니다. 구글계정도 필요하고. 그 이하 버전도 지원하려면 푸시서버를 자체 개발하거나 푸시대행사의 서비스를 이용하는 수가 있죠.
  • 금마루님
  • (2011-06-16 20:19)
하이브리드앱은 폰갭과 몇가지가 나와 있습니다. 하이브리드앱 개념은 웹앱 + 네이티브코드가 가능하다는 거죠. HTML 처리를 위해 웹기능을 가진 웹앱을 만들었을 때 문제가 장치(카메라 같은)를 제어하지 못한다는 겁니다. 쉽게 말해서 HTML에서 처리하지 못하는 장치 제어 등을 네이티브코드로 처리할 수 있게 만든 것이 하이브리드앱 개념입니다. 국내에선 KT하이텔에서 하이브리드앱 플랫폼을 만들고 있더군요. 8월쯤 나온다고 들었습니다. 하이브리드앱은 각각 장단점이 있어서 선택하실 경우 잘 판단하시기 바랍니다.
  • dragonraja님
  • (2011-06-17 01:09)
답변 주신 분들께 감사드립니다. 근데 모바일 웹 앱 하고 하이브리드 앱 하고 같은 의미인가요? 댓글을 보다보니 많이 헷갈리는군요. 아이폰 용과 안드로이드 용 모바일 웹 앱 혹은 하이브리드 앱을 개발해야 하는데 모르는게 너무 많네요. 현재 웹 페이지와 모바일 웹 페이지는 서비스 중인데 이 모바일 웹 페이지를 앱으로 개발하려다 기본 모바일 웹 페이지를 그대로 사용하면서 앱 기능(Push Notification)을 사용할 수 있는 하이브리드 앱을 알게 되어서 질문을 올렸는데 더 많은게 궁금해지네요. ^^ 혹시 더 아시는 내용이 있는 분은 댓글 더 부탁드립니다. ^^
  • 금마루님
  • (2011-06-18 01:30)
이해를 위해 정확한 개념보다는 간단하게 설명하고자 합니다. 모바일 웹앱은 웹페이지를 앱의 웹브라우저로 표시하는 겁니다. 안드로이드나 아이폰 등 기기에 상관없이 웹페이지는 공용이므로 한 번 개발하면 다른 기기에서도 사용할 수 있죠. 
반면에 기계장치 제어를 못한다는 한계가 있어 WAC나 하이브리드앱이란 개념이 나왔습니다. HTML5+하드웨어 제어를 하겠다는 거죠. WAC는 통신사업자 모임으로 앱마켓시장을 공통으로 만들자는 개념으로 출발하였습니다. 그런데 좀 지지부진합니다. ^^
  • 금마루님
  • (2011-06-18 01:41)
하이브리드앱이 나온 원인은 한 번의 개발로 여러 기기를 동시에 지원하고자하는 것입니다. 웹앱은 당연히 그것이 가능하고(HTML+CSS+자바스크립트는 모든 모바일 웹브라우저에서나 지원하니까요) 충분히 기술이 성숙 단계라고 보여집니다. 하지만 하이브리드앱(국내에서도 제각각 다른 용어를 쓰다가 최근 하이브리드앱이라고 쓰기로 했나 봅니다)은 폰갭 같은 조금 역사를 가진 플랫폼조차도 만능이 아니라는 거죠.그런데 어도비사에서 드림위버CS5.5에서 폰갭을 지원하면서 조금 활성화될 듯 합니다. 
국내에선 KTH에서 앱스프레소란 플랫폼을 개발 중에 있으며 WAC 표준기술을 쓰고 있다고 합니다. 그런데 이것도 아직 출시 전이니 하이브리드앱에선 선택의 폭이 넓지 못합니다.
  • 금마루님
  • (2011-06-18 02:02)
그리고 푸시 ... 애플 iOS 환경에서는 APNS+서버호스팅으로 이용이 가능합니다. 자체 구현하시려면 PHP+jQuery를 쓰시면 될 듯하고. 
안드로이드가 문제입니다. 원래 푸시 서비스를 제공할 생각이 없었는지 그나마 있는 C2DM이란 것조차 문제가 있습니다. 카카오톡에서는 폴링 방식의 자체 푸시서버를 개발했다고 하는 데 안드로이드를 생각해보면 이해가 됩니다. 언젠가는 프로요(버전 2.2) 이상의 플랫폼이 대세가 될 경우 C2DM으로 커버가 가능할지도 모르지만 발송횟수 제한 등이 해결되어야겠죠. 
기존 서비스에 푸시 서비스를 추가하시려고 하시는 것으로 이해되는 데 앱상에서 푸시 관련 코드 추가는 큰 작업이 아니지만(적어도 애플은) 전송 서버를 어떻게 할지가 문제입니다. 
월 백만 건 미만이면 Urban Airship의 API를 이용하면 무료로 알고 있습니다. 그 이상이면 비용을 들여서 대행사의 서비스를 이용하거나 자체 구현하시는 게 좋을 듯 합니다. 
PHP를 이용한 전송 서버(푸시 서버) 개발은 대량 전송이 아니라 시간에 구애 받지 않고 순차 전송하도록 하면 개발이 오래 걸리지는 않을 것으로 생각됩니다. 거의 실시간으로 전송이 필요한 채팅 같은 앱은 제외하고요. 
푸시 메시지 전송은 DB에 메시지를 삽입한 후 전송하게 됩니다. 전송 후 피드백을 받아 수신으로 상태 변경을 할 수 있죠.
  • 냥길동님
  • (2011-06-19 12:53)
다른나라는 모르겠고 우리나라에서 웹앱이란..... 
여러 플랫폼대응이라는 말도 있긴한데....맞는말이기도하지만.. 
실상은...웹으로 개발하니 개발단가를 싸게할수있다고 접근되는 문제가 존재합니다. 
;;;; 좀 좋게만 보이지는 않습니다... 

그리고 하이브리드 앱이란 좀 성격이 웹앱과는 틀린것같긴한데.... 

클리앙앱들을 보면 게시판보기가 html로 되어있고 이 html은 앱내에 내장되어있습니다.. 
화면구성만을 html을 취한건데... 이것역시 ... 하이브리드앱이라고 볼 수도있지 않을까합니다. 

뭐 ...정의문제죠.......
  • 금마루님
  • (2011-06-20 11:12)
하이브리드앱 얘기가 나온 게 HTML5 등장과 함께인 듯 하더군요. HTML5은 아직 표준화 단계라 완료된 게 아니지만 웹 브라우저에서 지원되고 있습니다. 
HTML5+CSS3+자바스크립트 환경이 기본인 데 위에서 언급한 바와 같이 역시 장치 제어 부분이 불가능이라 장치 부분을 처리할 수 있는 중간 성격의 하이브리드앱이 부각된 것이죠. 
그런데 하이브리드앱의 생존 타임은 역시 웹에서 장치제어+부가처리까지 다 할 수 있게 된다면 생명력을 다 할 것으로 보입니다. 앞으로 5년 정도 후에는 하이브리드앱의 필요성이 없어지지 않을까 예상해 봅니다.
 
 
 
 
위로