HTML5 - 搭建移动Web应用
关于HTML5
HTML5具有语义学、本地存储、设备访问、连接性、多媒体、平面和三维效果、性能和集成和CSS3八大技术特征。让Web应用进入无插件时代,在功能和性能上逼近桌面应用。促使应用Web化,实现跨平台。
HTML5规范草案将于2012年发布候选推荐版,2022年发布计划推荐版。规范的实现似乎还在遥远的未来,其实不然!当前很多浏览器已经部分支持HTML5,caniuse.com提供了详尽的浏览器支持情况。HTML5规范本身并不多,很多相关规范都被独立出来,由浏览器各自实现。
移动Web应用方向
手机上网已经成为最重要的上网方式之一,手机网民已达3亿。移动互联网时代已经开启,发展势头迅猛,成为互联网行业的新战场。
Android和iOS手机的兴起,加速了HTML5在移动设备的普及。与桌面浏览器不同的是,移动操作系统和浏览器随着手机的换代而不断升 级。移动浏览器的不断升级,给HTML5在移动Web方向的发展提供源源不断的动力。也随着设备性能的不断提高,移动Web应用的能力也渐渐逼近客户端应 用。
移动Web应用对比客户端应用的优势:
- 更多开发人员有丰富的Web开发经验和工具积累,也形成了成熟的开发社区
- 迭代更敏捷,实现持续更新
- 跨平台,开发成本比客户端的较低
Web应用宿主选择
Web都有宿主,宿主是运行程序所需要的环境。Web常见的宿主有IE、FF、Chrome这些浏览器。Javascript也运行在服务器端宿主,如node.js。在移动设备,移动Web可以运行在移动浏览器上,也可以运行在PhoneGap或Titanium等框架宿主上。当然我们也可以根据跨平台需要编写自己框架宿主。
框架宿主优势:
- 已形成成熟的社区,便于解决问题
- 如PhoneGap等,比浏览器拥有更高权限。可以访问联系人、文件、摄像头、录音等设备
- 可以通过模拟器进行测试,减少跨浏览器测试成本
框架宿主劣势:
- 以客户端形式发布,版本更新难度大,动态发布需要额外代码支持
- 系统有可能只支持单进程
- 产品之间无法跳转,不容易衔接
PhoneGap兼容性
移动浏览器是系统附带的,不需要发布,随着系统升级而更新。在没有权限要求和高端目标设备的情况下,浏览器宿主作为移动Web应用宿主更为适合。
Android浏览器 Mobile Safari
浏览器宿主优势:
- 无需发布,浏览器一般还支持桌面快捷方式
- 产品更新维护方便,可以实现持续更新
- 移植性高(相对框架宿主的一些自定义接口)
浏览器宿主劣势:
- 浏览器兼容不高,对HTML5支持有差异
- 性能差异大,必须考虑设备间处理能力的差异
- 测试成本大(特别是Android系统设备),无法覆盖所有机型
移动Javascript框架
在HTML5的支持下,交互集成取代Javascript浏览器兼容性成了移动Javascript框架的发展方向。其中jQuery Mobile和Sencha Touch最受追捧。
他们主要解决:
- 交互(包括UI设计、控件交互、页面切换等)集成
- Touch手势
交互集成框架优势:
- 交互都符合设备交互特点和设计规范(Android和iOS)
- 开发门槛低,适合快速开发
- 开发社区已经有丰富的跨平台经验和较全面的测试结果
交互集成框架劣势:
- 文件体积较大,效率往往不如原生HTML5
- 交互模式固定,难以摆脱
没有完善的业务框架,还需要自己实现基础业务框架(代码更新、业务模块重用等)
jQuery Mobile 兼容性
除了交互集成框架,我们还可以考虑使用原生HTML5开发自己的移动Javascript框架。自己开发更有针对性和目的性,适合业务扩展和性能优化,可以弥补集成框架的缺陷。
原生HTML5框架优势:
- 最适合长期业务扩展
- 开发灵活度更高
- 可针对目标设备的性能优化
原生HTML5框架劣势:
- 暂时只能兼容高端设备(Android2.0+、iOS3.2+性能较佳)
- 跨平台测试成本比较高
- 框架开发门槛比较高,需要一段时间发展
参考资料
http://www.caniuse.com
http://www.w3.org
《2010年中国手机上网用户行为研究报告》
《2010-2011年中国智能手机市场研究年度报告》
转载于:https://www.cnblogs.com/radom/archive/2011/04/29/2032726.html
HTML5 - 搭建移动Web应用相关推荐
- python django mysql安装_Django+Nginx+uWSGI+Mysql搭建Python Web服务器
原标题:Django+Nginx+uWSGI+Mysql搭建Python Web服务器 安装的时候全部选择英文,记得以前选择中文的时候安装时出了问题,服务器组件一个不选,Ubuntu安装做的很贴心,基 ...
- 采用HTML5搭建的多个网站尝鲜试用
采用HTML5搭建的多个网站尝鲜试用 2010-04-06 16:04:57 作者:不详 来源:站长之家 浏览次数:371 网友评论 0 条 HTML5作为HTML标准的下一个版本,包含了很多新特性, ...
- 从0开始搭建坚不可摧的Web系统主流架构
从0开始搭建坚不可摧的Web系统主流架构 转自:http://mp.weixin.qq.com/s/HKqgdR0qM3FhdGWcWnlpug 主题简介: 1.网站系统架构当前现状 2.Web系统主 ...
- 高并发系统搭建:web负载均衡
高并发系统搭建:web负载均衡 所谓的负载均衡就是让多个请求尽量均衡的分配到不同的机器上面去 1. HTTP负载均衡 当用户的请求发来之后,web服务器通过修改HTTP响应报头中的Location标记 ...
- Centos 搭建高性能WEB服务 Nginx+PHP+MYSQL+Discuz论坛
Centos 搭建高性能WEB服务 Nginx+PHP+MYSQL+Discuz论坛 Nginx 是由 Igor Sysoev 为俄罗斯访问量第二的 Rambler.ru 站点开发的,它已经在该站点运 ...
- MyEclipse搭建java Web项目开发环境
MyEclipse搭建java Web项目开发环境 首先,在开始搭建MyEclipse的开发环境之前,还有三步工具的安装需要完成,只要在安装配置成功之后才可以进入下面的java Web项目开发环境的搭 ...
- Eclipse 3.5 Classic+Tomcat 6.0+MySql 5.5搭建java web开发环境
Eclipse 3.5 Classic+Tomcat 6.0+MySql 5.5搭建java web开发环境 对于初学者来说,如果没有接触过java web开发的话,搭建开发环境将是一个门槛.以前一直 ...
- Nginx + FastCGI 程序(C/C++) 搭建高性能web service的Demo及部署发布
1.介绍 Nginx - 高性能web server,这个不用多说了,大家都知道. FastCGI程序 - 常驻型CGI程序,它是语言无关的.可伸缩架构的CGI开放扩展,其主要行为是将 ...
- 前端app调起摄像头 只显示在页面_猫也能看得懂的教程之一分钟使用Vue搭建简单Web页面...
本教程适合人群: 已经了解过过html.js.css,想深入学习前端技术的小伙伴 有前端开发经验.但是没有使用过Vue的小伙伴 有过其他编程经验,对前端开发感兴趣的小伙伴 学习本教程之后你将会: 了解 ...
- java web 显示项目下的图片_[适合初中级Java程序员修炼手册从0搭建整个Web项目](一)...
前言 文本已收录至我的GitHub仓库,欢迎Star:https://github.com/bin392328206种一棵树最好的时间是十年前,其次是现在 six-finger-web 一个Web后端 ...
最新文章
- 关于工大瑞普Dynamips模拟器
- 详细解析LTE调度算法
- mysql栈空间大小_jvm 堆内存 栈内存 大小设置
- MongoDB3.4 版本新节点同步的一点惊喜
- 13c语言中的文件是一种流式文件,读写时均以字符为单位.,C语言判断题部分.doc...
- docker 使用技巧
- 尚硅谷JDBC笔记(带源码)——了解数据库,看这一篇就够了
- 赞!7000 字学习笔记,MySQL 从入到放弃
- 数据结构之队列的应用-超好玩的汽车加油站模拟器(C语言)
- su 鉴定故障解决办法
- Oracle:Locked by transaction: console [表名]
- 干货|科技赋能财富硬核直播带货,助力宜信财富逆势增长
- Ubuntu20.04/22.04 安装vmware 教程
- 【电商支付项目(一)】数据库设计
- 《演讲的本质》:如何做好一次公开演讲?
- Apache的配置与应用【Apache访问控制】以及apache日志管理【日志分割、awstats日志分析】
- Dataframe两列值去重
- android实习报告,基于Android的毕业实习报告.doc
- CAP与最终一致性(转载)
- C++中_kbhit()函数与_getch()函数
热门文章
- C语言向文件写入学生信息并读取显示出来
- TensorFlow by Google 实战CNN Machine Learning Foundations: Ep #4 - Coding with CNN
- 算法:插入排序、归并排序、快速排序、堆排序
- 修改服务器编码和oracle编码,修改oracle 数据服务器编码
- 2021-09-0884. 柱状图中最大的矩形 栈
- 2021-09-07LRUCache机制
- 剑指offerJZ1 二维数组中的查找 C++ python
- 315.计算右侧小于当前元素的个数
- python爬虫总结
- linux 进程 D 状态,Linux 进程的 Uninterruptible sleep(D) 状态