1.html5的app比较轻巧,原生态app如比较正规,html5实现的功能有限,只能实现一些轻型的交互场景,而app则可以完美解决。
2.html5虽然可以跨平台,可是浏览器有个加载速度,对于用户体验上说,有个加载的等待,就比如你用qq浏览器打开百度,和直接使用百度app是两种体验。浏览器打开百度,还得有个加载,而百度app则duang的出下了输入框界面。
3.html5的app对于导航来说,目前有个弊端。而原生态app则在页底固定悬浮着导航菜单。
4.html5 app也有自己的优势,比如有的app页面想要分享出来,则采用html5 app。也比如滴滴打车集成在微信里一样,如果手机中没有滴滴打车的app,则直接可以在默认浏览器上加载出来,进行打车。
html5 app在设计时需要注意的一些要点:
1)各手机浏览器的兼容测试
2)底层服务的调取(能调取,但只有当其是核心功能时才保留 eg:新浪、美团等皆去掉了头像上传功能)
3)注意离线数据存储,减少数据请求频率。
4)考虑保存用户的哪些数据:设置、个人数据、阅读锚点、跳出页面等。【这点一般说的就是导航菜单】
5)避免动效与浏览器的交互冲突
6)按顺序 异步加载
想了解他们之间的区别,先看一下各自的简单定义吧。
app:主要是指application(应用程序)
HTML是hypertext markup language(超文本标记语言)
主要区别有
1.应用环境:
手机原生app面前比较流行环境是Android和IOS两个版本。
HTML5主要是在浏览器中进行运行和渲染,其实浏览器是App的一种。
2.相关编程语言:
移动APP的编程语言一般是:c#,Java, c,vb 等...
HTML5的编程语言则是:html5,css3,javascript,php/jsp/asp 等...
3.开发成本和周期:
移动APP相对来说开发成本比较高,周期也比较长。html主要应用于前端web开发,开发制作周期短,费用少。
4.兼容性
手机app在不同的系统中需要开发不同版本(例如前面所说的Android和IOS),而html5可以跨平台主要有浏览器就可以运行。
5.用户体验。执行效率,显示效果,可以调用的系统权限都是不一样的。
在用户体验和表现这个方面 APP提供用户展示图形界面和数据展现的丰富性方面要比HTML5好。而且调用的系统权限APP相对权限要高。
总结:html5和app各有自己优势和不足,需求者应该根据各自的特点来选择合适的语言。
H5APP即是一种框架型APP开发模式(HTML5APP框架开发模式),该开发具有跨平台的优势,该模式通常由“HTML5云网站+APP应用客户端”两部份构成,APP应用客户端只需安装应用的框架部份,而应用的数据则是每次打开APP的时候,去云端取数据呈现给手机用户。
原生APP又称NativeApp,该开发针对IOS、Android、Windows等不同的手机操作系统要采用不同的语言和框架进行开发,该模式通常是由“云服务器数据+APP应用客户端”两部份构成,APP应用所有的UI元素、数据内容、逻辑框架均安装在手机终端上。
1、开发方面的区别(这个地方太专业啦,请教了团队的开发小伙伴)
目前ReactNative开发越来越火,微信小程序是基于ReactNative开发的,体验接近原生APP,发展前景值得重视。不过好在现在非原生APP同样可以调用蓝牙、相机等硬件,也能顺利发布到苹果APPstore。
移动WebApp
1、因为运行在移动设备的浏览器上,所以只需要一个开发项目
2、这种应用可以使用HTML5,CSS3以及JavaScript以及服务器端语言来完成(PHP,RubyonRails,Python)
3、这里可没有标准的SDK,基本任意选择别忘了有一些跨平台的开发工具,比如PhoneGap,SenchaTouch2以及AppceleratorTitanium等等。
原生App
1、每一种移动操作系统都需要独立的开发项目
2、每种平台都需要独立的开发语言。Java(Android),Objective-C(iOS)以及VisualC++(Windowsphone)等等
3、需要使用各自的软件开发包,开发工具以及各自的控件
2、能力方面的区别
移动WebApp
只能使用有限的移动硬件设备功能。
原生App
能够与移动硬件设备的底层功能,比如个人信息,摄像头以及重力加速器等等。对于这一点感触很深刻,2016年做新年H5营销小活动的时候,就是因为没有考虑到H5不能使用移动硬件端重力加速器而导致临时替换设计方案。
3、获取方法的区别
移动WebApp
1、从移动设备上的浏览器访问
2、不需要安装额外的软件
3、软件更新只需要服务器就够了
4、因为现在没有什么商品或卖场提供这种App,不过一般都是嵌套在系统内部,或者内部系 统中使用
5、跨平台开发,用户不需要去卖场来下载安装App
6、需要过度依赖网络,没有任何缓存数据
7、任何时候都可以发布App,因为根本不需要官方卖场的审核
8、如果你已经有了一个WebApp,你可以使用responsivewebdesign来辅助改进(这也是优势?)
9、所有的用户都是用同样的版本
原生App
1、直接下载到设备
2、以独立的应用程序运行(并不需要浏览器)
3、用户必须手动去下载并安装这些原生App
4、有一些商店与卖场来帮助用户寻找你的App,appstore里面应有尽有。
5、原生型APP应用的安装包相对较大,包含UI元素、数据内容、逻辑框架
6、手机用户无法上网也可访问APP应用中以前下载的数据。
7、原生型的APP可以调用手机终端的硬件设备(语音、摄像头、短信、GPS、蓝牙、重力感应等)
8、APP应用更新新功能,涉及到每次要向各个应用商店进行提交审核。
9、用户可以自由地选择是否更新软件版本,所以会出现不同用户同时使用不同版本的情况
即使两者之间有很大的区别,即使H5有一大堆的坑和问题,但是仍旧不妨碍移动WEB无所不在,移动web是目前唯一的支持各种设备访问的平台,也是唯一一个可供开发者发布移动应用的平台,它将各种移动交互与PC系统任务有效的结合在一起。而原生nativeapp可以充分利用设备的特性,这一点是它得天独厚的优势。
正式因为它有复杂多变的CSS样式消耗了大量性能,它才有一个更有竞争力的优势——它带来了多样性的排版,能够细致到每一个字宽行高和风格的像素级处理,能够给你带来不一样的图文汇合的排版。