13.XPLATFORM Hybrid의 개요

XPLATFORM Hybrid는 XPLATFORM HTML5를 기반으로 개발된 응용 프로그램들을 스마트 폰(Android, iOS)에서 실행할 수 있는 RIA 플랫폼입니다. UX-Studio에 의한 개발환경은 XPLATFORM HTML5와 동일하지만, 실행환경이 다릅니다.

13.1XPLATFORM Hybrid의 기술구성 요소

XPLATFORM Hybrid 응용프로그램 구현 및 적용을 위해서는 4가지 기술을 알아야 합니다. 4가지 기술은 XPLATFORM Language, 개발환경, 응용프로그램 실행 환경, 배포환경입니다. 이 중 응용프로그램 실행 환경 및 배포환경은 각 스마트 폰 OS(Android, iOS)의 실행 및 배포방법을 준수합니다.

13.1.1XPLATFORM Language

XPLATFORM Hybrid에서는 XPLATFORM HTML5의 화면 및 서비스를 그대로 사용합니다. 따라서, XPLATFORM HTML5에서 제공되는 기능은 모두 사용할 수 있습니다. 추가적으로, 스마트폰 기기(이하 단말기)의 고유 기능을 컨트롤 할 수 있는 Device API를 제공합니다.

다음은 XPLATFORM Hybrid 에서 제공되는 Device API 입니다.

Device API

지원 스마트폰 OS

기능 내용

System

iOS / Android

(각 OS 특성 상 지원 기능에 부분적인 제한이 있을 수 있습니다.)

  • 단말기의 기본 정보 제공

  • 전화걸기 기능 제공

  • 간단한 사운드 파일 재생 기능 제공

Sms

  • SMS 전송 기능 제공

  • SMS 수신 감지 기능 제공

  • 수신된 SMS 보관함 조회/삭제 기능 제공

AudioPlayer

사운드 파일 재생 컨트롤을 위한 기능 제공

GeoLocation

GPS. WPS를 이용하여 단말기의 위치 정보 제공

Acceleration

가속도계 센서를 이용하여 단말기의 가속도 정보 제공

Vibrator

진동을 발생시킬 수 있는 기능 제공

Network

  • 단말기의 네트워크 상태(No Network, 3G, Wi-Fi)를 확인하는 기능 제공

  • 특정 사이트로의 통신 가능 여부를 확인하는 기능 제공

Camera

단말기 내장 카메라를 이용할 수 있는 기능 제공

ContactSet

주소록의 연락처 조회/추가/삭제/수정 기능 제공

FileDialog

파일 입출력을 위한 단말기 내부 파일/폴더 찾기 UI를 제공

AsyncVFile

파일 입출력을 위한 기능 제공

AsyncLiteDB

로컬 DB를 사용하기 위한 기능 제공

AudioRecorder

오디오 리코딩을 위한 기능 제공

ImagePicker

단말기의 사진앨범에 접근할 수 있는 기능 제공

Map

지도 표시를 위한 Map Component 제공

ExternalAPI

외부기기를 접근/연동하기 위한 기능 제공

13.1.2개발 환경

화면 및 서비스 개발은 XPLATFORM HTML5와 개발환경이 동일하므로 생략합니다.

Android, iOS에서는 임의의 프로그램을 직접 실행할 수는 없고 앱 형태로 만들어진 응용프로그램만 실행 할 수 있습니다. 따라서, XPLATFORM HTML5를 기반으로 개발된 응용 프로그램들을 단말기에서 실행할 수 있도록 앱을 개발해야 합니다. XPLATFORM은 앱을 만들기 위한 패키징(Archive생성 등) 방법 및 XPLATFORM Hybrid Library는 제공하지만 앱을 만드는 직접적인 개발방법을 제공하지는 않습니다. 그러므로, 앱은 Android. iOS에서 제공하는 개발환경을 사용하여 만들어야 합니다. 또한, 아래그림에서 Archive Files는 .xzip파일(zip파일과 동일의미임)을 의미하며 Deploy Server내의 파일들은 Archive형태로 존재해야 합니다.

13.1.3응용프로그램 실행환경

사용자가 XPLATFORM Hybrid앱을 실행시키면, XPLATFORM Hybrid Library가 제일먼저 동작합니다. hybrid_typedef.xml내의 Update관련 정보에 따라 XPLATFORM HTML5 Archive Files을 로드 하여 HTML5 Component등을 단말기로 설치 및 Upgrade합니다. 그 후 Run Archive Files를 Load하고 Run.html내의 내용에 따라 XPLATFORM HTML5 화면 및 서비스를 실행합니다.

아래 그림에서 Archive Files(Option)은 오프라인 용도로 사용되는 경우이며 반드시 이 파일을 실행한다는 의미는 아닙니다. Archive Files(Options)은 로드 후 단말기에 설치되어 동작합니다.

13.1.4배포환경

XPLATFORM Hybrid는 UX-Studio에서 생성된 결과물과 이를 로딩하여 구동시키는 Hybrid 앱으로 구성됩니다. UX-Studio에서 생성된 결과물을 배포 시킬 수 있는 서버가 필요하며 배포방법은 XPLATFORM HTML5와 다른 내용에 대해서만 설명합니다.

배포란 Archive File을 Deploy Server에 반영하고 XPLATFORM Hybrid 앱을 사용자 단말기에 설치하는 작업을 의미합니다.

앱은 각 단말기 OS를 지원하는 Market을 통해 배포해야 합니다. Android의 경우 Google, 단말기제조사, 통신사에서 운영하는 다양한 마켓을 통해 APK 배포가 가능하며 사설 서버를 통해서도 배포가 가능합니다.

반면에 iOS의 경우는 Apple Appstore를 통해서만 배포가 가능합니다. 사설 Market이 따로 존재 하지 않으며 테스트를 위해 Apple 개발자 계정에 등록되지 않은 단말기로는 배포/실행이 불가능합니다.

Android 및 iOS에서 배포 가능한 방법은 다음과 같습니다.

OS

배포 방법

Market 종류

내용

운영사

Android

마켓

Google Android Market

Android를 개발한 Google의 Market으로 가장 많은 수의 Android 어플리케이션이 배포되는 곳 입니다.

Google

Samsung Apps

제조사인 삼성전자에서 운영하는 Market입니다.

Samsung

T store

통신사인 SK Telecom에서 운영하는 Market입니다.

SK Telecom

Olleh Market

통신사인 Olleh(KT)에서 운영하는 Market입니다.

KT

OZ store

통신사인 U+(LG)에서 운영하는 Market입니다.

LG

자체 배포


사설 웹서버에 apk 파일을 위치 시키고 해당 URL을 통해 배포하는 방법 입니다.

자체

운영

iOS

마켓

Apple Appstore

Apple이 운영하는 Market입니다.

단, 사설 서버를 이용할 수는 없습니다.

Apple

위 표는 한국에서 일반적으로 사용되는 Market이며 전세계에서 현재 운영중인 Market의 수는 이보다 많으며 점차 늘어가고 있는 추세입니다.

13.2XPLATFORM Hybrid 앱의 주요구성

XPLATFORM Hybrid 앱(APK/APP)의 주요 구성은 다음과 같습니다.

XPLATFORM Hybrid 앱(APK/APP)의 주요 구성에 대한 내용은 다음과 같습니다.

구성요소

상세 내용

포함 시점

hybrid_typedef.xml

XPLATFORM HTML5 Archive Files, Run Archive Files, Project Archive Files, Theme Archive Files의 경로정보 등이 포함된 파일입니다. 앱개발시 반드시 포함되어야 하는 파일입니다.

※ 주의사항

  • hybrid_typedef.xml 파일명은 XPLATOFMR내부에서 지정된 값이므로 임의로 수정하시면 안됩니다.

  • 세부 내용 또한 오류발생 위험이 있으므로 UX-Studio로만 설정하고 임의로 편집하지 마십시오.

Eclipse(Android) 혹은 XCode(iOS)에서 XPLATFORM Hybrid 응용프로그램 프로젝트에 포함시켜 빌드 합니다.

XPLATFORM Hybrid Library (Native Code)

XPLATFORM Hybrid Library는 Hybrid Engine Library입니다. 앱개발시 반드시 포함되어야 하는 파일입니다. Android는 XPLATFORM.jar 형태로 iOS는 XPLATFORM.framework 형태로 제공됩니다. 아래는 세부구성 내용입니다.

  • Mobile API Module

  • Mobile API 동작을 위한 Native Code 모듈

  • WebView

  • 화면 등을 표현하기 위한 Web View Control

  • Loading/Update Module

  • 앱 실행 시 로딩 및 업데이트를 처리하는 모듈

XPLATFORM HTML5 Archive Files

XPLATFORM HTML5 Framework파일들의 압축파일로서 .js형태의 HTML5용 컴포넌트 등이 포함된 파일입니다. XPLATFORM기술지원 사이트에서 다운로드 받습니다. 실제 파일명은 Component.xzip입니다.

※ 주의사항

  • 이 파일은 Deploy Server에 반드시 존재해야 하며 Sand Box개념 때문에 앱내에 포함시켜 실행할 수는 없습니다.

  • Component.xzip 파일명은 XPLATFORM내부에서 지정된 값이므로 임의로 수정하지 마십시오. 만일, 파일명을 바꾸면 작동하지 않게 됩니다.

실행 시 로딩/업데이트에 의해 XPLATFORM Hybrid 앱 안으로 다운로드 됩니다.

Run Archive Files

HTML5 Project의 최초 실행 jsp경로 또는 오프라인 용도의 경우 Project Archive Files, Theme Archive Files의 경로가 포함된 파일입니다. 이 파일은 Deploy Server에 반드시 존재해야 하며 Sand Box개념 때문에 앱내에 포함시켜 실행할 수는 없습니다. 실제 파일명은 Run.xzip입니다.

※ 주의사항

  • Run Archive Files는 UX-Studio만을 이용하여 생성하고 임의로 생성, 편집하지 마십시오. 이는 오류발생위험을 방지하기 위함입니다.

  • Run.html, Run.xzip 파일명은 XPLATOFMR내부에서 지정된 값이어서 파일명을 바꾸면 작동하지 않게 됩니다.

  • ADL 설정에 변경이 발생하였을 때 Run.xzip 파일을 다시 배포해야 변경된 내용이 적용됩니다.

Project Archive Files

xadl, xfdl등으로 구성된 UX-Studio 에서 개발한 HTML5 프로젝트 구성 요소입니다. 스마트폰을 오프라인 용도로 사용할 경우에만 생성하며 반드시 만들어야 하는 것은 아닙니다.

※ 주의사항

  • 이 파일을 앱 내에 포함시켜 빌드하면 화면변경 등이 발생하는 경우 매번 앱을 Upgrade해야 하므로 앱내에 포함시켜 빌드하는 것은 바람직하지 않습니다.

Theme Archive Files

HTML5 프로젝트의 theme입니다. 스마트폰을 오프라인 용도로 사용할 경우에만 생성하며 반드시 만들어야 하는 것은 아닙니다.

※ 주의사항

  • 이 파일을 앱 내에 포함시켜 빌드하면 화면변경 등이 발생하는 경우 매번 앱을 Upgrade해야 하므로 앱 내에 포함시켜 빌드하는 것은 바람직하지 않습니다.

위 표의 내용에서 보면 변경하지 말아야 할 파일명들이 존재합니다. 그 목록을 별도로 정리하였으니 주의하십시오

파일명

내용

Run.html

R만 대문자이고 나머지는 소문자입니다.

Run.xzip

R만 대문자이고 나머지는 소문자입니다.

Component.xzip

C만 대문자이고 나머지는 소문자입니다.

hybrid_typedef.xml

모두 소문자입니다.

13.3XPLATFORM Hybrid의 작동 순서

XPLATFORM Hybrid는 아래와 같은 순서로 작동합니다.

  1. 사용자가 스마트폰에서 앱을 구동하면 Hybrid Engine역할을 하는 XPLATFORM Hybrid Library가 작동합니다.

  2. hybrid_typedef.xml이 로딩되고 경로정보들을 분석합니다. 단, 이 파일명은 XPLATOFMR내부에서 지정된 값이므로 임의로 수정하시면 안됩니다.

  3. .js형태의 HTML5용 컴포넌트 등이 포함된 XPLATFORM HTML5 Archive Files를 hybrid_typedef.xml에 설정된 경로에 따라 로딩하여 스마트폰 단말기에 설치합니다. 실제 파일명은 Component.xzip이며 XPLATOFMR내부에서 지정된 값이므로 임의로 수정하시면 안됩니다.

  4. HTML5 Project의 최초 실행 jsp경로 또는 Project Archive Files,Theme Archive Files의 경로가 포함된 Run Archive Files를 Hybrid_typedef.xml에 설정된 경로에 따라 로딩합니다. 실제 파일명은 Run.xzip입니다. 단, Run.xzip, Run.html파일명은 XPLATOFMR내부에서 지정된 값이므로 임의로 수정하지 말고 그 내용 또한 임의로 수정하지 말고 UX-Studio를 이용하십시오.

  5. Run.html에 설정된 경로에 따라 최초 환경을 로딩하고 실행합니다. 오프라인용으로 패키징한 경우에는 Project Archive Files, Theme Archive Files를 로딩하며, 그 외의 경우에는 Server에서 Project Files를 다운받아 로딩합니다.

13.4XPLATFORM Hybrid 개발 및 실행절차

XPLATFORM Hybrid 개발 및 실행은 다음과 같은 절차에 의해 진행합니다.

위 절차의 단계 별 내용은 다음과 같습니다.

단계

상세 내용

HTML5 프로젝트 개발

UX-Studio에서 XPLATFORM HTML5 개발과 동일한 방법으로 화면 등의 응용프로그램을 개발 합니다.

Deploy Server에 반영

UX-Studio에서 XPLATFORM HTML5 Archive File 및 Run Archive File을 생성 후 Deploy Server에 반영합니다. 스마트폰을 오프라인 용도로 사용할 경우에는 UX-Studio에서 Project Archive Files 및 Theme Archive Files을 생성 후 Deploy Server에 반영합니다.

Hybrid 앱 Project 생성

Eclipse(Android), XCode(iOS)에서 Hybrid 앱 프로젝트를 생성합니다. 일반적인 APK/APP 프로젝트를 생성하고 제공된 XPLATFORM.jar(Android), XPLATFORM.framework(iOS)를 참조하도록 합니다. UX-Studio 에서 만들어진 hybrid_typedef.xml도 Hybrid 앱 프로젝트에 포함하도록 합니다.

앱(APK/APP)빌드

Eclipse(Android), XCode(iOS)에서 앱(APK/APP)를 빌드 합니다.

(* iOS의 경우 단말기를 타깃으로 빌드 하기 위해서는 Apple 개발자 계정이 필수로 필요합니다.)

실행

단말기 연결 후 Eclipse(Androd), XCode(iOS)에서 단말기로 실행합니다.

(* iOS의 경우 단말기를 타겟으로 실행 하기 위해서는 Apple 개발자 계정이 필수로 필요합니다.)

13.5XPLATFORM Hybrid의 배포 절차 및 방법

XPLATFORM Hybrid는 아래 그림과 같이 Archive Files와 Hybrid앱이 별도로 배포됩니다. Archive Files는 UX-Studio에서 패키징한 XPLATFORM HTML5 Framework, Run Archive, Form, Theme 등으로 구성되며 Deploy서버로 배포합니다. Hybrid앱은 XPLATFORM Hybrid Library, hybrid_typedef.xml로 구성되며 마켓 또는 사설서버(Android에 한함)로 배포합니다. 사용자가 스마트폰 단말기 구동 후 마켓 또는 사설서버에서 앱을 다운받고 실행시키면 앱이 Deploy서버로부터 필요정보를 로딩하여 화면을 실행시킵니다.

마켓을 이용한 XPLATFORM Hybrid 앱(APK/APP) 배포 절차는 다음과 같습니다. 세부사항은 마켓 별로 차이점이 있으며 각 마켓의 관련 Guide를 참조하십시오.

13.6앱 개발 및 실행을 위한 권장사양

Android, iOS의 SDK Version및 단말기 권장사양은 다음과 같습니다.

배포를 위해서는 최신 버전의 툴 및 SDK를 이용하는 것을 권장합니다.

13.6.1Android

구분

항목

내용

개발

PC

Window/Mac/Linux 사용가능

Eclipse

Android용 앱개발을 위한 툴 (무료 제공)

  • 현재 최신 버전 : Eclipse Classic 3.7.1

ADT

Android 개발을 위해 구글에서 제공하는 Eclipse plugin (무료 제공)

  • 현재 최신 버전 : ADT 15.0.0

Android SDK

ADT가 설치된 Eclipse에서 사용하는 Android SDK (무료 제공)

  • 최소 : Android 3.0 SDK 이상

  • 현재 최신 버전 : Android SDK r15

개발자 계정

Google Android Market/ Samsung Apps 에 배포를 위해서는 각 사의 개발자계정이 있어야 합니다. 개발자 계정의 가격정책은 각 사 별로 다릅니다.

단말기

단말기 OS

Android OS

  • 최소 : 2.1 이상

  • 권장 : 4.1.2 이상

※ 단, 상기 OS 이외의 것은 추가검토 필요

지원 단말기 종류

  • 삼성: 갤럭시S2, 갤럭시탭 10.1

  • 펜텍: 스카이 베가레이서,

  • LG: 옵티머스 3D

  • 모토롤라: 아트릭스

  • HTC: 센세이션

  • Sony: 엑스페리아 아크

  • ※ 단, 상기 모델 이외의 것은 추가 검토 필요

13.6.2iOS

구분

항목

내용

개발

PC

Mac OS X에서만 개발/배포 가능

  • 최소 : Mac 10.6.8 이상

XCode

iOS용 앱개발을 위한 툴 (무료 제공)

  • 현재 최신 버전 : XCode 4.2

iOS SDK

XCode 설치 시 함께 설치 됩니다. (무료 제공)

최신 버전의 SDK로 빌드 되어야 Appstore에 배포가 가능합니다.

  • 현재 최신 버전 : iOS 5 SDK

개발자 계정

Apple iOS 개발자 페이지에서 생성하며 연간 비용 형태로 가격이 책정되어 있습니다. 가격은 연간 약 10만원 정도이며 환율에 따라 틀려집니다.

단말기

단말기 OS

iOS

  • 최소 : 3.1.2 이상

  • 권장 : 4.0 이상

※ 단, 상기 OS 이외의 것은 추가검토 필요

지원 단말기 종류

  • iPhone4

  • iPad2

※ 단, 상기 모델 이외의 것은 추가 검토 필요