2023年7月17日发(作者:)
APP开发技术浅析注:此处App为应⽤,application,并⾮我们通常讲的⼿机App。⼀、纵向对⽐Native App传统的原⽣App开发模式,有iOS和Android两⼤系统,需要各⾃语⾔开发各⾃App。优点:性能和体验都是最好的
缺点:开发和发布成本⾼
应⽤技术:Swift,OC,JavaWebApp移动端的⽹站,常被称为H5应⽤,说⽩了就是特定运⾏在移动端浏览器上的⽹站应⽤。⼀般泛指 SPA(Single PageApplication)模式开发出的⽹站,与MPA(Multi-page Application)对应。优点:开发和发布成本最低
缺点:性能和体验不能讲是最差的,但也受到浏览器处理能⼒的限制,多次下载同样会占⽤⽤户⼀定的流量
应⽤技术:ReactJS,RegularJS,VueJS等等Hybrid App混合模式移动应⽤,介于Web App、Native App这两者之间的App开发技术,兼具“Native App良好交互体验的优势”和“Web App跨平台开发的优势”(百度百科解释)
主要的原理是,由Native通过JSBridge等⽅法提供统⼀的API,然后⽤Html+Css实现界⾯,JS来写逻辑,调⽤API,最终的页⾯在Webview中显⽰,这种模式下,Android、iOS的API⼀般有⼀致性,Hybrid App所以有跨平台效果。优点:开发和发布都⽐较⽅便,效率介于Native App、Web App之间
缺点:学习范围较⼴,需要原⽣配合
应⽤技术:Cordova,APPCan,DCloud,APICloud,Wex5等React Native AppFacebook发现HybridApp存在很多缺陷和不⾜,于是发起开源的⼀套新的App开发⽅案RN。使⽤JSX语⾔写原⽣界⾯,js通过JSBridge调⽤原⽣API渲染UI交互通信。优点:效率体验接近Native App,发布和开发成本低于Native App
缺点:学习有⼀定成本,且⽂档较少,免不了踩坑Weex App阿⾥巴巴开发团队在RN的成功案例上,重新设计出的⼀套开发模式,站在了巨⼈肩膀上并有淘宝团队项⽬做养料,⼴受关注,2016年4⽉正式开源,并在v2.0版本官⽅⽀持,与RN分庭抗礼。优点:单页开发模式效率极⾼,热更新发包体积⼩,并且跨平台性更强
缺点:刚刚起步,⽂档⽋缺;社区没有RN活跃,功能尚不健全,暂不适合完全使⽤Weex开发App⼆、深⼊剖析Native AppNative App是⼀种基于智能⼿机本地操作系统如iOS、Android、WP并使⽤原⽣程式编写运⾏的第三⽅应⽤程序,也叫本地app。⼀般使⽤的开发语⾔为Java、C++、Objective-C。⾃iOS和Android这两个的⼿机操作系统发布以来,在互联⽹界从此就多了⼀个新的名词:App意为运⾏在智能的移动终端设备第三⽅应⽤程序)。Native App因为位于平台层上⽅,向下访问和兼容的能⼒会⽐较好⼀些,可以⽀持在线或离线,消息推送或本地资源访问,摄像拨号功能的调取。但是由于设备碎⽚化,App的开发成本要⾼很多,维持多个版本的更新升级⽐较⿇烦,⽤户的安装门槛也⽐较⾼。但是⽐较乐观的是,AppStore培养了⼀种⽐较好的⽤户付费模式,所以在Apple的⽣态圈⾥,开发者的盈利模式是⼀种明朗状态,其他market也在往这条路上靠拢。优势 优势1、相⽐于其它模式,提供最佳的⽤户体验,最优质的⽤户界⾯,最华丽的交互。
2、针对不同平台提供不同体验。
3、可节省带宽成本,打开速度更快。
4、功能最为强⼤,特别是在与系统交互中,⼏乎所有功能都能实现。劣势1. 门槛⾼,原⽣开发⼈才稀缺,⾄少⽐前端和后端少,开发环境昂贵2. ⽆法跨平台,开发的成本⽐较⼤,各个系统独⽴开发3. 发布成本⾼,需要通过store或market的审核,导致更新缓慢4. 维持多个版本、多个系统的成本⽐较⾼,⽽且必须做兼容5. 应⽤市场逐渐饱和,怎么样抢占⽤户时间需要投⼊⼤量时间和⾦钱,这也导致“僵⼫”App的增多WebApp说到Web App 不少⼈会联想到WAP,或者有⼈认为,WAP就是WebApp,其实不然。WebApp 与 WAP 最直接的区别就是功能层⾯。WAP更侧重使⽤⽹页技术在移动端做展⽰,包括⽂字、媒体⽂件等。⽽Web App更侧重“功能”,是使⽤⽹页技术实现的App。总的来说,Web App就是运⾏于⽹络和标准浏览器上,基于⽹页技术开发实现特定功能的应⽤。
响应式的⼤部分技术都是为实现WebApp能适配多类客户端⽽设计的。
Web⽹站⼀般分两种,MPA和SPA。⽽WebApp⼀般泛指SPA形式开发出的⽹站。这样更像是⼀个App。⼩程序和PWA也属于此类。优势1. 可以跨平台,调试⽅便2. ⽆需安装,不会占⽤⼿机内存,⽽且更新速度最快3. 不存在多版本问题,维护成本低4. 临时⼊⼝,可以随意嵌⼊劣势1. 依赖于⽹络,第⼀次访问页⾯速度慢,耗费流量2. 受限于⼿机和浏览器性能,⽤户体验相较于其他模式最差3. 功能受限,⼤量移动端功能⽆法实现4. ⼊⼝强依赖于第三⽅浏览器,且只能以URL地址的形式存在,导致⽤户留存率低(优点即缺点)Hybird App混合开发,也就是半原⽣半Web的开发模式,由原⽣提供统⼀的API给JS调⽤,实际的主要逻辑有Html和JS来完成,最终是放在webview中显⽰的,所以只需要写⼀套代码即可达到跨平台效果,另外也可以直接在浏览器中调试,很⽅便。最重要的是只需要⼀个前端⼈员学习下JS api的调⽤即可。Hybird App 的较早实践者是PhoneGap,如今改名为Cordova。随后遍地开花,如Titanium、Salama、WeX5、Kerkee和国内的AppCan等.现在流⾏的Hybrid开发模式的主要有以下⼏个⼤平台:Cordova,APPCan,DCloud,APICloud。这些平台各有各的实现⽅式,但⼤致的原理基本相同。在Hybird概念盛⾏的时候,国内外各⼤公司也参与了探索,国外代表有Facebook、google、亚马逊,国内的有腾讯、阿⾥巴巴、⽹易等,慢慢的他们发现Hybird严重受限于WebView的解析渲染效率,于是Facebook开始了他的类原⽣的研究探索,淘宝紧跟其后。于是React Native和Weex诞⽣了。三、思考与实践具体开发过程中,到底该采⽤哪种类型的app,原⽣还是H5?这两年多以来,因为市场的不同,也出现了不⼀样的需求,各个技术都有了新的发展。为了解决问题其实最终思想都会被还原成以下⼏个点上:根据需求,选择⼯具;⽤适当的⼯具做适当的事情,有针对性地解决问题;世界是平衡的,对于开发者来说,做的有⽤功越多,⽤户体验就越好,反之越差;跨平台是⼀个"幌⼦",什么都做得到不代表什么都做得好通过以上分析你会发现Hybrid技术的发展基本也在跟随这⼏个点来⾛。所以个⼈认为HybridAPP开发将成为移动开发的⼀种趋势,尤其是在电商⽅⾯HybridApp将会成为主流,但是在资讯类,电⼦读物阅读类的APP上还是以原⽣开发为主。我们到底使⽤什么技术可以从以下⼏个点进⾏业务分析。如果APP中出现⼤段⽂字(如新闻、攻略等),且格式⽐较丰富(如加粗,字体多样),那么⽤H5会⽐较⽅便。原因是原⽣开发解析json对字符串格式处理不算很好。如果讲究APP反应速度(含页⾯切换流畅性),则选⽤原⽣开发,因为H5其本质是⽹页,换页时,基本要加载整个页⾯,就像是浏览器打开⼀个新页⾯⼀样,显得较慢,⽽原⽣系统则只加载变化部分。如果APP对有⽆⽹络、⽹络优劣敏感(譬如有离线操作,在线操作),那么,基本选⽤原⽣开发,虽然H5可以做到,但是很复杂。如果APP需要频繁调⽤硬件(摄像头、麦克风、未来的湿度检测仪等等)那么,基本选⽤原⽣开发,这样⽀持硬件更多,更容易扩展,且调⽤速度更快,H5就望尘莫及了。如果APP⽤户常见页⾯频换,如(淘宝⾸页各种不同活动),那么⽤H5,维护起来更容易。如果预算有限(H5开发⼀套可跨平台覆盖安卓、ios,⿊莓、塞班),不是很讲究⽤户体验,不在乎加载速度,那⾮H5不可。总结来说就是:不同的页⾯情况选择不同的开发⽅式不同的页⾯情况选择不同的开发⽅式。
发布者:admin,转转请注明出处:http://www.yc00.com/xiaochengxu/1689584264a268208.html
评论列表(0条)