21. HTML5 정리및하이브리드앱 - KOCWelearning.kocw.net/KOCW/document/2016/chungnam/... ·...

31
데이타베이스 시스템 연구실 Database Systems Lab . 충남대학교 컴퓨터공학과 데이타베이스시스템 연구실 21. HTML5 정리 하이브리드

Transcript of 21. HTML5 정리및하이브리드앱 - KOCWelearning.kocw.net/KOCW/document/2016/chungnam/... ·...

Page 1: 21. HTML5 정리및하이브리드앱 - KOCWelearning.kocw.net/KOCW/document/2016/chungnam/... · 2017-01-23 · HTML5로통칭되는요소는HTML5 뿐아니라CSS3, 웹애플리케이

데이타베이스시스템연구실Database Systems Lab.

충남대학교컴퓨터공학과

데이타베이스시스템연구실

21. HTML5 정리및하이브리드앱

Page 2: 21. HTML5 정리및하이브리드앱 - KOCWelearning.kocw.net/KOCW/document/2016/chungnam/... · 2017-01-23 · HTML5로통칭되는요소는HTML5 뿐아니라CSS3, 웹애플리케이

데이타베이스시스템연구실Database Systems Lab.

HTML5 정리

Page 3: 21. HTML5 정리및하이브리드앱 - KOCWelearning.kocw.net/KOCW/document/2016/chungnam/... · 2017-01-23 · HTML5로통칭되는요소는HTML5 뿐아니라CSS3, 웹애플리케이

The Evolution of the Web

http://evolutionofweb.appspot.com/

Page 4: 21. HTML5 정리및하이브리드앱 - KOCWelearning.kocw.net/KOCW/document/2016/chungnam/... · 2017-01-23 · HTML5로통칭되는요소는HTML5 뿐아니라CSS3, 웹애플리케이

HTML5로통칭되는요소는HTML5 뿐아니라 CSS3, 웹애플리케이션을위한 JavaScript API 확장을포함한것

HTML5의구성요소

통칭되는 “HTML5”

HTML5(Hypertext Markup Language 5.0)

콘텐츠 내용과 형식을 표현

• 문서구조의 상세화• 멀티미디어• 폼과 이벤트 등

CSS3(Cascading Style Sheet 3.0)

콘텐츠 표현 방법을 정의

• 표현 기능 모듈화• 웹 폰트

JavaScript각종 API를 통해 기능을 표현

• Web Storage• Web Worker• Web Socket• Geolocation API

Page 5: 21. HTML5 정리및하이브리드앱 - KOCWelearning.kocw.net/KOCW/document/2016/chungnam/... · 2017-01-23 · HTML5로통칭되는요소는HTML5 뿐아니라CSS3, 웹애플리케이

HTML5의특징

HTML5 기술의 주요 특징 시사점

Semantics:보다 구조화되고 다양한 기능의 HTML 태그를 제공

보다 지능화되고 다양한 형태의 풍부한 웹 문서 표현 가능

Multimedia:비디오, 오디오 지원 기능의 자체 지원을 통한 강력한 멀티미디어 기능 제공

액티브X와 플래시 같은 별도 외부 플러그 필요성 제거

Offline & Storage:네트워크가 지원되지 않는 환경에서도 웹 이용을 가능케 하는 오프라인 처리 기능과 로컬스토리지, File 액세스 처리 가능

웹의 한계로 여겨졌던 네트워크 단절 시 처리방법과 데이터 저장 기능 문제 해결

3D, Graphics & Effects:SVG, 캔버스, WebGL 등을 통한 다양한 2차원/3차원 그래픽 기능의 제공

외부 플러그인 없이 다양한 2D/3D 그래픽 처리 가능

Device Access:GPS, 카메라, 동작센서 등 디바이스의 하드웨어 기능을 웹에서 직접 제어할 수 있도록 하는기능

웹 기반 디바이스 제어 기능을 통해 본격적인웹 애플리케이션 개발 가능

Performance & Integration:비동기 통신, 다중 쓰레드 기능 등을 통한 웹에서의 처리 성능 향상

웹의 가장 큰 문제 중 하나였던 성능 문제를 대폭 개선

Connectivity:클라이언트와 서버간의 효율적인 통신 기능 제공을 통한 웹 기반 커뮤니케이션 효율 대폭강화

웹에서 다양한 통신(메시징, 응용간 통신 등) 제공을 통한 응용 개발 범위 확대

CSS Styling Effect:기존 웹 문서의 변경과 성능저하 없이 웹 애플리케이션의 UI(스타일과 효과 등) 기능을 대폭강화

UI 측면에서 N-스크린 서비스 제공 가능

Page 6: 21. HTML5 정리및하이브리드앱 - KOCWelearning.kocw.net/KOCW/document/2016/chungnam/... · 2017-01-23 · HTML5로통칭되는요소는HTML5 뿐아니라CSS3, 웹애플리케이

차세대웹기술의총합의관점으로HTML5

단말, 플랫폼, 스크린의경계가없도록하는HTML5

새로운앱과 SW 환경으로서의HTML5

모든정보, 서비스와사물을묶는관점으로HTML5

인프라와플랫폼으로서의HTML5

HTML5를바라보는 5가지관점

Page 7: 21. HTML5 정리및하이브리드앱 - KOCWelearning.kocw.net/KOCW/document/2016/chungnam/... · 2017-01-23 · HTML5로통칭되는요소는HTML5 뿐아니라CSS3, 웹애플리케이

데이타베이스시스템연구실Database Systems Lab.

하이브리드앱

Page 8: 21. HTML5 정리및하이브리드앱 - KOCWelearning.kocw.net/KOCW/document/2016/chungnam/... · 2017-01-23 · HTML5로통칭되는요소는HTML5 뿐아니라CSS3, 웹애플리케이

네이티브앱

웹앱

하이브리드앱 Try it!jQuery Mobile(http://jquerymobile.com), Sencha Touch(http://www.sencha.com/products/touch)

Cordova(https://cordova.apache.org/)

모바일앱

8

Page 9: 21. HTML5 정리및하이브리드앱 - KOCWelearning.kocw.net/KOCW/document/2016/chungnam/... · 2017-01-23 · HTML5로통칭되는요소는HTML5 뿐아니라CSS3, 웹애플리케이

‘웹애플리케이션(Web Application)’을의미브라우저주소를통해접속하는형식은 ‘웹앱’

애플이 iOS 1.0 시절아직앱스토어를오픈하지못하여앱이사용되지못했을때 ‘웹앱’을지원하던것이현재까지도사용된것이계기

웹앱

http://www.apple.com/webapps

Page 10: 21. HTML5 정리및하이브리드앱 - KOCWelearning.kocw.net/KOCW/document/2016/chungnam/... · 2017-01-23 · HTML5로통칭되는요소는HTML5 뿐아니라CSS3, 웹애플리케이

‘웹앱’과 ‘네이티브앱’의비교

기능 웹앱 네이티브 앱

개발환경기존에 사용하던 웹 개발환경,

모든 운영체제 가능

아이폰(매킨토시 필요)

안드로이드폰(멀티 플랫폼)

사용 언어 HTML,CSS,자바스크립트아이폰(Object-C)

안드로이드폰(자바)

앱 개발자 비용 무료 년 $99(아이폰), $35(안드로이드)

배포 브라우저가 설치된 환경 앱 스토어/안드로이드 마켓

결제 시스템 독자 결제 구축 또는 광고수익 앱 장터 판매 수익

하드웨어 지원 제한적 모든 기능 활용

업데이트 즉시 반영 검수 받아야 함

UI 상대적으로 제한적 풍부한 UI 가능

Page 11: 21. HTML5 정리및하이브리드앱 - KOCWelearning.kocw.net/KOCW/document/2016/chungnam/... · 2017-01-23 · HTML5로통칭되는요소는HTML5 뿐아니라CSS3, 웹애플리케이

‘웹앱’ 이면서 ‘네이티브앱’의장점을결합한것은 ‘하이브리드앱’‘웹앱’을개발한후에오픈소스크로스프레임워크를이용하여 ‘네이티브앱’으로변화시켜배포되는앱형식을의미

오픈소스크로스프레임워크Cordova(https://cordova.apache.org/)를이용하면 ‘웹앱’을 ‘네이티브앱’으로변환할수있음: PhoneGap의오픈소스버전

하이브리드앱

Page 12: 21. HTML5 정리및하이브리드앱 - KOCWelearning.kocw.net/KOCW/document/2016/chungnam/... · 2017-01-23 · HTML5로통칭되는요소는HTML5 뿐아니라CSS3, 웹애플리케이

위키피디아모바일웹상에서누구나편집할수있는무료백과사전을만드는프로젝트

콘텐츠의대부분은HTML로되어있음

HTML5하이브리드의앱의특성을살려모바일에서도콘텐츠를간편하게볼수있도록함

안드로이드버전과 iOS 버전이공개

위키피디아모바일(구글플레이스토어) Try it!

위키피디아모바일 (앱스토어) Try it!

하이브리드앱의사례

12

Page 13: 21. HTML5 정리및하이브리드앱 - KOCWelearning.kocw.net/KOCW/document/2016/chungnam/... · 2017-01-23 · HTML5로통칭되는요소는HTML5 뿐아니라CSS3, 웹애플리케이

헬스플래닛 Try it!주식회사타니타헬스링크가제공하는헬스플래닛 healthplanet은사용자의신체와건강에관한데이터를등록하고관리할수있는웹서비스헬스플래닛의앱버전임

앱을통해서사용자의체중, 체지방률, 걸음수등신체에관한다양한데이터를등록해서관리할수있음

폰갭으로개발된앱 Try it!

하이브리드앱의사례 (cont’d)

13

Page 14: 21. HTML5 정리및하이브리드앱 - KOCWelearning.kocw.net/KOCW/document/2016/chungnam/... · 2017-01-23 · HTML5로통칭되는요소는HTML5 뿐아니라CSS3, 웹애플리케이

장점웹표준을지원하는플랫폼에서큰수정없이실행가능함

패키징을통해다양한기기를위한앱을작성할수있음

네이티브앱과유사한UX/UI를제공할수있음

단점플랫폼이가진모든기능을사용하지못함

네이티브앱에비해낮은실행성능을가짐

모든기기에서동일한수준의앱표준을지원하지않음

하이브리드앱의장/단점

Page 15: 21. HTML5 정리및하이브리드앱 - KOCWelearning.kocw.net/KOCW/document/2016/chungnam/... · 2017-01-23 · HTML5로통칭되는요소는HTML5 뿐아니라CSS3, 웹애플리케이

필요한화면에서만웹뷰를사용NHN, Daum앱의경우

자체웹프레임워크를사용하는경우가많음

개발자가하이브리드앱을만드는데필요한기술을이해해야함

PhoneGap과같은하이브리드앱프레임워크사용웹앱프레임워크에서제공하는디바이스API와패키징기술을사용

개발자는웹기술과디바이스API, 패키징기술만으로하이브리드앱을만들수있음

일반적인하이브리드앱제작방법

하이브리드앱의개발방법

Page 16: 21. HTML5 정리및하이브리드앱 - KOCWelearning.kocw.net/KOCW/document/2016/chungnam/... · 2017-01-23 · HTML5로통칭되는요소는HTML5 뿐아니라CSS3, 웹애플리케이

웹표준플랫폼브라우저기반웹뷰, 웹플랫폼런타임

HTML5, CSS3, JavaScript와관련 APIs

DOM, Event 모델등

UI 프레임워크앱과유사한형태로만들기위한프레임워크

웹은문서를위한기술임

앱과같은화면구성과사용자상호작용을작성하기에는적합하지않음

주요기술

Page 17: 21. HTML5 정리및하이브리드앱 - KOCWelearning.kocw.net/KOCW/document/2016/chungnam/... · 2017-01-23 · HTML5로통칭되는요소는HTML5 뿐아니라CSS3, 웹애플리케이

디바이스 APIs문서형태가아닌네이티브플랫폼에서제공하는기능을접근하기위한용도

최신웹표준에서정의되어있으나, 네이티브플랫폼에서제공하는모든기능에대해정의되어있지는않음

하이브리드앱을작성하는개발자가직접만들거나, 추가된기능을제공하는PhoneGap과같은하이브리드앱프레임워크를이용

Packaging of Mobile Hybrid App Framework

네이티브앱처럼보이기위한기술

Comparing The Top Frameworks For Building Hybrid Mobile Apps

http://tutorialzine.com/2015/10/comparing-the-top-frameworks-for-building-hybrid-mobile-apps/

주요기술 (cont’d)

Page 18: 21. HTML5 정리및하이브리드앱 - KOCWelearning.kocw.net/KOCW/document/2016/chungnam/... · 2017-01-23 · HTML5로통칭되는요소는HTML5 뿐아니라CSS3, 웹애플리케이

UI 프레임워크jQuery/jQuery Mobile

ExtJS, Sencha Touch

Etc.

필요한이유HTML/CSS는페이지단위의문서표현을위한기술

앱과같은사용자상호작용을위한화면표현에는부적합한점이있음

또한개발하기힘든부분이있음

UI 프레임워크

Page 19: 21. HTML5 정리및하이브리드앱 - KOCWelearning.kocw.net/KOCW/document/2016/chungnam/... · 2017-01-23 · HTML5로통칭되는요소는HTML5 뿐아니라CSS3, 웹애플리케이
Page 20: 21. HTML5 정리및하이브리드앱 - KOCWelearning.kocw.net/KOCW/document/2016/chungnam/... · 2017-01-23 · HTML5로통칭되는요소는HTML5 뿐아니라CSS3, 웹애플리케이

jQuery

홈페이지: www.jquery.com

jQuey Mobile

홈페이지: www.jquerymobile.com

In w3schools.com Try it!

JQUERY / JQUERY MOBILE

Page 21: 21. HTML5 정리및하이브리드앱 - KOCWelearning.kocw.net/KOCW/document/2016/chungnam/... · 2017-01-23 · HTML5로통칭되는요소는HTML5 뿐아니라CSS3, 웹애플리케이

JQUERY

주요기능엘리먼트선택자

태그

클래스

아이디

pseudo-클래스(css선택자와유사개념)

엘리먼트변경, 속성변경

Text, html

Attribute

CSS 변경

이벤트

다양한애니메이션효과지원

Ajax 지원

Plug-in 개념지원

다양한 UI 요소지원

Page 22: 21. HTML5 정리및하이브리드앱 - KOCWelearning.kocw.net/KOCW/document/2016/chungnam/... · 2017-01-23 · HTML5로통칭되는요소는HTML5 뿐아니라CSS3, 웹애플리케이

Touch-Optimized Web UI Framework for Smartphones & Tablets

HTML 마크업기반 (기존HTML 마크업전문툴일부이용가능)

Javascript를몰라도간단한화면구성가능

기존사이트를쉽게모바일로변경가능

멀티디바이스지원다양한디바이스지원

JQUERY MOBILE

Page 23: 21. HTML5 정리및하이브리드앱 - KOCWelearning.kocw.net/KOCW/document/2016/chungnam/... · 2017-01-23 · HTML5로통칭되는요소는HTML5 뿐아니라CSS3, 웹애플리케이

JQUERY MOBILE-예제

<!DOCTYPE html>

<html>

<head>

<title>Page Title</title>

<meta name="viewport" content="width=device-width, initial-scale=1">

<link rel="stylesheet" href="http://code.jquery.com/mobile/1.1.1/jquery.mobile-1.1.1.min.css"

/>

<script src="http://code.jquery.com/jquery-1.7.1.min.js"></script>

<script src="http://code.jquery.com/mobile/1.1.1/jquery.mobile-1.1.1.min.js"></script>

</head>

<body>

<div data-role="page">

<div data-role="header">

<h1>Page Title</h1>

</div><!-- /header -->

<div data-role="content">

<p>Page content goes here.</p>

</div><!-- /content -->

<div data-role="footer">

<h4>Page Footer</h4>

</div><!-- /footer -->

</div><!-- /page -->

</body>

</html>

Page 24: 21. HTML5 정리및하이브리드앱 - KOCWelearning.kocw.net/KOCW/document/2016/chungnam/... · 2017-01-23 · HTML5로통칭되는요소는HTML5 뿐아니라CSS3, 웹애플리케이

홈페이지: http://www.sencha.com/products/touch

버전: 2.4.1

주요기능Built on HTML5 Technology

Smoother Scrolling and Animations

Adaptive Layouts

Native Packaging

AJAX

DOM manipulation

Feature Detection

Geolocation

Icons

Touch events

SENCHA TOUCH / EXT JS

Page 25: 21. HTML5 정리및하이브리드앱 - KOCWelearning.kocw.net/KOCW/document/2016/chungnam/... · 2017-01-23 · HTML5로통칭되는요소는HTML5 뿐아니라CSS3, 웹애플리케이

HTML5 기반의모바일프레임워크

jQuery Mobile

HTML 작성처럼 Line by Line 으로마크업하며작성

기존Web 개발과차이적어서익숙한개발방법

많은브라우저(기기)를지원

기존Web의손쉬운Mobile 전환

손쉬운사용법

Sencha Touch

Java의AWT나 Swing 처럼 Panel 기반으로화면을구성

JavaScript와 Ext.JS 을배우는비용이추가로필요

네이티브앱과매우유사한UI를제공

JQUERY MOBILE VS. SENCHA TOUCH

Page 26: 21. HTML5 정리및하이브리드앱 - KOCWelearning.kocw.net/KOCW/document/2016/chungnam/... · 2017-01-23 · HTML5로통칭되는요소는HTML5 뿐아니라CSS3, 웹애플리케이

디바이스 API네이티브플랫폼의기능을 사용할수있는자바스크립트API

디바이스 API의종류W3C API Try it!

3rd-Party API: PhoneGap API

User-defined API (Custom API): PhoneGap Plugin Try it!

디바이스 API

Page 27: 21. HTML5 정리및하이브리드앱 - KOCWelearning.kocw.net/KOCW/document/2016/chungnam/... · 2017-01-23 · HTML5로통칭되는요소는HTML5 뿐아니라CSS3, 웹애플리케이

W3C’S DEVICE APIs

Web Application

Offline / Storage

Web SQL Database

Local Storage

Indexed DB

Application Cache

Realtime / Communication

Web Workers

Web Socket

Web Notifications

File / Hardware Access

Native Drag & Drop

Desktop Drag-in (File API)

Desktop Drag-Out

File System APIs

Geolocation

Device Orientation

Speech Input

Page 28: 21. HTML5 정리및하이브리드앱 - KOCWelearning.kocw.net/KOCW/document/2016/chungnam/... · 2017-01-23 · HTML5로통칭되는요소는HTML5 뿐아니라CSS3, 웹애플리케이

W3C’S DEVICE APIs (cont’d)

Device and Sensors WG

Execution & Security Models

Alarm, Contacts, Messaging, Telephony, Raw Sockets

Bluetooth, Browser, Calendar, Device Capabilities, Idle, Media Storage, Network Interface, Secure Elements, System Settings

28

Page 29: 21. HTML5 정리및하이브리드앱 - KOCWelearning.kocw.net/KOCW/document/2016/chungnam/... · 2017-01-23 · HTML5로통칭되는요소는HTML5 뿐아니라CSS3, 웹애플리케이

PHONEGAP APIs

APIs

Accelerometer

Camera

Capture

Compass

Connection

Contacts

Device

Events

File

Geolocation

Media

Notification

Storage

Plugin APIs

Page 30: 21. HTML5 정리및하이브리드앱 - KOCWelearning.kocw.net/KOCW/document/2016/chungnam/... · 2017-01-23 · HTML5로통칭되는요소는HTML5 뿐아니라CSS3, 웹애플리케이

PHONEGAP

A standards-based, open-source development framework for building cross-platform mobile apps with HTML, CSS and JavaScript for iPhone/iPad, Google Android, Windows Phone 7, Palm, Symbian, BlackBerry and more.

홈페이지: www.phonegap.com

오픈소스: Apache 재단의 Cordova 프로젝트

Adobe사제공

Nitobi인수

Page 31: 21. HTML5 정리및하이브리드앱 - KOCWelearning.kocw.net/KOCW/document/2016/chungnam/... · 2017-01-23 · HTML5로통칭되는요소는HTML5 뿐아니라CSS3, 웹애플리케이

Device API

패키징

빌드클라우드서비스형태로제공

PHONEGAP 지원플랫폼 Try it!

PHONEGAP의주요기능