原生h5是什么意思
大家好!今天让创意岭的小编来大家介绍下关于原生h5是什么意思的问题,以下是小编对此问题的归纳整理,让我们一起来看看吧。
开始之前先推荐一个非常厉害的Ai人工智能工具,一键生成原创文章、方案、文案、工作计划、工作报告、论文、代码、作文、做题和对话答疑等等
只需要输入关键词,就能返回你想要的内容,越精准,写出的就越详细,有微信小程序端、在线网页版、PC客户端
官网:https://ai.de1919.com,如需咨询相关业务请拨打175-8598-2043,或微信:1454722008
本文目录:
一、APP原生开发和H5开发以及APP混合开发三者有什么区别?
这个如果详细说,那就是很复杂了,但是可以以口语方式简单的说
APP原生开发:就是安卓版,IOS版,和后台,最起码为3个人制作,3个不同的人掌握不同的技术,也就是说,这个成本最高。
H5开发:就是HTML5的网页制作,也可以理解为网页制作,然后加个壳打包,这个壳和打包对于外行也是比较模糊的概念,你只需要理解为最简单的html5制作就行,这个没有什么技术含量,也最便宜。一个人可以搞定。
APP混合开发:这个是介于原生开发和H5开发之间的,难度也是居中,相对来说,技术上由2个人完成,一个前台一个后台,APP上有H5的制作内容,也有原生开发的制作内容,所以叫混合开发,或者说也有WEB开发的痕迹,这个是不能一句话说清楚的。
从价格来说这样排列:最贵原生开发,居中混合开发,最便宜H5开发。
二、h5做app和原生app有什么区别?
1.H5的性能很差,一般经常改的地方可以用H5,比如论坛,咨询之类的,而且限制也是很大,很多效果是没办法做到的。GUI框架的WebView普遍是这样的。如果一个APP全部由H5来做(不太可能,送审很可能被拒),那么会显得非常卡。
2.用iOS SDK,如果实现热更新是比较麻烦的。对于论坛,咨询这种模块,动不动就改版,做起来比较头疼,用H5就很合适了。尤其在APP跨安卓和iOS的时候,这类模块如果直接用H5,那么就很容易共用。
H5网页App开发和纯原生的App的差距主要聚集在以下几个方面:
1、动画
动画有很多种,比如侧边栏菜单的滑入滑出、元素的响应动画、页面切换之间的过场等等,在H5之下的众多实现方法都没有办法达到纯原生的性能。一般这些的话有几种不同的选择:css3动画、javascript动画、原生动画。
css3动画非常的消耗性能,如果某一个元素用到css3动画可能还看不出来,但大面积或过场使用css3动画会让app低端手机体验非常差。最好的选择一般是通过框架调用底层的动画,但不管怎么样等于在原来的代码上包上了一层,性能还是不可避免的受到影响。
比如在一个新页面的载入上,如果调用底层动画要考虑的问题有两个,一个是本身资源页面的渲染问题,另一个是远程数据的获取。即便是这些动画能够很快的响应,但大量的css页面会导致渲染卡顿,滑入时可能会有白屏/机器卡顿的现象。为了解决这些性能问题又必须要用到预加载或模拟动画。即便是这样,滑入滑出的动画在低端的安卓机器上还是有很多问题,如果获取服务端数据处理的方式不合适,卡顿白屏的现象会更严重。具体看下面的数据获取方式。
2、获取服务端数据
首先要接受的是,这里的数据获取都是在资源页面上异步完成的,因为只有这样才能让这些资源页面完成预加载或者渲染。但是异步拿到的数据在填入页面中时可能会涉及DOM操作,众所周知,DOM操作非常消耗性能,如果页面小还好,页面稍大数据稍微复杂一点,频繁的DOM操作会导致明显的闪白。而且最重要的一点是,如果页面加载进来之后数据更新的速度太慢,也会让页面模板等待很长时间,对用户体验又不友好,总不能每次打开都像浏览器一样等待刷新是吧
这个问题如果没有得到解决,H5开发是很难承担大规模数据的页面,在它们之中频繁切换更是难上加难,那么肯定有人也会想到用MVVM的方式,其实我也写过一些基于MVVM的H5app开发,相对来说它们获取数据和更新数据的方式更敏捷更科学,但写的过程中又要注意很多H5独有的问题,这些问题在下面的页面切换里来讲。
3、页面切换
上面我们看到了几种不错的实现方式,比如预加载和模拟动画,甚至有批量的预加载,批量的截图模拟动画等等,虽然看起来很友好解决了不少问题,但事实上如果页面足够多就会引发另一个问题——页面的生存周期。
试想一下,如果引导页或者主页面缓存了5个子页面的资源,在跳转到响应的子页面时又会缓存这些子页面的下级页面资源,如此反复肯定会占据大量内存使APP的体验下降。那么怎么知道那些页面是需要的,最多缓存多少页面,什么时候结束哪些页面的生存周期呢?在我用过的很多H5APP的框架里都没有对这些问题有一个完美的解答,因此在页面较多内容较多的app开发中可能会因这些资源分配的问题降低性能。
这时候我们回过头来再看看MVVM的数据加载问题,实际上不管哪个MVVM框架,写过的人都知道管理这种新型的前端代码最重要的问题是内存的问题,你既要保证代码写的足够优雅没有任何内存泄露问题,也要考虑到在页面生存周期结束时它们的控制器/页面资源是否得到释放,这对全局有没有什么影响,在多个请求时也要合理的分配资源,甚至是复用这些父级页面传过来的缓存资源等等。较小的APP可能并不会有这些问题,如果你想用纯H5来开发大型app,这很可能会浪费你很多时间——而且结果还不会让你满意。
4、Android/iOS的区别
很多人都说纯H5app开发一次编写就能编译Android/iOS两种不同的APP,大大降低了成本。实际上这个观点本身就是值得怀疑的,如果你写过这类APP就能明白我在说什么,它们既不省事,又存在很多BUG,调试时尤其繁琐。举一个很简单的例子,Android和iOS在返回上一页的处理方式上就有明显的区别,iOS的顶部bar在全屏下怎样处理,Android机器出现smart bar怎样处理页面的布局,调用底层硬件时怎样区分不同的场景等等,你需要写一个又一个机型和系统的判断,然后分别在Android和iOS下调试,最后你却发现这并没有卵用,累的要死却什么没学到,只有一堆不知道什么时候会过时的经验。
现在做H5混合APP开发的人很多,但是纯H5却很年轻,很多问题都没有很好的解决,这几个是我在做这些APP时考虑最多的问题。最后说一个很少人注意到的H5优势,大家大谈H5APP时都是快速开发、低成本、多平台等等,但我却觉得它和很多APP开发方式相比有一个不同之处——图文混合的排版。正是这些复杂多变的CSS样式消耗了性能,但是它带来了排版的多样性,能够细致到每一个字宽行高和风格的像素级处理,才是H5的优异之处。
三、app原生开发和h5app有什么区别
原生是基于他们自己平台的语言开发,比如ios和安卓是2个平台,也就是要开发2份app。h5的开发完一个,两个系统可以兼容(调试测试好)就可以,所以h5比原生app要便宜。 h5的app,加载速度不如原生,受网络影响大,体验度偏低,开发成本一般。 原生app,加载速度快,受网络影响较小,体验度很高,开发成本偏高。 很多市面上的h5虽然功能有了,效果却差了很大,要知道一款好的app光ui设计上就会比普通能凑合用的app高出几倍,也就是说正常二十万左右的appui可能也仅仅占了一万两万,甚至有的公司为了赚钱ui都是修改之前的成品app。
四、h5做app和原生app有什么区别?
一、功能更强大
从以上定义中可以看出,原生APP是系统性的应用程序,可以地用手机终端的硬件设备,比如语音、短信、GPS、蓝牙、重力感应和摄像头等,但是webAPP是不可以做到这些的。所以如果你想做一个可扩展性强,而且后期功能不断完善的APP,一定要考虑原生的。 二、 加载速度更快
刚我们有提到原生APP是由 “云服务器数据+APP应用客户端” ”两部分构成,APP应有所有的UI元素、数据内容、逻辑框架都是安装在手机里的。所以用户在使用APP的时候,不需要重新加载数据,因为这些内容都安装在手机中了,虽然第一次安装的时候有点复杂,但是在实际使用会方便很多。
但是web APP打开每一个页面,都需要重新加载,虽然现在网络情况很好了,但是在实际中可能会有各种问题,比如流量用完了、所在区域网络不好或出了问题,就很大可能出现加载慢或者加载不出来的问题,加载多了很容易出现卡死错乱的情况,用户的体验就会很差。因此考虑到用户体验和加载速度方面,原生APP的性能要远远优于web。
第三:稳定性更好
目前市场的web版的APP多为模板,这种模板价格便宜,但是功能无法拓展,而且随着市场上浏览器、技术的进步,会逐步出现各种问题,稳定性根本无法保证。相比而言原生的APP技术更加成熟,而且功能可以拓展性更强。做个简单的比喻,我们有一套房子,这个房子可以考虑自己建设,这个过程中我可以决定建几层、建成什么样的户型等等,但如果其买别人做好的,那就只能从已经有的中选择。如果遇到网络不好的情况可能就像等期房一样,只大体知道是啥样的,但具体的得等网络好了才能看到。
以上就是关于原生h5是什么意思相关问题的回答。希望能帮到你,如有更多相关问题,您也可以联系我们的客服进行咨询,客服也会为您讲解更多精彩的知识和内容。
推荐阅读: