为什么移动平台还是 Native 更流行,较少 HTML5 应用

html-css08

为什么移动平台还是 Native 更流行,较少 HTML5 应用,第1张

html5应用 并不仅仅是html5本身,其实还有css3 ,canvas,javascript , 需要把这些都合成起来才能做好一个html5应用 ,目前很多Native 中会嵌入html5页面所做的页面,因为html5的更新更会更容易。

如果希望做一个html5应用,其实可以看一些webapp的前端框架,百度搜索一下webapp 前端框架就能看到,里面有很多效果其实已经接近原生应用。

同时也可以看看 “html5中国产业联盟” ,“phonegap”,等等 他们会把所做的html5应用转换成原生应用!可以调用手机的硬件!也就是说,只要开发一次,那么就能生成android ,ios,windows phone应用,节省很多开发成本,而这只是应用方面。

在游戏方面,Egret和 cocos2d-x 都很棒,它们都能生成不同系统的手机游戏!

有人可能会说原生的应用效率更高,但是只要在baidu搜索一下就会发现,评论的时间大部分都不是最近,而且很多开发者做html5应用时并不用心,或者说是不了解,就拿一个比较简单的事件来说,点击事件,大部分人会使用click事件,这个没有错,但是它的效率低,当手指在屏幕上抬起时会有一定的延迟,所以给人的感觉会慢一点,但是稍微有点经验的会使用touch事件 ,当手指碰触到手机屏幕时就会触发事件,而touch 在不同的手机中兼容不一样,而另外一些真正做过的就会考虑到 “点击降级”,或者是touch包,理论上是当手指点击手机屏幕时,先使用不同操作系统的touch事件,如果不兼容就使用mousedown 事件,如果在不兼容,为了安全最后在使用click事件,这样就能给用户一个很好的点击效果。

html5现在还占优势的。

1、开发方式

(1)代码结构:

React

Native更为合理,组件化程度高

(2)UI布局:Web布局灵活度

>

React

Native

>

Native

(3)UI截面图:React

Native使用的是原生组件,

(4)路由/Navigation:React

Native

&

Native更胜一筹

(5)第三方生态链:Native

modules

+

js

modules

=

React

Native

modules

2、性能

&

体验

(1)内存:Native最少;因为React

Native含有框架,所以相对较高,但是后期平稳后会优于Native。

(2)CPU:React

Native居中。

(3)动画:React

Native动画需求基本满足。

(4)安装包体积:React

Native框架打包后,811KB。相比热更新,可以忽略和考虑资源规划。

(5)Big

ListView

(6)真机体验:Native

>=

React

Native

>

H5/Hybrid

判断android应用是否是基于html5还是native控件开发主要有两种方式:

1.根据android的native控件开发的界面,是由一个个的控件组合而成,而html是包裹在一个webview控件里面的,所以可以通过查看布局边界,如果界面上是由很多的框组成的就是native控件开发的,反之为html5开发。在设置中找到开发人员工具,然后找到显示布局边界,选中,这个时候会发现屏幕中到处都是框框。

2.根据html5需要保持网络连接,断开网络之后会显示错误的网页信息来判断。手机的网络断掉。然后点开android程序页面。然后可以正常显示的东西就是原生写的。显示404或则错误页面的是html页面

近段时间,android应用的开发趋向于使用html5,因为其更新更简单,容易维护。