现观目前市场上的APP横行,不同行业、不同类目的APP在国内各大应用市场挤爆的满满了,那么作为一个程序员或者一个企业如何能从容的把握住制作一款实用又符合用户体验的APP呢?
自从接触APP也有四年多了,这里我想简单的介绍下这两者的区别和程序猿、企业应如何正确又快速的做出此款APP的制作时涉及的技术方面的决定。
以下我将以最通俗的说法分7点讲述:
一、概念
a) H5:即Html5,接触过互联网的都知道html,所以很明显h5是html的第5次重大修改的一项超文本标记语言的标准协议。
b) 原生:使用原生制作APP(Native app),即在基于目前的智能手机的操作系统(如安卓android、苹果IOS,另外还有windows phone)的基础上并且搭配原生的编程编写运行的第三方的移动应用程序,简称原生APP。
二、本质区别
a) H5 app使用的编程语言:html本身就是一门语言,html5是在html基本上对h5语言的更加完善和一些改善新的特性,比方说在音频、视频等方面的支持。H5它主要适用于移动端的运行环境。当然,另外它也可以使用PHP或JSP的编程语言来实现你想的整个WEB页面,以致于让我的页面更加完善和完美,并且在动态的编程出的WEB修改内容更加方便。用于商业浏览的WEB内容必须有动态数据的搭配编程,很多初学编程的朋友,在学校里或在培训学校里初学了一点所谓的H5编程,记住一定要配合数据库哦。
b) Native app使用的编程语言:此处按移动操作系统来区分
i. 安卓(android),使用JAVA语言;
ii. 苹果(IOS),使用OBJECTIVE-C;
iii. Windows phone,使用VISUAL C++ 。
c) 从上面2点可以看出,h5 app(web app)只需要在h5的基本使用php编程语言, 在加上制作完成前,嵌入到原生的框架里即可。而Native app则需要多种语言来完 成整个APP的编程。
三、用户使用角度
一款APP展现给用户的时候,用户最关心的事是用户用最简单的操作完成我想要的东西或者是完成一些操作,用户不管你是怎样实现的功能,因为对用户说最最最主要的是“用户体验”。
“用户体验”这是程序猿和企业运营者必需(必定需要)要考虑的头等大事。
具体用H5的体验好还是用原生的体验好,这就涉及到应用本身的内容以及各个页面来决定了。
四、程序猿角度
a) 先举个例子:某A公司的一款购物类型的APP,其中涉及到B2B2C,APP中需要让商家可以直接添加商品的功能。大家平时都上网到淘宝天猫京东啊等买过东西哦,都知道,商品的界面会涉及的内容有:商品标题、商品规格、商品描述(可以包括文字和图片)、库存等内容参数。如果说,添加商品在PC后台管理系统里很好实现的,但是如果用原生的编程在APP上的实现就没有象h5的添加页面一样实现来的快了。因为H5的添加或使用各种HTML的标签,而原生的话它编程的页面不能有HTML的标签只有原生的控件,而商品的前台页面(展示给买家的详情页)最好的是用H5,在这里就相对产生了某矛盾。
b) 纯H5的APP,对于程序猿来说,开发的时间上比用原生的开发快很多。但是最终的效果和性能方面比起来还是有较多的问题的。
c) 比方说,APP内有动画的部分:CSS3动画,JAVA SCRIPT动画,原生动画。动画的滑入滑出、元素和帖的响应动画、页面切换之间的场景等等。目前国内的安卓机子品牌比较多比较杂,它在这方面性能还是比较差的,如果跟获取服务端的数据的交换方式不适应时,会有很多卡屏白屏的现象出现,而且比较严重。
d) 跟服务端数据交换的时候:如果页面的内容比较少或小时,还好。当数据量稍微大或复杂的时,在DOM操作时的非常消耗手机的性能。
e) 不同页面之间切换或浏览时:因为它的不同页面要请求不同数据,所以用起来就会感觉很卡。
五、公司成本角度
a) 上面第四点也提到了,在程序猿角度来说,H5的开发时间会比原生的快多了。所以在公司成本来说,在所开发的预算有限的情况下,很多企业现在越来越会考虑使用H5的来开发APP。
b) 另外,用natvie 开发APP所要配备的人员有(一般急需APP开发):最少2个安卓程序猿、2个 苹果程序猿、1个后台( php或 jsp )、1个后端(java或php)、1个UI设计师、1个产品经理。而H5开发的话,只要1个后台( php或 jsp )、1个后端(java或php)、1个UI设计师、1个产品经理,基本好了后,只要程序猿简单的嵌入到原生的框架就可以了。以北上广深杭来说,对于工资成本这块可想而知。
c) 从以上2点可以知晓,无论在时间成本还是人员成本上来讲,对于企业来说,在不考虑体验或者说程序猿能很好的完成技术的情况下,一般会选H5的居多。
d) 不过从企业的产品经理来定,他肯定会考虑到所要开发的APP的本身的所涉及到内容,当然目前最多的是两者相结合。
六、APP用户的留存率、忠诚度及行业趋势
a) 留存率:据不完全统一,目前市场上的用户留存率还是原生APP的居多。
b) 忠诚度:用户的忠诚度就看APP本身对用户的吸引力和推广力度的结合。
c) 趋势:h5和native app 混全开发的是必是将来的趋势。作为一名想在程序界站的住脚的程序猿,必须2个技术同时掌握,不过可以有侧重点。不然的话很难适应于市场的变化。
七、总结
a) 以46度仰视的角度来看:h5 app开发快,实现的功能也很炫,好高大上哦!那是我想达到的技术。原生的开发太耗时耗力。
b) 以46度俯视的角度来看:native app能更好的适应各种类型的功能实现,你H5可以的我原生的都可以实现。
c) 以46度的角度来看:H5+原生混合开发,某此固定格式和控件的、页面反应速度要求高的模块就采用原生natvie开发,对于新闻、大段文字、资讯类的用H5语言的标准实现页面来加载,将其嵌入到原生框架中那么,可以达到比较良好的体验。
结尾:正所谓,有你有我,目前还是混合开发模式中,还是原生占有率远远高于H5。建议一名程序猿不要单单只是做程序,要多思考多感受多体验。