南顺网络

扫一扫微信二维码

App常用开发模式及混合式app开发框架

南顺网络 2020-07-27 15:48 经验之谈 43


App常用开发模式及混合式app开发框架



Native App

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

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

缺点:开发和发布成本高, 维持多个版本的更新升级比较麻烦,用户的安装门槛也高



 WebApp

移动端的网站, h5

开发和发布成本最低, 性能和体验较差,受到浏览器处理能力的限制

  Hybrid App

混合模式移动应用,介于Web App、Native App这两之间App开发技术, 兼具“Native App良好交互体验的优势”和“Web App跨平台开发的优势”


原理: 由Native通过JSBridge等方法提供统一的API,用html,css实现界面,JS写逻辑调用API,最终页面在Webview中显示,这种模式下,Android、iOS的API一般有一致性,HybridApp所以有跨平台效果

开发者可以像开发WebApp一样开发app的视觉UI,当需要使用原生功能(如摄像头,陀螺仪等功能)时,只需要调用官方的API就可以实现Native的效果。至于JS和Native的通信,常用的有URL监听和Hybrid厂商使用的JSBridge通信,两者原理相近

Hybird App 的常见跨平台开发工具有PhoneGap,Ionic, 国内有AppCan

缺点:Hybird严重受限于WebView的解析渲染效率,需要原生配合。

JSBridge调用方式


 React Native App

Facebook发现Hybrid存在很多缺陷和不足,然后自己开发了一套RN, 使用JSX写原生界面,js通过JSBridge调用原生API渲染UI交互通信支持flexBox布局, 采用DOM 结构;

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

缺点:新东西,更新迭代快,api后期同早期变化很大,需要踩坑。。

 Weex App
阿里开发团队在RN的成功案例上,设计的一套开发模式,2016年4月正式开源,并在v2.0版本官方支持Vue.js
优点:单页开发模式效率极高,热更新发包体积小,并且跨平台性强。
缺点:同RN, 且社区没有RN活跃,已捐献给 Apache 基金会孵化管理。。。奔溃。。。

目前混合式开发已经逐渐成熟,混合式app开发只需要要求开发者会使用css和js前端代码就可以实现手机app应用的开发,而不需要再去学习安卓或苹果开发,降低了app开发的门槛。混合式开发做出的手机应用无论在性能还是易用性方面都很接近原生app应用。在这一时期涌现出许多混合式开发的框架,这些框架一般都提供通用的开发组件和集成开发环境,这更加简化了移动应用开发技术。下面介绍几个流行的混合式开发框架。

  1. PhoneGap

PhoneGap是一个免费且开源的开发环境,是一个用基于HTML,CSS和JavaScript的,创建移动跨平台移动应用程序的快速开发平台。开发者可以开发出在Android、Palm、黑莓、iPhone、iTouch及iPad等设备上运行的App。其使用的是HTML和JavaScript等标准的Web开发语言。开发者使用PhoneGap进行开发,可调用加速计、GPS/定位、照相机、声音等功能。

PhoneGap的官网地址是 PhoneGap

  1. APICloud

APICloud是一款“云端一体”的移动开发平台,信仰“云端一体”的理念,重新定义了移动应用开发。APICloud为开发者从“云”和“端”两个方向提供API,简化移动应用开发技术,让移动应用的开发周期从一个月缩短到7天。APICloud由“云API”和“端API”两部分组成,可以帮助开发者快速实现移动应用的开发、测试、发布、管理和运营的全生命周期管理。

APICloud使得开发者基于JavaScript便可开发出iOS与Android跨平台APP,它提供了丰富的APP模块组件,通过简单的拼装组合便可具有一定的功能。集成的IDE开发环境支持调试功能,可以边开发边调试。

APICloud的官网地址是 APICloud跨平台APP开发技术专家 - 中国领先移动云服务平台

  1. AppCan

AppCan是基于HTML5技术的Hybird跨平台移动应用开发工具。开发者利用HTML5+CSS3+JavaScript技术,通过AppCan IDE集成开发系统、云端打包器等,快速开发出Android、iOS、WP平台上的移动应用。AppCan的平台由以下几个部分构成:

(1)IDE工具:基于Eclipse定制的移动集成开发环境。

(2)应用引擎:支持HTML5应用运行的支撑平台。

(3)插件API:扩展方式,原生能力,通过标准化接口调用。

(4)JS SDK:对底层的接口进行高级封装的开发库。

(5)开放服务:标准接口,无限扩展的互联网能力。

(6)UI框架:界面外观,包括布局、颜色、风格等。

AppCan将APP底层复杂的原生功能封装在引擎、插件中,开发者仅需调用接口、打包编译,就可以获得原生功能,灵活的插件扩展机制可以让开发者自由的定制各种功能。

AppCan的官网地址是 AppCan中国Hybrid混合应用开发、移动平台、移动云平台的领导者

  1. weex

2016年4月21日,阿里巴巴在Qcon大会上宣布跨平台移动开发工具Weex开放内测邀请。Weex能够完美兼顾性能与动态性,让移动开发者通过简捷的前端语法写出Native级别的性能体验,并支持iOS、安卓、YunOS及Web等多端部署。对于移动开发者来说,Weex主要解决了频繁发版和多端研发两大痛点,同时解决了前端语言性能差和显示效果受限的问题。开发者只需要在自己的APP中嵌入Weex的SDK,就可以通过撰写HTML/CSS/JavaScript来开发Native级别的Weex界面。Weex界面的生成码其实就是一段很小的JS,可以像发布网页一样轻松部署在服务端,然后在APP中请求执行。相比于其他开发框架,Weex更加轻量,体积小巧。它的Native组件和API都可以横向扩展,方便根据业务灵活定制。Weex渲染层具备优异的性能表现,能够跨平台实现一致的布局效果和实现。对于前端开发来说,Weex能够实现组件化开发、自动化数据绑定等功能。

Weex的官网地址是 http://alibaba.github.io/weex...

  1. wex5

WeX5遵循Apache开源协议,完全开源免费,它提供上百个组件框架,可视化的组件框架。开发者可自定义向导和模版,并且其提供了许多bootstrap资源,支持引入第三方UI组件。能够对接即时通讯推送支付等各类插件。wex5提供了丰富的应用模版,开发者可根据需要方便的生成各类应用。

wex5的官网地址是 app开发工具,html5 app开发,app软件开发,Hybrid APP,html5开发工具,前端框架,前端开发工具,快速开发平台


来源:SegmentFault 思否