HTML5 for web app. development

Brandon Kang
Brandon KangService Platform Architect
개발자의 관점에서 본
       H TML5


1
Part O n e
    HTML vs . HTML5


2
H TML vs . H TML5

     H TML                                  H TML5

     오디오와 비디오는 H TML4 의 사양에                 오디오와 비디오가 H TML5 사양의 필
     포함되어 있지 않음                             수적인 항목으로 포함되어 있음
                                            (< au d io > 와 < vid e o > 태그 )


     Ve c to r 그래픽은 VML, S ilve rlig h t,   Ve c to r 그래픽의 필수 항목으로 포함되
     F las h 을 설치함 으로서 사용 가능함               어 있음 (S VG 와 c an vas )
     (Plu g In 설치 요망 )


     정확한 위치정보를 가져오는 것이 거의                   Java S c rip t 에 위치 정보 파악 API 가
     불가능함                                   포함되어 있음




 3
H TML vs . H TML5

     H TML                         H TML5

     임시 저장 공간에 브라우저에서 읽어 온         애플리케이션 캐시 , We b S Q L 데이터
     데이터를 저장함                      베이스 , 웹 저장 공간을 사용자의 저장
                                   공간으로 상용 가능함 . JavaS c rip t 를 통
                                   해서 접근 가능함
     자체적인 We b S o c ke t 기능은 없음   We b S o c ke t 을 사용하여 서버와 양방향
                                   통신이 가능함 . Java S c rip t 를 사용하여
                                   서 접근 가능함


     모든 버전의 브라우저에서도 동작함            최근에 배포된 브라우저만 지원함
                                   ( 예 : F ire fo x, Mo zilla, O p e ra, C h ro m e ,
                                   S afari 등 )
     JavaS c rip t 는 브라우저 인터페이스와 동 JavaS c rip t 가 백그라운드에서 실행 가능
     일한 쓰레드에서 실행되어 야 함             함



 4
Part Two
    F las h & H TML5

5
H TML5 을 적용하기 적당한 경우

    • 사용자에게 하드웨어와 소프트웨어 벤더 선택의 자유을 주고자 할 경우
    • 저사양의 디바이스에서 비디오를 재생하고자 할 경우
    • F las h 라이센스 비용을 아끼고자 할 경우
    • Ap p le 에서 생상된 디바이스에서 재생하고자 할 경우
    • 개방된 개발 환경이 중요하다고 여겨질 경우



F las h 를 적용하기 적당한 경우

    • IE 6 을 지원하고자 할 경우
    • 비디오 스트리밍 시에 네트워크 대역폭에 따라서 b it rate s 를 조절하고자 할 경우
    • 콘텐트의 무단 복사를 막고자 할 경우
    • 비디오에 광고를 동적으로 포함 시키고자 할 경우




9
6
Mic ro s o ft d ro p s F las h fro m IE o n Win d o ws 8
tab le ts .
- 1 6 S e p te m b e r 201 1 fro m B B C
     U p c o m in g N o kia Mo b ile Ph o n e s (Lu m ia) –
     F irs t Win d o ws Ph o n e (Man g o ) (with o u t
     Ad o b e F las h )
     - N o ve m b e r 1 1 , 201 1 fro m ad d p r.c o m




            An d ro id Ic e C re am S an d wic h 4.0 to g e t Ad o b e
            F las h b e fo re 201 2
            - N o ve m b e r 23, 201 1 fro m te c h b lo g
Part Th re e
We b Ap p



8
We b Ap p 의 예




 9
We b Ap p 의 장점
     • 코드 재사용성이 뛰어남
     • 업데이트가 용이함
     • 해상도에 따른 화면 재구성이 가능함
     • C S S 속도 개선
     • Lo c al S to rag e , D e vic e API 이용 가능




We b Ap p 의 단점

     • 콘텐트를 다운 받기 위한 시간 소요
     • N ative Ap p 과 같은 수려한 U I 가 제공 안됨
     • 디버그의 어려움이 있음
     • Ap p 으로 패키징 하기위한 작업이 필요함
     • D e vic e API 를 이용하기 위한 작업 필요



 9
10
Web App 의 제작 과정

        We b
                     H TML, C S S , JavaS c rip ts
     C o n te n ts


         UI          JavaS c rip t F ram e wo rk
      E ffe c ts     (j u e ry, S e n c h a)
                       Q


      Mo b ile
       APIs
                     H TML5 Ap p Platfo rm
                     (Ph o n e G ap , Titan iu m )
       Ap p
     Pac kag e

11
JavaS c ript Framework

• H TML 문서 이동
• 이벤트 핸들링
• 애니메이션
• Aj 인터랙션 처리
    ax




 12
JavaS c rip t F ram e wo rk: j u e ry
                               Q

• 크기가 31 kb 로 경쟁사보다 작음
• j u e ryU I 라고 U I te m p late 을 제공함
   Q
• 웹에서 디자인 테마를 직접 만들 수 있도록 제공함
• 시장에서 가장 많이 쓰이고 있음



아쉬운 점
• 모바일 We b 을 위한 Te m p late 를 제공하고 있지 않음
• Flas h 와 같은 에니메이션 효과 구현을 위한 To o l 의 부재
• 웹 개발자만을 위한 Fram e wo rk




 13
JavaS c rip t F ram e wo rk: S e n c h a

• H TML5 모바일 웹 개발의 위한 프레임워크
• 보다 수려한 An im atio n s 효과를 지원함
• 웹 개발 템플릿 ( 예제 ) 가 잘 준비되어 있음
• 여러 개의 제품 군으로 이루어져 있음



아쉬운 점
• Lib rary 사이즈가 큼
• 관련 개발 문서가 상대적으로 부족함




 14
JavaS c rip t F ram e wo rk: S e n c h a

• S e n c h a To u c h
  - H TML5 기반의 모바일 앱을 개발하기 위한 프레임워크
• S e n c h a An im ato r
  - C S S 3 애니메이션을 만들어 주는 데스크톱 어플리케이션
• E xt C o re
  - We b U I 개발을 쉽게 구현할 수 있도록 지원하는 자바스크립트 라이브러
  리임
• E xt D e s ig n e r
  - D rag & D ro p 을 지원하는 데스크탑 어플리케이션




 15
JavaS c rip t F ram e wo rk: Jin d o

• N H N 에서 제작한 JavaS c rip t Lib rary
• 네이버 뉴스 , 지도와 같은 자체 서비스 개발에 사용됨
• 주석이 한글로 되어 있음




아쉬운 점
• 개발 문서에 예제가 부족함
• 개발 툴을 제공하지 않음




 16
H TML5 Ap p Platfo rm

• 폰 APIs
• 패키지




 17
H TML5 Ap p Platfo rm : Ph o n e G ap

• 대부분의 모바일 Platfo rm 을 지원함
• XC o d e , E c lip s e 용 Ph o n e G ap Plu g In 을 제공
• Ph o n e G ap B u ild 서비스를 통해서 플랫폼 별 Ap p 으로 재생산에서 배포
  가능 ( 유료 )
• j u e ry 가 포함되어 있음
   Q
• Ad o b e D re am we ave r C S 5.5 에 Ph o n e G ap 이 포함되어 있음
개발 방법

                           1 . XC o d e 로 Ph o n e G ap 기반의 프로젝트 생성
                           2. www 폴더 아래에 We b Pag e 소스를 복사




 18
H TML5 Ap p Platfo rm : Titan iu m

• Titan iu m Pac kag e 가 포함된 E c lip s e 기반의 ID E
• iO S , An d ro id , B lac kb e rry 지원
• j u e ry 가 포함되어 있음
   Q
• D e b u g 가 용이함
• 패키지 해주는 C lo u d 서비스 제공



아쉬운 점
• 지원하는 Mo b ile Platfo rm 한정되어 있음




 19
H TML5 Ap p Platfo rm : Ap p s p re s s o

• E c lip s e 기반의 ID E
• iO S , An d ro id 지원
• D e b u g 가 용이함
• O n - th e - fly 기능 제공


아쉬운 점
• 지원하는 Mo b ile Platfo rm 한정되어 있음
• JavaS c rip t Lib rary 가 포함되어 있지 않음




 20
UI F ra me wo rk
     jQ ue ry              S e nc ha             J MC
     • iO S 와 An d ro id 기반의 • H TML5 기반의 Mo b ile • N H N 에서 자체적으로 제
       디바이스를 지원하는              Ap p 을 위한 개발을 위       작한 F ram e wo rk
       j u e ry Plu g in
        Q                      해 만들어진              • JMC 기반으로 N ave r
     • 터치 E ve n t 최적화됨        F ram e wo rk         We b Ap p 이 만들어 졌고
                             • 개발을 쉽게 할 수 있는         문서가 한글로 되어 있음
                               To o l 이 포함되어 있음

HTML 5 A p p F ra me wo rk
     PhoneGap              Titanium               Appspresso
     • 거의 모든 모바일 플랫폼 • 개발 , 테스트 , 배포를 • 국산 F ram e wo rk 임
       을 지원함            동일한 환경에서 할 수    • O n th e fly 기능 제공
     • 패키지 하고 배포하는 기 있는 F ram e wo rk 임 • 다양한 플랫폼을 지원하
       능이 포함되어 있음     • iO S 과 안드로이드만 지   고자 계획하고 있음
     • Ad o b e 에 인수됨   원함



15
21
We b Ap p 제작 툴
                                     F las h
                     Mo b ile U I                     Ph o n e APIs Pac kag e
                                     An im atio n s

j u e ry
 Q

S e ncha

Jin d o

Ad o b e
(Ph o n e G ap , D re am we ave r)


Titan iu m

Ap p s p re s s o
  22
감사합니다 .



23
1 of 23

Recommended

OSS SW Basics Lecture 14: Open source hardware by
OSS SW Basics Lecture 14: Open source hardwareOSS SW Basics Lecture 14: Open source hardware
OSS SW Basics Lecture 14: Open source hardwareJeongkyu Shin
374 views21 slides
Akamai 서비스 트러블 슈팅 및 테스트 방법과 도구 by
Akamai 서비스 트러블 슈팅 및 테스트 방법과 도구Akamai 서비스 트러블 슈팅 및 테스트 방법과 도구
Akamai 서비스 트러블 슈팅 및 테스트 방법과 도구Brandon Kang
1.3K views52 slides
Akamai Korea - Tech Day (2015/03/11) DNS by
Akamai Korea - Tech Day (2015/03/11) DNSAkamai Korea - Tech Day (2015/03/11) DNS
Akamai Korea - Tech Day (2015/03/11) DNSBrandon Kang
1.4K views18 slides
Akamai Korea - Tech Day (2015/03/11) HTTP/2 by
Akamai Korea - Tech Day (2015/03/11) HTTP/2Akamai Korea - Tech Day (2015/03/11) HTTP/2
Akamai Korea - Tech Day (2015/03/11) HTTP/2Brandon Kang
6.1K views47 slides
Performance Implications of Mobile Design (Perf Audience Edition) by
Performance Implications of Mobile Design (Perf Audience Edition)Performance Implications of Mobile Design (Perf Audience Edition)
Performance Implications of Mobile Design (Perf Audience Edition)Guy Podjarny
7.9K views60 slides
HTTP/2와 웹 성능 최적화 방안 by
HTTP/2와 웹 성능 최적화 방안HTTP/2와 웹 성능 최적화 방안
HTTP/2와 웹 성능 최적화 방안Brandon Kang
3.9K views35 slides

More Related Content

Similar to HTML5 for web app. development

머신러닝 및 데이터 과학 연구자를 위한 python 기반 컨테이너 분산처리 플랫폼 설계 및 개발 by
머신러닝 및 데이터 과학 연구자를 위한 python 기반 컨테이너 분산처리 플랫폼 설계 및 개발머신러닝 및 데이터 과학 연구자를 위한 python 기반 컨테이너 분산처리 플랫폼 설계 및 개발
머신러닝 및 데이터 과학 연구자를 위한 python 기반 컨테이너 분산처리 플랫폼 설계 및 개발Jeongkyu Shin
2.8K views98 slides
프로그래밍 언어의 F1머신 C++을 타고 Windows 10 UWP 앱 개발의 세계로~ by
프로그래밍 언어의 F1머신 C++을 타고 Windows 10 UWP 앱 개발의 세계로~프로그래밍 언어의 F1머신 C++을 타고 Windows 10 UWP 앱 개발의 세계로~
프로그래밍 언어의 F1머신 C++을 타고 Windows 10 UWP 앱 개발의 세계로~YEONG-CHEON YOU
7.4K views79 slides
초보 개발자/학생들을 위한 오픈소스 트랜드 by
초보 개발자/학생들을 위한 오픈소스 트랜드 초보 개발자/학생들을 위한 오픈소스 트랜드
초보 개발자/학생들을 위한 오픈소스 트랜드 YoungSu Son
829 views227 slides
[NDC17] Protocol:hyperspace Diver 개발 포스트모템 by
[NDC17] Protocol:hyperspace Diver 개발 포스트모템[NDC17] Protocol:hyperspace Diver 개발 포스트모템
[NDC17] Protocol:hyperspace Diver 개발 포스트모템Young Soo Kim
1.2K views143 slides
인프콘 2022 - Rust 크로스 플랫폼 프로그래밍 by
인프콘 2022 - Rust 크로스 플랫폼 프로그래밍인프콘 2022 - Rust 크로스 플랫폼 프로그래밍
인프콘 2022 - Rust 크로스 플랫폼 프로그래밍Chris Ohk
2.2K views44 slides
프로그래밍 언어의 기본 개념과 주요 프로그래밍 언어 by
프로그래밍 언어의 기본 개념과 주요 프로그래밍 언어프로그래밍 언어의 기본 개념과 주요 프로그래밍 언어
프로그래밍 언어의 기본 개념과 주요 프로그래밍 언어Bizmerce Corp
7.5K views24 slides

Similar to HTML5 for web app. development(20)

머신러닝 및 데이터 과학 연구자를 위한 python 기반 컨테이너 분산처리 플랫폼 설계 및 개발 by Jeongkyu Shin
머신러닝 및 데이터 과학 연구자를 위한 python 기반 컨테이너 분산처리 플랫폼 설계 및 개발머신러닝 및 데이터 과학 연구자를 위한 python 기반 컨테이너 분산처리 플랫폼 설계 및 개발
머신러닝 및 데이터 과학 연구자를 위한 python 기반 컨테이너 분산처리 플랫폼 설계 및 개발
Jeongkyu Shin2.8K views
프로그래밍 언어의 F1머신 C++을 타고 Windows 10 UWP 앱 개발의 세계로~ by YEONG-CHEON YOU
프로그래밍 언어의 F1머신 C++을 타고 Windows 10 UWP 앱 개발의 세계로~프로그래밍 언어의 F1머신 C++을 타고 Windows 10 UWP 앱 개발의 세계로~
프로그래밍 언어의 F1머신 C++을 타고 Windows 10 UWP 앱 개발의 세계로~
YEONG-CHEON YOU7.4K views
초보 개발자/학생들을 위한 오픈소스 트랜드 by YoungSu Son
초보 개발자/학생들을 위한 오픈소스 트랜드 초보 개발자/학생들을 위한 오픈소스 트랜드
초보 개발자/학생들을 위한 오픈소스 트랜드
YoungSu Son829 views
[NDC17] Protocol:hyperspace Diver 개발 포스트모템 by Young Soo Kim
[NDC17] Protocol:hyperspace Diver 개발 포스트모템[NDC17] Protocol:hyperspace Diver 개발 포스트모템
[NDC17] Protocol:hyperspace Diver 개발 포스트모템
Young Soo Kim1.2K views
인프콘 2022 - Rust 크로스 플랫폼 프로그래밍 by Chris Ohk
인프콘 2022 - Rust 크로스 플랫폼 프로그래밍인프콘 2022 - Rust 크로스 플랫폼 프로그래밍
인프콘 2022 - Rust 크로스 플랫폼 프로그래밍
Chris Ohk2.2K views
프로그래밍 언어의 기본 개념과 주요 프로그래밍 언어 by Bizmerce Corp
프로그래밍 언어의 기본 개념과 주요 프로그래밍 언어프로그래밍 언어의 기본 개념과 주요 프로그래밍 언어
프로그래밍 언어의 기본 개념과 주요 프로그래밍 언어
Bizmerce Corp7.5K views
Social game and windows azure platform (final) by 정현 남
Social game and windows azure platform (final)Social game and windows azure platform (final)
Social game and windows azure platform (final)
정현 남2.1K views
강좌 04 펌웨어 구조 설계 by chcbaram
강좌 04 펌웨어 구조 설계강좌 04 펌웨어 구조 설계
강좌 04 펌웨어 구조 설계
chcbaram6K views
클라우드 IDE, 구름 프로젝트 | Devon 2012 by Daum DNA
클라우드 IDE, 구름 프로젝트 | Devon 2012클라우드 IDE, 구름 프로젝트 | Devon 2012
클라우드 IDE, 구름 프로젝트 | Devon 2012
Daum DNA1.8K views
Introduction to Golang v2 by Hyejong
Introduction to Golang v2Introduction to Golang v2
Introduction to Golang v2
Hyejong951 views
[IGC 2017] 넥스트플로어 김영수 - Protocol:hyperspace Diver 개발 포스트모템 by 강 민우
[IGC 2017] 넥스트플로어 김영수 - Protocol:hyperspace Diver 개발 포스트모템[IGC 2017] 넥스트플로어 김영수 - Protocol:hyperspace Diver 개발 포스트모템
[IGC 2017] 넥스트플로어 김영수 - Protocol:hyperspace Diver 개발 포스트모템
강 민우966 views
Golang Restful 서버 개발기 by Hyejong
Golang Restful 서버 개발기Golang Restful 서버 개발기
Golang Restful 서버 개발기
Hyejong8.3K views
Slack과 Rust로 Amazon ECS에서 서비스 배포하기 by Eunchong Yu
Slack과 Rust로 Amazon ECS에서 서비스 배포하기Slack과 Rust로 Amazon ECS에서 서비스 배포하기
Slack과 Rust로 Amazon ECS에서 서비스 배포하기
Eunchong Yu676 views
왜Web rtc인가 by 우일 권
왜Web rtc인가왜Web rtc인가
왜Web rtc인가
우일 권6.4K views
[IGC2017] Protocol:hyperspace Diver 개발 포스트모템 by Young Soo Kim
[IGC2017] Protocol:hyperspace Diver 개발 포스트모템[IGC2017] Protocol:hyperspace Diver 개발 포스트모템
[IGC2017] Protocol:hyperspace Diver 개발 포스트모템
Young Soo Kim511 views
(게임개발을위한) printf("Hello World!"); 그 이상의 콘솔 프로그래밍 by NDOORS
(게임개발을위한) printf("Hello World!"); 그 이상의 콘솔 프로그래밍(게임개발을위한) printf("Hello World!"); 그 이상의 콘솔 프로그래밍
(게임개발을위한) printf("Hello World!"); 그 이상의 콘솔 프로그래밍
NDOORS3K views

More from Brandon Kang

웹에 빠른 날개를 달아주는 웹 성능 향상 이야기 by
웹에 빠른 날개를 달아주는 웹 성능 향상 이야기웹에 빠른 날개를 달아주는 웹 성능 향상 이야기
웹에 빠른 날개를 달아주는 웹 성능 향상 이야기Brandon Kang
23 views43 slides
Web Performance Optimization with HTTP/3 by
Web Performance Optimization with HTTP/3Web Performance Optimization with HTTP/3
Web Performance Optimization with HTTP/3Brandon Kang
184 views37 slides
How to Replicate PostgreSQL Database by
How to Replicate PostgreSQL DatabaseHow to Replicate PostgreSQL Database
How to Replicate PostgreSQL DatabaseBrandon Kang
181 views13 slides
Scalability strategies for cloud based system architecture by
Scalability strategies for cloud based system architectureScalability strategies for cloud based system architecture
Scalability strategies for cloud based system architectureBrandon Kang
281 views39 slides
HTTP/3 시대의 웹 성능 최적화 기술 이해하기 by
HTTP/3 시대의 웹 성능 최적화 기술 이해하기HTTP/3 시대의 웹 성능 최적화 기술 이해하기
HTTP/3 시대의 웹 성능 최적화 기술 이해하기Brandon Kang
6.1K views39 slides
수요자 중심의 클라우드 운영 및 전략 (CIO Summit 2019) by
수요자 중심의 클라우드 운영 및 전략 (CIO Summit 2019)수요자 중심의 클라우드 운영 및 전략 (CIO Summit 2019)
수요자 중심의 클라우드 운영 및 전략 (CIO Summit 2019)Brandon Kang
254 views37 slides

More from Brandon Kang(11)

웹에 빠른 날개를 달아주는 웹 성능 향상 이야기 by Brandon Kang
웹에 빠른 날개를 달아주는 웹 성능 향상 이야기웹에 빠른 날개를 달아주는 웹 성능 향상 이야기
웹에 빠른 날개를 달아주는 웹 성능 향상 이야기
Brandon Kang23 views
Web Performance Optimization with HTTP/3 by Brandon Kang
Web Performance Optimization with HTTP/3Web Performance Optimization with HTTP/3
Web Performance Optimization with HTTP/3
Brandon Kang184 views
How to Replicate PostgreSQL Database by Brandon Kang
How to Replicate PostgreSQL DatabaseHow to Replicate PostgreSQL Database
How to Replicate PostgreSQL Database
Brandon Kang181 views
Scalability strategies for cloud based system architecture by Brandon Kang
Scalability strategies for cloud based system architectureScalability strategies for cloud based system architecture
Scalability strategies for cloud based system architecture
Brandon Kang281 views
HTTP/3 시대의 웹 성능 최적화 기술 이해하기 by Brandon Kang
HTTP/3 시대의 웹 성능 최적화 기술 이해하기HTTP/3 시대의 웹 성능 최적화 기술 이해하기
HTTP/3 시대의 웹 성능 최적화 기술 이해하기
Brandon Kang6.1K views
수요자 중심의 클라우드 운영 및 전략 (CIO Summit 2019) by Brandon Kang
수요자 중심의 클라우드 운영 및 전략 (CIO Summit 2019)수요자 중심의 클라우드 운영 및 전략 (CIO Summit 2019)
수요자 중심의 클라우드 운영 및 전략 (CIO Summit 2019)
Brandon Kang254 views
How to develop and localize Xbox 360 titles by Brandon Kang
How to develop and localize Xbox 360 titlesHow to develop and localize Xbox 360 titles
How to develop and localize Xbox 360 titles
Brandon Kang281 views
HTTP 프로토콜의 이해와 활용 by Brandon Kang
HTTP 프로토콜의 이해와 활용HTTP 프로토콜의 이해와 활용
HTTP 프로토콜의 이해와 활용
Brandon Kang180 views
Agile - SCRUM을 통한 개발관리 by Brandon Kang
Agile - SCRUM을 통한 개발관리Agile - SCRUM을 통한 개발관리
Agile - SCRUM을 통한 개발관리
Brandon Kang13.4K views
XNA2.0 Network Programming by Brandon Kang
XNA2.0 Network ProgrammingXNA2.0 Network Programming
XNA2.0 Network Programming
Brandon Kang1.5K views

HTML5 for web app. development

  • 2. Part O n e HTML vs . HTML5 2
  • 3. H TML vs . H TML5 H TML H TML5 오디오와 비디오는 H TML4 의 사양에 오디오와 비디오가 H TML5 사양의 필 포함되어 있지 않음 수적인 항목으로 포함되어 있음 (< au d io > 와 < vid e o > 태그 ) Ve c to r 그래픽은 VML, S ilve rlig h t, Ve c to r 그래픽의 필수 항목으로 포함되 F las h 을 설치함 으로서 사용 가능함 어 있음 (S VG 와 c an vas ) (Plu g In 설치 요망 ) 정확한 위치정보를 가져오는 것이 거의 Java S c rip t 에 위치 정보 파악 API 가 불가능함 포함되어 있음 3
  • 4. H TML vs . H TML5 H TML H TML5 임시 저장 공간에 브라우저에서 읽어 온 애플리케이션 캐시 , We b S Q L 데이터 데이터를 저장함 베이스 , 웹 저장 공간을 사용자의 저장 공간으로 상용 가능함 . JavaS c rip t 를 통 해서 접근 가능함 자체적인 We b S o c ke t 기능은 없음 We b S o c ke t 을 사용하여 서버와 양방향 통신이 가능함 . Java S c rip t 를 사용하여 서 접근 가능함 모든 버전의 브라우저에서도 동작함 최근에 배포된 브라우저만 지원함 ( 예 : F ire fo x, Mo zilla, O p e ra, C h ro m e , S afari 등 ) JavaS c rip t 는 브라우저 인터페이스와 동 JavaS c rip t 가 백그라운드에서 실행 가능 일한 쓰레드에서 실행되어 야 함 함 4
  • 5. Part Two F las h & H TML5 5
  • 6. H TML5 을 적용하기 적당한 경우 • 사용자에게 하드웨어와 소프트웨어 벤더 선택의 자유을 주고자 할 경우 • 저사양의 디바이스에서 비디오를 재생하고자 할 경우 • F las h 라이센스 비용을 아끼고자 할 경우 • Ap p le 에서 생상된 디바이스에서 재생하고자 할 경우 • 개방된 개발 환경이 중요하다고 여겨질 경우 F las h 를 적용하기 적당한 경우 • IE 6 을 지원하고자 할 경우 • 비디오 스트리밍 시에 네트워크 대역폭에 따라서 b it rate s 를 조절하고자 할 경우 • 콘텐트의 무단 복사를 막고자 할 경우 • 비디오에 광고를 동적으로 포함 시키고자 할 경우 9 6
  • 7. Mic ro s o ft d ro p s F las h fro m IE o n Win d o ws 8 tab le ts . - 1 6 S e p te m b e r 201 1 fro m B B C U p c o m in g N o kia Mo b ile Ph o n e s (Lu m ia) – F irs t Win d o ws Ph o n e (Man g o ) (with o u t Ad o b e F las h ) - N o ve m b e r 1 1 , 201 1 fro m ad d p r.c o m An d ro id Ic e C re am S an d wic h 4.0 to g e t Ad o b e F las h b e fo re 201 2 - N o ve m b e r 23, 201 1 fro m te c h b lo g
  • 8. Part Th re e We b Ap p 8
  • 9. We b Ap p 의 예 9
  • 10. We b Ap p 의 장점 • 코드 재사용성이 뛰어남 • 업데이트가 용이함 • 해상도에 따른 화면 재구성이 가능함 • C S S 속도 개선 • Lo c al S to rag e , D e vic e API 이용 가능 We b Ap p 의 단점 • 콘텐트를 다운 받기 위한 시간 소요 • N ative Ap p 과 같은 수려한 U I 가 제공 안됨 • 디버그의 어려움이 있음 • Ap p 으로 패키징 하기위한 작업이 필요함 • D e vic e API 를 이용하기 위한 작업 필요 9 10
  • 11. Web App 의 제작 과정 We b H TML, C S S , JavaS c rip ts C o n te n ts UI JavaS c rip t F ram e wo rk E ffe c ts (j u e ry, S e n c h a) Q Mo b ile APIs H TML5 Ap p Platfo rm (Ph o n e G ap , Titan iu m ) Ap p Pac kag e 11
  • 12. JavaS c ript Framework • H TML 문서 이동 • 이벤트 핸들링 • 애니메이션 • Aj 인터랙션 처리 ax 12
  • 13. JavaS c rip t F ram e wo rk: j u e ry Q • 크기가 31 kb 로 경쟁사보다 작음 • j u e ryU I 라고 U I te m p late 을 제공함 Q • 웹에서 디자인 테마를 직접 만들 수 있도록 제공함 • 시장에서 가장 많이 쓰이고 있음 아쉬운 점 • 모바일 We b 을 위한 Te m p late 를 제공하고 있지 않음 • Flas h 와 같은 에니메이션 효과 구현을 위한 To o l 의 부재 • 웹 개발자만을 위한 Fram e wo rk 13
  • 14. JavaS c rip t F ram e wo rk: S e n c h a • H TML5 모바일 웹 개발의 위한 프레임워크 • 보다 수려한 An im atio n s 효과를 지원함 • 웹 개발 템플릿 ( 예제 ) 가 잘 준비되어 있음 • 여러 개의 제품 군으로 이루어져 있음 아쉬운 점 • Lib rary 사이즈가 큼 • 관련 개발 문서가 상대적으로 부족함 14
  • 15. JavaS c rip t F ram e wo rk: S e n c h a • S e n c h a To u c h - H TML5 기반의 모바일 앱을 개발하기 위한 프레임워크 • S e n c h a An im ato r - C S S 3 애니메이션을 만들어 주는 데스크톱 어플리케이션 • E xt C o re - We b U I 개발을 쉽게 구현할 수 있도록 지원하는 자바스크립트 라이브러 리임 • E xt D e s ig n e r - D rag & D ro p 을 지원하는 데스크탑 어플리케이션 15
  • 16. JavaS c rip t F ram e wo rk: Jin d o • N H N 에서 제작한 JavaS c rip t Lib rary • 네이버 뉴스 , 지도와 같은 자체 서비스 개발에 사용됨 • 주석이 한글로 되어 있음 아쉬운 점 • 개발 문서에 예제가 부족함 • 개발 툴을 제공하지 않음 16
  • 17. H TML5 Ap p Platfo rm • 폰 APIs • 패키지 17
  • 18. H TML5 Ap p Platfo rm : Ph o n e G ap • 대부분의 모바일 Platfo rm 을 지원함 • XC o d e , E c lip s e 용 Ph o n e G ap Plu g In 을 제공 • Ph o n e G ap B u ild 서비스를 통해서 플랫폼 별 Ap p 으로 재생산에서 배포 가능 ( 유료 ) • j u e ry 가 포함되어 있음 Q • Ad o b e D re am we ave r C S 5.5 에 Ph o n e G ap 이 포함되어 있음 개발 방법 1 . XC o d e 로 Ph o n e G ap 기반의 프로젝트 생성 2. www 폴더 아래에 We b Pag e 소스를 복사 18
  • 19. H TML5 Ap p Platfo rm : Titan iu m • Titan iu m Pac kag e 가 포함된 E c lip s e 기반의 ID E • iO S , An d ro id , B lac kb e rry 지원 • j u e ry 가 포함되어 있음 Q • D e b u g 가 용이함 • 패키지 해주는 C lo u d 서비스 제공 아쉬운 점 • 지원하는 Mo b ile Platfo rm 한정되어 있음 19
  • 20. H TML5 Ap p Platfo rm : Ap p s p re s s o • E c lip s e 기반의 ID E • iO S , An d ro id 지원 • D e b u g 가 용이함 • O n - th e - fly 기능 제공 아쉬운 점 • 지원하는 Mo b ile Platfo rm 한정되어 있음 • JavaS c rip t Lib rary 가 포함되어 있지 않음 20
  • 21. UI F ra me wo rk jQ ue ry S e nc ha J MC • iO S 와 An d ro id 기반의 • H TML5 기반의 Mo b ile • N H N 에서 자체적으로 제 디바이스를 지원하는 Ap p 을 위한 개발을 위 작한 F ram e wo rk j u e ry Plu g in Q 해 만들어진 • JMC 기반으로 N ave r • 터치 E ve n t 최적화됨 F ram e wo rk We b Ap p 이 만들어 졌고 • 개발을 쉽게 할 수 있는 문서가 한글로 되어 있음 To o l 이 포함되어 있음 HTML 5 A p p F ra me wo rk PhoneGap Titanium Appspresso • 거의 모든 모바일 플랫폼 • 개발 , 테스트 , 배포를 • 국산 F ram e wo rk 임 을 지원함 동일한 환경에서 할 수 • O n th e fly 기능 제공 • 패키지 하고 배포하는 기 있는 F ram e wo rk 임 • 다양한 플랫폼을 지원하 능이 포함되어 있음 • iO S 과 안드로이드만 지 고자 계획하고 있음 • Ad o b e 에 인수됨 원함 15 21
  • 22. We b Ap p 제작 툴 F las h Mo b ile U I Ph o n e APIs Pac kag e An im atio n s j u e ry Q S e ncha Jin d o Ad o b e (Ph o n e G ap , D re am we ave r) Titan iu m Ap p s p re s s o 22

Editor's Notes

  1. HTML5
  2. UI Framework HTML5 문서를 사용자가 읽을 때 사용자 Interaction 이 Native App 와 유사하게 느낄수 있게 하기 위해서 , 예를 들어서 페이지 이용 시 보여지는 애니메이션 효과 , 내부 콘텐트의 애니메이션 효과 , Touch 와 Flick 과 같은 Event 를 처리하는 부분 등을 지원할 필요가 있는데 위와 같은 기능을 지원하는 Library, Framework 에는 jQuery, jQTouch, Sencha, JMC 등이 있다 . HTML5 App Framework 사용자의 개인정보에 접근하고 HTML5 에서 지원하지 않는 기능 지원하기 위해서 예를 들어서 주소록 접근 , 디바이스에 포함된 하드웨어 자원 (Camera, NFC, MemoryCard) 을 사용하기 위해서는 디바이스내의 API 을 사용해야 하는 필요성이 있기에 HTML5 Web 과 디바이스 API 사이의 중간자 역할을 담당하는 Framework 가 필요하며 현재 가장 많이 쓰이고 있는 Framework 로서는 PhoneGap, Titanium 이 있고 국산 Framework 로서는 KTH 에서 개발한 Appspresso 가 있다 .