全站首页设为首页收藏本站

外链之家

 找回密码
 立即注册

QQ登录

只需一步,快速开始

社区广播台

    查看: 6|回复: 0
    打印 上一主题 下一主题

    聊一聊:APP开发技术浅析

    [复制链接]
    跳转到指定楼层
    楼主
    发表于 前天 04:34 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

      注:此处App为应用,application,并非我们通常讲的手机App。西安APP定制http://www.jiujieseo.cn/西安量子悦动()一直致力于西安网站建设服务,提供网站建设、小程序开发、软件开发等一系列服务,欢迎来电咨询合作!


      传统的原生App开发模式,有iOS和Android两大系统,需要各自语言开发各自App。

      优点:性能和体验都是最好的?

      缺点:开发和发布成本高?

      应用技术:Swift,OC,Java

      移动端的网站,常被称为H5应用,说白了就是特定运行在移动端浏览器上的网站应用。一般泛指 SPA(Single Page Application)模式开发出的网站,与MPA(Multi-page Application)对应。

      优点:开发和发布成本最低?

      缺点:性能和体验不能讲是最差的,但也受到浏览器处理能力的限制,多次下载同样会占用用户一定的流量?

      应用技术:ReactJS,RegularJS,VueJS等等

      混合模式移动应用,介于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等

      Facebook发现HybridApp存在很多缺陷和不足,于是发起开源的一套新的App开发方案RN。使用JSX语言写原生界面,js通过JSBridge调用原生API渲染UI交互通信。

      优点:效率体验接近Native App,发布和开发成本低于Native App?

      缺点:学习有一定成本,且文档较少,免不了踩坑

      阿里巴巴开发团队在RN的成功案例上,重新设计出的一套开发模式,站在了巨人肩膀上并有淘宝团队项目做养料,广受关注,2016年4月正式开源,并在v2.0版本官方支持Vue.js,与RN分庭抗礼。

      优点:单页开发模式效率极高,热更新发包体积小,并且跨平台性更强?

      缺点:刚刚起步,文档欠缺;社区没有RN活跃,功能尚不健全,暂不适合完全使用Weex开发App

      Native App是一种基于智能手机本地操作系统如iOS、Android、WP并使用原生程式编写运行的第三方应用程序,也叫本地app。一般使用的开发语言为Java、C++、Objective-C。

      自iOS和Android这两个的手机操作系统发布以来,在互联网界从此就多了一个新的名词:App意为运行在智能的移动终端设备第三方应用程序)。

      Native App因为位于平台层上方,向下访问和兼容的能力会比较好一些,可以支持在线或离线,消息推送或本地资源访问,摄像拨号功能的调取。但是由于设备碎片化,App的开发成本要高很多,维持多个版本的更新升级比较麻烦,用户的安装门槛也比较高。但是比较乐观的是,AppStore培养了一种比较好的用户付费模式,所以在Apple的生态圈里,开发者的盈利模式是一种明朗状态,其他market也在往这条路上靠拢。

      优势?

      1、相比于其它模式,提供最佳的用户体验,最优质的用户界面,最华丽的交互。?

      2、针对不同平台提供不同体验。?

      3、可节省带宽成本,打开速度更快。?

      4、功能最为强大,特别是在与系统交互中,几乎所有功能都能实现。

      劣势

      门槛高,原生开发人才稀缺,至少比前端和后端少,开发环境昂贵无法跨平台,开发的成本比较大,各个系统独立开发发布成本高,需要通过store或market的审核,导致更新缓慢维持多个版本、多个系统的成本比较高,而且必须做兼容应用市场逐渐饱和,怎么样抢占用户时间需要投入大量时间和金钱,这也导致“僵尸”App的增多

      说到Web App 不少人会联想到WAP,或者有人认为,WAP就是WebApp,其实不然。WebApp 与 WAP 最直接的区别就是功能层面。WAP更侧重使用网页技术在移动端做展示,包括文字、媒体文件等。而Web App更侧重“功能”,是使用网页技术实现的App。总的来说,Web App就是运行于网络和标准浏览器上,基于网页技术开发实现特定功能的应用。?

      响应式的大部分技术都是为实现WebApp能适配多类客户端而设计的。?

      Web网站一般分两种,MPA和SPA。而WebApp一般泛指SPA形式开发出的网站。这样更像是一个App。小程序和PWA也属于此类。

      优势

      可以跨平台,调试方便无需安装,不会占用手机内存,而且更新速度最快不存在多版本问题,维护成本低临时入口,可以随意嵌入

      劣势

      依赖于网络,第一次访问页面速度慢,耗费流量受限于手机和浏览器性能,用户体验相较于其他模式最差功能受限,大量移动端功能无法实现入口强依赖于第三方浏览器,且只能以URL地址的形式存在,导致用户留存率低(优点即缺点)

      混合开发,也就是半原生半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不可。

      总结来说就是:不同的页面情况选择不同的开发方式。
    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏 分享分享
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    快速回复 返回顶部 返回列表