2014.05.28 강남 토즈 2호점
HTML5
HTML5 주요 이슈
- 제일 큰 이슈는 성능
- 모바일 App개발에 HTML5 활용시 예상보다 개발기간이 더 걸림.
이유는 다양한 브라우저의 파편화에 따른 이슈 및 테스트
WebRTC
- Video/Audio 및 P2P 통신 기능에 대한 Web포준
- 거의 모든 단말 간 화상통화 및 데이터 교환 가능
- 향후 IMS(차세대 통신망)와 WebRTC 통합 예상
Push Notification
- CP가 단말에 메시지를 Web Push를 이용하여 전송
- 규모가 작은 CP도 네이티브 App 개발 없이 web에서 push 사용 가능
- 사용자는 일반적인 Web 페이지에서 Push 서비스 구독 신청
- Browser가 떠있지 않은 상황에서도 message 수신
Manifest Format
- Web App의 인스톨 정보 제공
- Name, Icon, Start URL, Orientation 등
- 홈스크린 설치, 태스크 관리자 통합 가능
ServiceWorker
- 오프라인 사용성 강화
- 개발자가 Web App을 구성하는 리소스에 대한 Caching 관리 가능
- 백그라운드 실행 지원
- Persistent 시스템 이벤트 처리(Push, Alarm 등) 지원
- Hosted web app 실행 UX를 네이티브 App 수준으로 제공 가능
Web Component
ES6 Promose
W3C 표준화
HTML5에 대한 전망
IDC의 HTML5 향후 전망
- 가까운 미래(2017)년까지는 모바일 단말에서 Native App 대체 불가
- 그러나 아래 분야에서는 HTML5 App 큰 성장 예상
- Content publishing app, 기업용 App 분야, Hybrid App 분야
가트너의 2014년 모바일 예측
- 2017년까지 모바일 단말의 브라우저는 정교한 App 전달 플랫폼으로 발전
- 새롭게 개발되는 web app의 50% 이상이 복잡한 자바스크립트로 구성
- 이러한 web app은 질 높은 사용자 경험 제공
- HTML5는 다양항 플랫폼 지원을 위한 최고의 기술이 될 전망
- 그러나 향후 몇년간 성능, 파편화, 기술적 미성숙 이슈 존재
HTML5는 실무에서는 별로 사용되지 않는다
Native App이 당분간 강세가 될거다.
하지만 컨테츠가 중요한 서비스는 HTML5이 긍적적인지 않을까?
- 파이낸셜 타임즈, 뉴욕 타임즈 네이티브에서 HTML5로 변경
- Native App 결제 제한
- CSS Shapes
- display 사이즈가 변경돼도 형태가 유지
- Encrypted Media Extensions
- DRM
모마일에서의 게임 성능 문제
javascript
- IOS에서의 JIT compiled code 실행 안 되는 오류
- I heard that JIT compiled code is not allowed in iOS AppStore because placing executable code in heap is prohibited
유니티 webgl 지원. asm.js. 하지만 아직 느리다.
Hybrid App
어려운 점
- one source multi use : 기업용앱인 경우 아이폰 무시를 해서 장점이 떨어짐
- update 장점 : native 웹에서도 리소스 서버를 두면 충분히 가능
- 개발 생산성 : native 보다 코드량이 2,3배 더 든다. 컨텐츠 분석. 퍼블리셔. 자바스크립트
- UX 경험 : 스크롤이나 터치 경험
- 기업용 앱인 경우 자바스크립트 코드 보안
- 디버깅
웹뷰
다양한 웹뷰
제조사마다 다르다
하드웨어 엑셀레이션 사용 못함
파편화
hybrid app으로 개발한다면 개발의 제한사항을 인지하고 해야 함.
Web Component
- 고객의 고수준의 UX를 원한다면 불가능
javascript
- 비동기 콜백
IE8은 언제까지 지원해야 될까?
- IE8 지원 MIT 라이센스 폴리필 라이브러리 찾기 힘듬
- 레거시 솔루션을 사용하고 있는 컴퓨터는 XP
- IE6 지원 4월 종료
부분 암호화
- w3c.org의 safe and secure private key storage
- FIDO Alliance http://en.wikipedia.org/wiki/FIDO_Alliance
WebRTC
- 코덱은 뭐로 선정될까?
Canvas 성능 문제
- Canvas는 단순한 그림을 그리기 위한 도구다.
- WebGL로 해결할 수 있을 것 같다.
- Angry Bird는 Canvas로 개발
- IE11 WebGL 지원
Media Source Extension
- MSE. HTML5 MediaSource API