Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
1 of 23

Hybrid App Platform - HyWAI 3.5

6

Share

Download to read offline

HyWAI is an HTML5 based Hybrid Web Application platform that allows you to author native applications with web technologies and get access to APIs and app stores.
HyWAI leverages web technologies developers already know best... HTML and JavaScript.

Related Books

Free with a 30 day trial from Scribd

See all

Related Audiobooks

Free with a 30 day trial from Scribd

See all

Hybrid App Platform - HyWAI 3.5

  1. 1. Hybrid Platform – HyWAI 3.5 ETRI 창의미래연구소 표준연구센터 서비스표준연구실 전종홍
  2. 2. Hybrid Web Application Interface
  3. 3. 3 Introduction q HyWAI is an HTML5 based Hybrid Web Application platform that allows you to author native applications with web technologies and get access to APIs and app stores. q HyWAI leverages web technologies developers already know best... HTML and JavaScript. ...... GPS Contacts Phone Call Gallery … Internet
  4. 4. 4 History q Version 0.5 (Dec 2009) § Support iOS 2.x, Android 1.x § Considering interoperable with W3C Device APIs q Version 1.0 (Dec 2010) § Support iOS 3.x, Android 2.x q Version 2.0 (Dec 2011) § Support iOS 5.x, Android 4.x § Implemented NFC API q Version 2.1 (Dec 2012) § Support iOS 6.x, Android 4.x § Implemented NFC API, File API, Sensor API, Remote Access, q Version 3.0 (Dec 2013) § Support iOS 7.x, Android 4.x § Partiality implemented Bluetooth API, WiFi API, Web of Things features q Version 3.5 (Dec 2014) § Support iOS 8.x, Android 4.x § Full Restructuring, Web Bluetooth API § Considering browser based APIs
  5. 5. 5 Native App vs. Web App Native App Web App Web page Native Web App Hybrid Web App (Cross Platform) Multi-platform support
  6. 6. 6 Introduction - How HyWAI Works qBuild your app once with web-standards § Based on HTML5, HyWAI leverages web technologies developers already know best... HTML and JavaScript. qWrap it with HyWAI § Using HyWAI or the free open source framework(e.g: PhoneGap, Appspresso) build you can get access to native APIs. qDeploy to multiple platforms! § HyWAI uses standards-based web technologies to bridge web applications and mobile devices.
  7. 7. 7 Smart Phone HyWAI Native AppHyWAI Native App Web BrowserWeb Browser HTML page CSS Javascript HyWAI APIs Native Application Created using the Android SDK or Xcode. Automated using HyWAI Native Application Created using the Android SDK or Xcode. Automated using HyWAI Web Browser Webkit on iPhone or Android Web Browser Webkit on iPhone or Android Javascript & CSS Sencha, jQuery Mobile, jQTouch HyWAI provide system APIs for access to native features. Also it can be use to external UI frameworks to provide better UX. Javascript & CSS Sencha, jQuery Mobile, jQTouch HyWAI provide system APIs for access to native features. Also it can be use to external UI frameworks to provide better UX. App Store Open API Mashup External Open APIs (e.g: Google Maps, Twitter, Facebook…) Open API Mashup External Open APIs (e.g: Google Maps, Twitter, Facebook…) HyWAI Technology
  8. 8. 8 HyWAI 2.1 Web ApplicationWeb Application WebServerWebServer HyWAI API (Java Script)HyWAI API (Java Script) HyWAI BrokerHyWAI Broker Native APINative API Sync Process Async Process Ajax (Async)Ajax (Sync) Notification Ajax (Async)
  9. 9. 9 HyWAI APIs • applauncher • calendar • contact • file • gallery • mediacapture • messaging • nfc • sensor • sysinfo • task • telephony • ui • util http://www.w3c.or.kr/hywai/api/
  10. 10. 10 HyWAI 3.5 q Latest Platform support § iOS 8.X § Android 4.X q Refactoring q Web Bluetooth API support
  11. 11. 11 Android, iOS, Web 프로젝트 구성 기존 HyWAI 프로젝트 구성 새로운 HyWAI 프로젝트 구성 Android - Jar 파일 형태로 라이브러리 구성 - Jar를 기존 샘플 프로젝트에서 생성하도록 되어 있음 - AAR (Android ARchieve) 파일 형태로 라 이브러리 구성 - AAR 을 빌드 할 수 있는 Module과 샘플 프로젝트를 빌드 하는 Module이 구별되 어 있음 - Gradle을 통하여 빌드정보를 관리함. iOS - .a (Archive) 파일 형태로 빌드하기 위한 별도 프로 젝트 라이브러리 구성 - HyWAI iOS 라이브러리를 사용하기 위해 개발자 가 .a 및 .h 파일을 알맞게 가져와 사용해야 함. - framework 파일형태로 프로젝트 라이브 러리 구성 - 빌드 된 framework 파일은 .a 및 .h를 모 두 포함하는 형태이므로 개발자는 framework 파일을 프로젝트 설정에 추가 하는 것으로 HyWAI 사용 가능. Web - jQuery Mobile로 만들어진 샘플 프로젝트 소스와 명확히 구분되지 못하고 있음 - HTML, CSS, JS, Image 등 정적 파일이 모두 압축 되지 않은 형태임 - Lint 등 기본적인 코드 구성 확인에 대한 도구가 없어 디버깅 시 Native 프로젝트에 포함 시켜 확 인해야 함. - Yeoman을 이용한 빌드 구성 > yo : 프로젝트 생성(스캐폴딩) > grunt : 태스크 자동화 > bower : JS 라이브러리 관리 - Angular.JS를 이용하여 샘플 프로젝트를 구현하였지만 모듈을 명확히 분리하여 다 른 framework에서도 동작 용이 - grunt를 이용하여 JS Lint/ 빌드/ 테스트/ 문서생성 태스크를 자동화
  12. 12. 12 Android Project 기존 HyWAI 새로운 HyWAI 구성 설명 - 위 스크린 샷은 기존 프로젝트를 현재 버전의 Android Studio(1.0 RC)에서 import 하였을 때 프로 젝트 구성이다. - app/src/main/java 폴더에 라이브러리 및 샘플 프로 젝트 구별 없이 java 소스가 구성되어 있다. Jar 생성 을 위해서는 java 폴더내의 소스 중 라이브러리 관 련 소스만 분리하여 jar export를 수행해야 한다. - assets/ 폴더에 html, css, js, image 등 웹용 리소스 파일이 위치하고 있다. - Gradle 파일은 import 시 구성되었으나 프로젝트의 여러 곳에 혼재되어 존재 한다. - app / hywai / Gradle Scripts 형태로 구성된다. > app : 샘플 프로젝트를 생성하기 위한 모듈 > hywai : AAR을 생성하기 위한 모듈 è hywai 모듈을 빌드 하는 것으로 AAR 파일 생성 가능 > Gradle Scripts : app, hywai 모듈의 빌드를 관리하 기 위한 GradleScripts è 소스와 분리하여 빌드 스크립트를 관리
  13. 13. 13 기존 HyWAI 새로운 HyWAI 구성 설명 - iOS 라이브러리 (.a)파일 빌드를 위한 별로 프로젝트 가 존재 - 빌드시 생성되는 .a파일과 프로젝트 내의 .h파일들 을 앱 프로젝트로 이동하여 사용 - HyWAI Workspace 안에 라이브러리 빌드를 위 한 프로젝트와 샘플 앱 프로젝트 빌드를 위한 프 로젝트로 구성 > hywai : hywai framework 프로젝트 è .h와 .a 파일을 모두 포함하는 framework를 빌 드하여 타 프로젝트에서 사용이 용이하게 함. > hywai container : hywai 샘플 앱 프로젝트 è framework으로 분리된 라이브러리를 참조하 여 라이브러리 부분과 앱의 소스 구분이 명확 iOS Workspace
  14. 14. 14 기존 HyWAI 새로운 HyWAI 구성 설명 - 별도 구별 없이 Android, iOS 프로젝트에 포함 되어 있음 - HTML, CSS, JS, 이미지 리소스가 압축(minify) 되어 있지 않아 실 사용시 로딩 성능 문제 발생 소지 있음 - 릴리즈 용 소스와 테스트 용 소스가 명확하게 구분되어 있지 않음 - Yeoman을 이용한 빌드 구성을 갖는 별도 프로젝트 로 분리 > yo : 프로젝트 생성(스캐폴딩) > grunt : 태스크 자동화 > bower : JS 라이브러리 관리 - Angular.JS를 이용하여 샘플 프로젝트를 구현하였지 만 모듈을 명확히 분리하여 다른 framework에서도 동작 용이 - grunt를 이용하여 JS Lint(jshint) / 빌드(concat, uglifyjs, htmlmin, cssmin, imagemin, svgmin)/ 테스 트(karma) / 문서생성(jsdoc3) 태스크를 자동화 Web Project
  15. 15. 15 W3C FirefoxOS Chrome Tizen (Web API) iOS Android (SDK) HyWAI 3.5 블루투스 LE 지원 O O1 O X O O O BR/EDR 전용 API 지원 X O O O X2 O O5 페어링 처리 기기 객체가 페어링 여부 확인 전역 아답터 객체 자동 전역 아답터 객체 자동 자동/ 기기 객체 자동 LE 메시지 수신 처리 Promise와 GATT 객체 Promise와 이벤트 객체 Callback Funct ion Callback Obje ct Delegate Prot ocol Callback Obje ct (Java) Callback Funct ion LE 메시지 송신 처리 GATT 속성별 객체 GATT 속성별 객체 블루투스 전역 객체 N/A 기기 객체 / 전역 매니저 객체 기기별 GATT 객체 GATT 속성별 객체 BR/EDR 통신 방법 LE용 API 이용 Callback Funct ion3 소켓 기반 통신 소켓 기반 통신 LE용 API 이용 소켓 기반 통신 소켓 기반 통신6 예외 처리 종류 및 처리 방법만 제시 Promise 이용 전역 런타임 에러 객체 에러 콜백 객체 콜백에 에러 객체 전달 Exception 객체 Promise 이용 서버 역할 지원 X LE BR/EDR BR/EDR LE BR/EDR, LE BR/EDR7, LE 1기존 OS에는 미탑재, API 표준 논의중. 기존 OS에는 승인된 Application만 사용 가능한 BR/EDR용 API만 있음 2Apple사의 MFi 프로그램을 통해 개발된 기기들을 중심으로 한정적인 지원 3특정 Profile들만 지원: HFP, A2DP, 등 4크롬 OS는 소켓 기반 통신만 지원. 5, 6, 7iOS기기는 BR/EDR 통신 API를 지원하지 않음. Web Bluetooth API 구현 및 표준화 15
  16. 16. 16 Web Bluetooth의 활용성
  17. 17. Demo – Cloud & HySense
  18. 18. 18 Smartphone & Sensors
  19. 19. 19 Crowd Sensing - HySense
  20. 20. 감사합니다. http://www.mw2.or.kr Thank you for you attention
  21. 21. Demo – HyWAI 3.5 APIs http://mobile2.tistory.com/8
  22. 22. 22 Contact q HyWAI is Hybrid Web Application Interface Platform q If you have any questions and suggestions, please contact us. § Jonghong Jeon (Principal Researcher) • Tel: +82-42-860-5333 • Email : hollobit@etri.re.kr § Seungyun Lee (Team Manager) • Tel:+82-42-860-5508 • Email : syl@etri.re.kr
  23. 23. 23 경청해주셔서 감사합니다

×