HTML5+js 可以开发手机app么?
时间:2023-11-25 02:12:01 | 来源:网站运营
时间:2023-11-25 02:12:01 来源:网站运营
HTML5+js 可以开发手机app么?:首先,随着硬件和系统的不断升级,一些以前很头疼的效率和效果都能得到解决,比如在android2.3时代的页面展现,由于使用的是android browser而不是
chrome,有很对webkit特有的特性都不支持,如输入框的边框显示,css的遮罩效果,一些css特效动画等都不能实现。从效率上页面渲染的速度也比较慢,主要原因
应该还是dom占用内存很多导致。而目前的主流手机都已经是2G甚至4G内存+,并且大都配置了android 4.x(关键是4.4版本)了,浏览器默认都是chrome了,上述问题可以说
基本得到了解决。因此我想说的是,当我们把目光放远一些,会发现HTML5是很诱人并且确实是很现实的选择了。
然后谈一下做一款HTML5应用的体会和经验吧,对于HTML5和原生的优劣比较这里不多说了,已经有了很多很好的论述,我从实际开发的角度说一下有哪些可以优化的地方。
1 网络连接优化:应该说网络连接优化是最可控的,这个能达到和原生应用完全一致的体验。原因很简单,HTML5应用里面所有的html页面,css,js,图片等,我们都
可以打到安装包中,用户安装完毕后,打开的页面都是本地页面,不需要连网,只有产生业务数据时,才使用AJAX进行数据请求。而对于网络情况的判断,对于连接超时的
设置等,JS或者说XHR规范都支持了。
2 数据本地存储:主流浏览器对于LOCAL STORAGE的支持没有问题,可以保证本地存储的实现。当然,这个存储是KEY-VALUE模式的,需要在应用中对于存储的数据进行
一定的设计,比如用JSON存储实际数据,而对于这些数据的检索,目前也已经有了不少JSON QUERY的支持库了。当然CHROME也支持SQL LITE,不过个人对于这种方式
不推荐,毕竟在客户端上我们不需要太复杂的SQL查询。
3 文件本地存储:在原生应用中很多文件我们都需要下载到本地,比如音视频,图片等,HTML5应用一样,如果是纯HTML模式那么目前我们可选择的就只有CHROME的
FILE SYSTEM了,当这个选择会有一些限制,比如需要用户同意本地存储的策略,另外FILE SYSTEM的存储路径与物理路径没有直接关联,这个对于应用的调试和管理
也会产生障碍。因此这里还是推荐使用原生插件的模式,利用原生文件系统做这个事情,比如CORDOVA的FILE TRANSFER插件。
4 音视频的播放:HTML5的插件可以满足需求
5 动画效果:HTML5 CANVAS以及CSS3的各种动画特效都能满足需要。
6 录音录像:CHROME的WEBRTC可以实现,但是在手机上的效果一般,还是建议使用原生的插件或者自定义插件实现。
7 页面展现和排列:这个确实效率比原生应用有一定差距,尤其是滚动和页面内容比较多的时候。这就需要应用在渲染的时候进行优化,比如限制展现区域,比如在定义
点击区域时尽量使用TAP而不是CLICK,并且最好减少对于大区域的点击事件.....
最后介绍一款使用HTML5实现的安卓应用:),OK外语宝,一款英语学习的安卓应用,使用CORDOVA框架实现的HTML5与原生混合型应用,
里面的HTML5实现了动画,音视频,语音录制,语音识别,本地文件和数据存储,网络同步等多个HTML5特性的使用。在各大应用市场都可以下载这款应用(应用宝市场:
http://android.app.qq.com/myapp/detail.htm?apkName=com.okappclient)。而且还有一个特色是这个应用真正实现了原生与HTML5的同步,即所有的安卓应用功能都能在网页上同步呈现。用CHROME浏览器访问
http://web.okkouyu.com,你会发现里面的内容与手机上安装的功能完全一致。