html5 生态系统和应用架构模型

63
HTML5生态系统和应用 架构模型 范圣刚,[email protected] , www.tfan.org

Upload: tom-fan

Post on 13-Jun-2015

353 views

Category:

Technology


5 download

TRANSCRIPT

Page 1: HTML5 生态系统和应用架构模型

HTML5生态系统和应用架构模型

范圣刚,[email protected], www.tfan.org

Page 2: HTML5 生态系统和应用架构模型

议题

•基于Web服务的Mobile Apps

•Hybrid应⽤用开发模式

•本地开发和云开发

•HTML5应⽤用的测试和调试

•分发和部署:本地商店和Open Market

•HTML5的⽣生态系统

Page 3: HTML5 生态系统和应用架构模型

•In 2013, 1 Billion HTML5 capable phones and media tablets will be sold globally.(Strategy Analytics)

•By 2015, half of all mobile application in the world will be developed as HTML5 mobile Web apps(Gartner)

Page 4: HTML5 生态系统和应用架构模型
Page 5: HTML5 生态系统和应用架构模型
Page 6: HTML5 生态系统和应用架构模型
Page 7: HTML5 生态系统和应用架构模型

HTML5!

Page 8: HTML5 生态系统和应用架构模型

Apple

“The world is moving to HTML5” - Steve Jobs, Apple

Page 9: HTML5 生态系统和应用架构模型

Apple

Page 10: HTML5 生态系统和应用架构模型

Google

“The Web has not seen this level of transformation, this level of acceleration, in the past ten years... we’re betting big on HTML5” - Vic Gundotra, VP of Engineering, Google

Page 11: HTML5 生态系统和应用架构模型

Google

Page 12: HTML5 生态系统和应用架构模型

Microsoft

“In a nutshell, we love HTML5, we love it so much we want it to actually work.” - Dean Hachamovitch, General Manager for Internet Explorer, Microsoft

Page 13: HTML5 生态系统和应用架构模型

Microsoft

Page 14: HTML5 生态系统和应用架构模型

第三方浏览器厂商

Page 15: HTML5 生态系统和应用架构模型

Firefox

Page 16: HTML5 生态系统和应用架构模型

Firefox - Android

Page 17: HTML5 生态系统和应用架构模型
Page 18: HTML5 生态系统和应用架构模型

Opera

Page 19: HTML5 生态系统和应用架构模型

UC

Page 20: HTML5 生态系统和应用架构模型

百度

Page 21: HTML5 生态系统和应用架构模型
Page 22: HTML5 生态系统和应用架构模型
Page 23: HTML5 生态系统和应用架构模型
Page 24: HTML5 生态系统和应用架构模型

基于Web服务的Mobile Apps

Page 25: HTML5 生态系统和应用架构模型

Apps类型单机版 vs ⺴⽹网络版

Page 26: HTML5 生态系统和应用架构模型

基于Web Service的应⽤用• Flickr

• Twitter

• Facebook

• Foursquare

• LinkedIn

• Path

Page 27: HTML5 生态系统和应用架构模型

Hybrid应⽤用开发模式

Page 28: HTML5 生态系统和应用架构模型

2008

Page 29: HTML5 生态系统和应用架构模型

We must have an iPhone App!

Page 30: HTML5 生态系统和应用架构模型
Page 31: HTML5 生态系统和应用架构模型

2010

Page 32: HTML5 生态系统和应用架构模型

We must have an Android App!

Page 33: HTML5 生态系统和应用架构模型
Page 34: HTML5 生态系统和应用架构模型

2011

Page 35: HTML5 生态系统和应用架构模型

We must have a ?

Page 36: HTML5 生态系统和应用架构模型
Page 37: HTML5 生态系统和应用架构模型

操作系统的碎⽚片化• 迁移到另外⼀一个新的平台需要⼤大量的⼈人⼒力物

⼒力

• 花费⼤大量的时间在技术实现上, ⽽而没有Focus在产品和⽤用户上⾯面

• 平台众多,造成管理,运营及培训⽤用户的成本剧增

Page 38: HTML5 生态系统和应用架构模型

Native开发的⼀一般⼯工作流程

1.为每⼀一个平台设置不同的开发环境

2.熟悉每个对应的操作系统,学习曲线⼀一般会很⻓长

3.不同的移动平台需要不同的编程语⾔言(C++, Objective-C, Java, C#...)

4.要熟悉每个平台⽀支持的特性

Page 39: HTML5 生态系统和应用架构模型

表:开发要求移动系统 开发系统 软件/IDE 编程语⾔言

iOS Mac Xcode Objective-C

AndroidWindows/Mac/

LinuxEclipse/Java/ADT Java

BlackBerry Windows Eclipse/JDE, Java Java

SymbianWindows/Mac/

LinuxCarbide.c++ C++

WebOSWindows/Mac/

LinuxEclipse/WebOS

PluginHTML/JavaScript/

C++

Windows Phone 7

WindowsVisual Studio

2010C#, .NET,

Silverlight或WPF

Page 40: HTML5 生态系统和应用架构模型

使⽤用PhoneGap进⾏行Hybrid开发

Page 41: HTML5 生态系统和应用架构模型

浏览器组件作为通⽤用平台

• Web的发展历史和HTML5平台

• 浏览器标准的统⼀一趋势(HTML5/CSS3)

• 主要移动平台同样基于Webkit的浏览器(iOS Safari,Android Chrome)

Page 42: HTML5 生态系统和应用架构模型

移动浏览器移动操作系

统浏览器内核

Android Webkit

iOS Webkit

BlackBerry 6.0 +

Webkit

Windows Phone 7

IE

WebOS Webkit

Nokia Webkit

Bada Webkit

Page 43: HTML5 生态系统和应用架构模型

Webviews

• 所有的这些移动系统都⽀支持在应⽤用中嵌⼊入浏览器

• 实时内容更新的需求,简化应⽤用的审批部署流程

• PhoneGap使⽤用本机浏览器:

• iOS - UIWebView

• Android - android.webkit.WebView

Page 44: HTML5 生态系统和应用架构模型

PhoneGap API

Page 45: HTML5 生态系统和应用架构模型

本机设备能⼒力的使⽤用

Page 46: HTML5 生态系统和应用架构模型

API原理和本地插件

• 所有这些平台都⽀支持在webview中导出本地模块到JavaScript,也就是说都允许JS调⽤用本地的Java/C++/Objective C代码,反之亦然。

• 使⽤用本地代码封装设备能⼒力;导出供JS调⽤用的接⼝口;通过JSON调⽤用和⻚页⾯面交互数据

• 使⽤用JavaScript-to-native机制编写⾃自⼰己的PhoneGap本地插件

Page 47: HTML5 生态系统和应用架构模型

PhoneGap应⽤用的打包和分发

• iOS - IPA⽂文件

• Android - APK⽂文件

• Windows Phone - XAP⽂文件

• 本地编译和PhoneGap Build

• 可以通过标准应⽤用商店分发:App Store, Google Play, MarketPlace...

Page 48: HTML5 生态系统和应用架构模型

PhoneGap的(⼀一般)应⽤用架构

• PhoneGap应⽤用作为跟⽤用户交互的客户端

• 和Web服务器或者应⽤用服务器等后台系统通信以交互数据

• 客户端服务器之间可以使⽤用标准的HTTP接⼝口,或者RESTful接⼝口,JSON服务或者SOAP协议

• 客户端架构⼀一般使⽤用单⼀一⻚页⾯面应⽤用模型,应⽤用逻辑都在⼀一个HTML⻚页⾯面中。通过更新HTML DOM结构显⽰示数据。

Page 49: HTML5 生态系统和应用架构模型

开发/调试工具

Page 50: HTML5 生态系统和应用架构模型

Eclipse

Page 51: HTML5 生态系统和应用架构模型

Xcode

Page 52: HTML5 生态系统和应用架构模型

Visual Studio

Page 53: HTML5 生态系统和应用架构模型

Adobe Dreamweaver

Page 54: HTML5 生态系统和应用架构模型

Adobe Edge Inspector

Page 55: HTML5 生态系统和应用架构模型

PhoneGap

Page 56: HTML5 生态系统和应用架构模型

appMobi

Page 57: HTML5 生态系统和应用架构模型

UI Framework

Page 58: HTML5 生态系统和应用架构模型

Sencha Touch

Page 59: HTML5 生态系统和应用架构模型

HTML5 BOILERPLATE

Page 60: HTML5 生态系统和应用架构模型

modernizr

Page 61: HTML5 生态系统和应用架构模型

Amazon EC2

Page 62: HTML5 生态系统和应用架构模型

小结

•基于Web的HTML5,还需要⼏几年的沉淀和发展,才能逐步取代移动应⽤用

•HTML5让在线的软件和内容具有了更强的互动性(⽐比如在线⼲⼴广告)

•HTML5对未来商业化内容如何发布将会产⽣生⾮非常明显的影响

•使浏览器市场重新回到了⼀一个⾼高度竞争的时代,使Web更加开放