SlideShare uma empresa Scribd logo
1 de 32
一步一步开发HTML5移动应用

    鲁超伍 Adam Lu
     @adamlu
HTML5还是Native
Fastbook
移动应用的博弈
•   特性丰富度
•   性能
•   开发者经验
•   感官
•   可发现性
•   货币化
为什么要开发HTML5 Web Apps
• 跨系统/平台/浏览器

• 易扩展

• 跨设备开发减少成本
支持HTML5的移动浏览器
基于HTML5应用之服务器端架构
• 可以和传统的Web架构类似(浏览器不关心)

• 可以考虑使用REST设计,JavaScript加载和
  管理状态
基于HTML5应用之前端架构
     Application



        Data



      Template



     UI Elements



       HTML5
开发第一步

BOILERPLATE
Boilerplate核心之HTML
• Mobile viewport
  – <meta name="viewport" content="width=device-
    width">
• Home screen icon set
• iOS web app
  – <meta name="apple-mobile-web-app-capable"
    content="yes">
• HTML5新标签
Boilerplate核心之CSS
• Reset CSS
  – normalize.css/YUI Reset CSS/HTML5 Reset
• CSS Font
Boilerplate核心之JavaScript
• 选择基础类库
 – Zepto/YUI/jQuery/Underscore/
• 选择功能类库
 – Hammer.js/YUI/iScroll/
开发第二步

USER INTERACTION
HTML5 移动开发框架
•   PhoneGap
•   Trigger.io
•   AppMobi
•   App Accelerator
客户端的MVC
• Backbones
• YUI App Framework
• KnockoutJs
Backbone.js
Backbone with REST
• Sync处理器对应REST的CRUD操作
 – Create = HTTP POST
 – Read = HTTP GET
 – Update = HTTP PUT
 – Delete = HTTP Delete

 URL              Verb     Description
 /entities        GET      fetch entities
 /entities        POST     create entity
 /entities/id     PUT      modify entity
 /entities/id     DELETE   delete entity
YUI App Framework
• Model+View+Router

• Pjax = pushState + Ajax
客户端模板系统
• Handlebar
• Mustache
UI框架
• jQuery Mobile
• Sencha Touch
• Kendo UI
Kendo UI




http://demos.kendoui.com/mobile/overview/index.html
开发第三步

PERFORMANCE, USER EXPERIENCE
性能
•   Manifest
•   LocalStorage
•   SessionStorage
•   CSS3 Animation
•   Cache
使用模块组织你的代码
• AMD(异步模块定义)
 – RequireJS
 – SeaJS
 – YUI Module
RequireJs:




YUI Module
响应Mobile
媒体查询
• @media all and (min-width:500px) { … }

• @media screen and (min-width: 400px) and
  (max-width: 700px) { … }
MediaQueri.es
开发第四步

DEBUG
移动调试
• Chrome开发者工具

• 远程调试
 – Edge Inspect
 – Weinre
 – iWebInspector


• 多设备/多浏览器测试
书籍推荐
@adamlu

THANKS!

Mais conteúdo relacionado

Mais procurados

Windows App development for iOS, Android developer
Windows App development for iOS, Android developerWindows App development for iOS, Android developer
Windows App development for iOS, Android developerAscii Huang
 
使用JetBrains Rider開發Xamarin Forms
使用JetBrains Rider開發Xamarin Forms使用JetBrains Rider開發Xamarin Forms
使用JetBrains Rider開發Xamarin FormsChen Yu Pao
 
利用HTML5+CSS3打造行動裝置友善網站-響應式網頁技術介紹
利用HTML5+CSS3打造行動裝置友善網站-響應式網頁技術介紹利用HTML5+CSS3打造行動裝置友善網站-響應式網頁技術介紹
利用HTML5+CSS3打造行動裝置友善網站-響應式網頁技術介紹Ying-Chun Cheng
 
淘宝前端开发关键词
淘宝前端开发关键词淘宝前端开发关键词
淘宝前端开发关键词jay li
 
Hyweb RWD & CMS develop scenario
Hyweb RWD & CMS develop scenarioHyweb RWD & CMS develop scenario
Hyweb RWD & CMS develop scenarioKai Fu Hsieh
 
Windows Azure Developer Day - WAMS
Windows Azure Developer Day - WAMSWindows Azure Developer Day - WAMS
Windows Azure Developer Day - WAMSJeffray Huang
 
Single-Page Application Design Principles 101
Single-Page Application Design Principles 101Single-Page Application Design Principles 101
Single-Page Application Design Principles 101Jollen Chen
 

Mais procurados (10)

Windows App development for iOS, Android developer
Windows App development for iOS, Android developerWindows App development for iOS, Android developer
Windows App development for iOS, Android developer
 
使用JetBrains Rider開發Xamarin Forms
使用JetBrains Rider開發Xamarin Forms使用JetBrains Rider開發Xamarin Forms
使用JetBrains Rider開發Xamarin Forms
 
利用HTML5+CSS3打造行動裝置友善網站-響應式網頁技術介紹
利用HTML5+CSS3打造行動裝置友善網站-響應式網頁技術介紹利用HTML5+CSS3打造行動裝置友善網站-響應式網頁技術介紹
利用HTML5+CSS3打造行動裝置友善網站-響應式網頁技術介紹
 
淘宝前端开发关键词
淘宝前端开发关键词淘宝前端开发关键词
淘宝前端开发关键词
 
coServ & RWD
coServ & RWD coServ & RWD
coServ & RWD
 
Views 3
Views 3Views 3
Views 3
 
Hyweb RWD & CMS develop scenario
Hyweb RWD & CMS develop scenarioHyweb RWD & CMS develop scenario
Hyweb RWD & CMS develop scenario
 
Html5
Html5Html5
Html5
 
Windows Azure Developer Day - WAMS
Windows Azure Developer Day - WAMSWindows Azure Developer Day - WAMS
Windows Azure Developer Day - WAMS
 
Single-Page Application Design Principles 101
Single-Page Application Design Principles 101Single-Page Application Design Principles 101
Single-Page Application Design Principles 101
 

Destaque

YUI介绍和使用YUI构建web应用
YUI介绍和使用YUI构建web应用YUI介绍和使用YUI构建web应用
YUI介绍和使用YUI构建web应用Adam Lu
 
The Reporting Stage (Infographic)
The Reporting Stage (Infographic)The Reporting Stage (Infographic)
The Reporting Stage (Infographic)Act-On Software
 
Yui rocks
Yui rocksYui rocks
Yui rocksAdam Lu
 
Maid sama
Maid samaMaid sama
Maid samananami
 
Advanced Digital Advertising
Advanced Digital AdvertisingAdvanced Digital Advertising
Advanced Digital Advertising4Ps Marketing
 

Destaque (6)

YUI介绍和使用YUI构建web应用
YUI介绍和使用YUI构建web应用YUI介绍和使用YUI构建web应用
YUI介绍和使用YUI构建web应用
 
Vestidinho Azul
Vestidinho AzulVestidinho Azul
Vestidinho Azul
 
The Reporting Stage (Infographic)
The Reporting Stage (Infographic)The Reporting Stage (Infographic)
The Reporting Stage (Infographic)
 
Yui rocks
Yui rocksYui rocks
Yui rocks
 
Maid sama
Maid samaMaid sama
Maid sama
 
Advanced Digital Advertising
Advanced Digital AdvertisingAdvanced Digital Advertising
Advanced Digital Advertising
 

Semelhante a 一步一步开发Html5 mobile apps

Android 4-app
Android 4-appAndroid 4-app
Android 4-applydiafly
 
開放原始碼 Ch3.1 mobile - oss - oss行動領域-1 (ver1.0)
開放原始碼 Ch3.1  mobile - oss - oss行動領域-1 (ver1.0) 開放原始碼 Ch3.1  mobile - oss - oss行動領域-1 (ver1.0)
開放原始碼 Ch3.1 mobile - oss - oss行動領域-1 (ver1.0) My own sweet home!
 
美团前端架构简介
美团前端架构简介美团前端架构简介
美团前端架构简介pan weizeng
 
HTML5 生态系统和应用架构模型
HTML5 生态系统和应用架构模型HTML5 生态系统和应用架构模型
HTML5 生态系统和应用架构模型Tom Fan
 
Appcan介绍自己的应用开发平台
Appcan介绍自己的应用开发平台Appcan介绍自己的应用开发平台
Appcan介绍自己的应用开发平台MOBINODE
 
Appcan移动应用开发平台介绍120409
Appcan移动应用开发平台介绍120409Appcan移动应用开发平台介绍120409
Appcan移动应用开发平台介绍120409zhengyiwuxian
 
新浪云计算公开课第一期:Let’s run @ sae(丛磊)
新浪云计算公开课第一期:Let’s run @ sae(丛磊)新浪云计算公开课第一期:Let’s run @ sae(丛磊)
新浪云计算公开课第一期:Let’s run @ sae(丛磊)锐 张
 
6 rexsee:会html就会android
6 rexsee:会html就会android6 rexsee:会html就会android
6 rexsee:会html就会android36Kr.com
 
Appcan平台介绍
Appcan平台介绍Appcan平台介绍
Appcan平台介绍36Kr.com
 
Appium手机自动化测试 testerhome_bqcon版本
Appium手机自动化测试 testerhome_bqcon版本Appium手机自动化测试 testerhome_bqcon版本
Appium手机自动化测试 testerhome_bqcon版本延胜 黄
 
Azure mobileservice
Azure mobileservice Azure mobileservice
Azure mobileservice twMVC
 
Responsive Web UI Design
Responsive Web UI DesignResponsive Web UI Design
Responsive Web UI Designjay li
 
淘宝移动端Web开发实践
淘宝移动端Web开发实践淘宝移动端Web开发实践
淘宝移动端Web开发实践完颜 小卓
 
Android应用开发 - 沈大海
Android应用开发 - 沈大海Android应用开发 - 沈大海
Android应用开发 - 沈大海Shaoning Pan
 
移动Web开发框架jqm探讨
移动Web开发框架jqm探讨移动Web开发框架jqm探讨
移动Web开发框架jqm探讨newker
 
建站大业,实战ASP.NET 4
建站大业,实战ASP.NET 4建站大业,实战ASP.NET 4
建站大业,实战ASP.NET 4Cat Chen
 
非常靠谱 Html 5
非常靠谱 Html 5 非常靠谱 Html 5
非常靠谱 Html 5 Tony Deng
 
IDF2013大会分享——《使用新浪移动云开发全平台应用》
IDF2013大会分享——《使用新浪移动云开发全平台应用》IDF2013大会分享——《使用新浪移动云开发全平台应用》
IDF2013大会分享——《使用新浪移动云开发全平台应用》easychen
 
ASP.NET Core 3.0 新功能
ASP.NET Core 3.0 新功能ASP.NET Core 3.0 新功能
ASP.NET Core 3.0 新功能Edward Kuo
 

Semelhante a 一步一步开发Html5 mobile apps (20)

Android 4-app
Android 4-appAndroid 4-app
Android 4-app
 
開放原始碼 Ch3.1 mobile - oss - oss行動領域-1 (ver1.0)
開放原始碼 Ch3.1  mobile - oss - oss行動領域-1 (ver1.0) 開放原始碼 Ch3.1  mobile - oss - oss行動領域-1 (ver1.0)
開放原始碼 Ch3.1 mobile - oss - oss行動領域-1 (ver1.0)
 
美团前端架构简介
美团前端架构简介美团前端架构简介
美团前端架构简介
 
HTML5 生态系统和应用架构模型
HTML5 生态系统和应用架构模型HTML5 生态系统和应用架构模型
HTML5 生态系统和应用架构模型
 
Appcan介绍自己的应用开发平台
Appcan介绍自己的应用开发平台Appcan介绍自己的应用开发平台
Appcan介绍自己的应用开发平台
 
Appcan移动应用开发平台介绍120409
Appcan移动应用开发平台介绍120409Appcan移动应用开发平台介绍120409
Appcan移动应用开发平台介绍120409
 
新浪云计算公开课第一期:Let’s run @ sae(丛磊)
新浪云计算公开课第一期:Let’s run @ sae(丛磊)新浪云计算公开课第一期:Let’s run @ sae(丛磊)
新浪云计算公开课第一期:Let’s run @ sae(丛磊)
 
6 rexsee:会html就会android
6 rexsee:会html就会android6 rexsee:会html就会android
6 rexsee:会html就会android
 
Appcan平台介绍
Appcan平台介绍Appcan平台介绍
Appcan平台介绍
 
Appium手机自动化测试 testerhome_bqcon版本
Appium手机自动化测试 testerhome_bqcon版本Appium手机自动化测试 testerhome_bqcon版本
Appium手机自动化测试 testerhome_bqcon版本
 
Azure mobileservice
Azure mobileservice Azure mobileservice
Azure mobileservice
 
Responsive Web UI Design
Responsive Web UI DesignResponsive Web UI Design
Responsive Web UI Design
 
行動技術開發概論
行動技術開發概論行動技術開發概論
行動技術開發概論
 
淘宝移动端Web开发实践
淘宝移动端Web开发实践淘宝移动端Web开发实践
淘宝移动端Web开发实践
 
Android应用开发 - 沈大海
Android应用开发 - 沈大海Android应用开发 - 沈大海
Android应用开发 - 沈大海
 
移动Web开发框架jqm探讨
移动Web开发框架jqm探讨移动Web开发框架jqm探讨
移动Web开发框架jqm探讨
 
建站大业,实战ASP.NET 4
建站大业,实战ASP.NET 4建站大业,实战ASP.NET 4
建站大业,实战ASP.NET 4
 
非常靠谱 Html 5
非常靠谱 Html 5 非常靠谱 Html 5
非常靠谱 Html 5
 
IDF2013大会分享——《使用新浪移动云开发全平台应用》
IDF2013大会分享——《使用新浪移动云开发全平台应用》IDF2013大会分享——《使用新浪移动云开发全平台应用》
IDF2013大会分享——《使用新浪移动云开发全平台应用》
 
ASP.NET Core 3.0 新功能
ASP.NET Core 3.0 新功能ASP.NET Core 3.0 新功能
ASP.NET Core 3.0 新功能
 

Mais de Adam Lu

HTML5概览
HTML5概览HTML5概览
HTML5概览Adam Lu
 
Get started with YUI
Get started with YUIGet started with YUI
Get started with YUIAdam Lu
 
HTML5 on Mobile
HTML5 on MobileHTML5 on Mobile
HTML5 on MobileAdam Lu
 
Html5 on Mobile(For Developer)
Html5 on Mobile(For Developer)Html5 on Mobile(For Developer)
Html5 on Mobile(For Developer)Adam Lu
 
HTML5 on Mobile(For Designer)
HTML5 on Mobile(For Designer)HTML5 on Mobile(For Designer)
HTML5 on Mobile(For Designer)Adam Lu
 
重新认识Html5
重新认识Html5重新认识Html5
重新认识Html5Adam Lu
 
常用Js框架比较
常用Js框架比较常用Js框架比较
常用Js框架比较Adam Lu
 
浏览器兼容性问题小结
浏览器兼容性问题小结浏览器兼容性问题小结
浏览器兼容性问题小结Adam Lu
 
小谈Javascript设计模式
小谈Javascript设计模式小谈Javascript设计模式
小谈Javascript设计模式Adam Lu
 
从Adobe和qcof会议看前端开发
从Adobe和qcof会议看前端开发从Adobe和qcof会议看前端开发
从Adobe和qcof会议看前端开发Adam Lu
 
揭秘Html5和Css3
揭秘Html5和Css3揭秘Html5和Css3
揭秘Html5和Css3Adam Lu
 
Enhance Web Performance
Enhance Web PerformanceEnhance Web Performance
Enhance Web PerformanceAdam Lu
 

Mais de Adam Lu (12)

HTML5概览
HTML5概览HTML5概览
HTML5概览
 
Get started with YUI
Get started with YUIGet started with YUI
Get started with YUI
 
HTML5 on Mobile
HTML5 on MobileHTML5 on Mobile
HTML5 on Mobile
 
Html5 on Mobile(For Developer)
Html5 on Mobile(For Developer)Html5 on Mobile(For Developer)
Html5 on Mobile(For Developer)
 
HTML5 on Mobile(For Designer)
HTML5 on Mobile(For Designer)HTML5 on Mobile(For Designer)
HTML5 on Mobile(For Designer)
 
重新认识Html5
重新认识Html5重新认识Html5
重新认识Html5
 
常用Js框架比较
常用Js框架比较常用Js框架比较
常用Js框架比较
 
浏览器兼容性问题小结
浏览器兼容性问题小结浏览器兼容性问题小结
浏览器兼容性问题小结
 
小谈Javascript设计模式
小谈Javascript设计模式小谈Javascript设计模式
小谈Javascript设计模式
 
从Adobe和qcof会议看前端开发
从Adobe和qcof会议看前端开发从Adobe和qcof会议看前端开发
从Adobe和qcof会议看前端开发
 
揭秘Html5和Css3
揭秘Html5和Css3揭秘Html5和Css3
揭秘Html5和Css3
 
Enhance Web Performance
Enhance Web PerformanceEnhance Web Performance
Enhance Web Performance
 

一步一步开发Html5 mobile apps