几款移动跨平台App开发框架比较

2018-06-22 08:06:04 织梦安装使用
  • 文章介绍
国家电投集团信息技术有限公司

近年来,随着硬件设备和系统平台的不断发展,手持移动设备的计算能力得到了显著的提高,智能手机和平板电脑已经越来越多地出现在人们的日常生活之中,加之诸如重力感应、GPS 模块、蓝牙模块、WIFI 接入等特色功能的支持,移动平台的应用领域必将融入并逐渐取代传统的计算机设备;同时,互联网早已深入到了人们生活和工作中的每一个角落,随着新一代 4G 网络技术的普及与发展,基于传统 2.5G 网络的 WAP 应用时代也逐渐地退出历史舞台。在此背景下,移动互联时代便应运而生,所谓移动互联即是指智能的手持移动设备与互联网在高速发展中,相互结合、相辅相成而造就的时代产物。

由于当前主流的移动平台之间互不兼容,针对不同的移动平台系统,当前并没有可以兼容的应用开发接口和语言;当前,使用 Object C iOS 和使用 Java Android 应用开发技术,几乎是完全无法融合的。

从应用开发的角度来说,同样的程序逻辑却不得不在多个平台上使用不同的语言和 API 重复编码;从代码维护的角度来说,针对同一个项目需要同时维护多份代码,一旦程序逻辑发生变化,将导致大规模的代码修改与回归测试;另外,从经济角度来说,要同时开发和维护多个平台的应用程序,将花费企业巨大的人力和时间成本。

为了解决上述问题,跨平台的移动应用开发技术逐渐地引起了开发者的关注。不难看出,面向不同的终端平台和开发语言,要实现应用开发的兼容性,其实只有两条可行之路:其一是采用不同平台都认可的标准技术,其二是采用已被成熟使用的现有技术。随着技术的发展,我们已经看到许多基于Web技术的移动开发框架,现在你只需要牢固掌握HTMLCSSJavascript技术就可以开发出一个移动App来。对于大部分Web开发人员,HTMLCSS Javascript是他们最熟练的开发技能。

移动跨平台APP开发框架特性

目前流行的跨平App开发框架几乎都包含以下特性:

1. 使用 HTML5 + CSS + JavaScript 开发

2. 跨平台重用代码

3. 丰富的UI

4. 提供访问设备原生APIJavaScript API 包装器

5. 解决原生开发中机型适配的难题

6. 提供打包、部署的工具或服务

7. 都需要学习自身封装的 JavaScript API

筛选框架的要求:

1. 性能:运行速度快

2. UI:提供接近原生的UI体验

3. 插件多,文档丰富,开发效率高,容易扩展和维护

4. 满足业务需求

 

几款移动跨平台APP开发框架比较

2.1 Cordova

Cordova PhoneGap 的区别?

PhoneGap Apache Cordova 的一个分发版,就像 Ubuntu 是 基于 Linux 的一个发行版,其代码库也基于 Cordova,只是 PhoneGap 关联了 Adobe 的一些额外的商业工具或服务,例如 PhoneGap Build Adobe Shadow,来帮助开发者简化开发。此外,两者提供的CLI工具、项目结构有差异,如:Cordova config.html 放在项目目录下,而 PhoneGap 把它放在www 目录下。

优点:

1. 开源免费,社区生态成熟,插件丰富

2. 支持离线场景应用

3. 开发工具选择空间大

 

缺点:

1. 只提供基础访问设备的接口,需要自己搭配其他UI框架和JavaScript框架

 

2.2 Ionic

Ionic = Cordova + AngularJS + 一套样式库。

优点:

1. 基于 Cordova

2. 漂亮的界面,追求性能,专注原生,免费开源

3. Angular JS MVVM 开发理念,数据双向绑定

4. 继承自 Cordova,可以使用 Cordova 的插件

缺点:

1. Angular JS 学习路线陡峭

2. Ionic 框架相比于原生的 Cordova 有所差异,Cordova 某些官方插件可能不适用于Ionic

 

2.3 AppCan

通过AppCan IDE集成开发系统、云端打器等,快速开发出AndroidiOSWP平台上的移动应用。有两种方式创建项目:IDE 和云端,并且IDE可以同步到云端。免费用户有100M空间、50个应用的限制。

优点

1. 提供一体化解决方案,方便环境搭建、开发、调试、发布

2. 框架自带UI包,包含常用控件样式

3. 框架对UI、动画渲染进行过优化,反应速度快

4. 支持本地打包、云端打包

5. 基于密钥的代码加密

缺点

1. 不开源,无法修改、优化底层代码

2. 分大众版和企业版,大众版免费,但功能有缺失,详见企业版和大众版主要区别

3. 暂不支持自行开发控件/,无法调取android原生功能

4. 框架自带功能过多,导致应用安装包偏大。

5. 文档偏少

6. 部分系统无法使用IDE进行调试

7. 只能在服务器端发布,无法在本地发布

8. IOS发布,需要将证书上传至服务器

企业版和大众版主要区别:

Ø 开发环境:

企业版走独立的开发环境与打包环境,企业版配备mac mini打包服务器,可以实现本地环境下创建项目,调试,打包;

大众版不管是创建项目还是打包都需要依托于官方的服务器,需要在联网的情况下进行,打包需要将源码上传到官方服务器进行打包;

Ø 版本控制:

企业版独立控制引擎插件的版本;

大众版官方统一维护,官方换哪个版本开发者就需要使用哪个版本,没有选择;

Ø 协同开发:

企业版可通过mac mini后台分配开发者或者应用管理员帐号,可实现协同开发

大众版不能满足协同开发

Ø 推送API接口

企业版有推送API接口

大众版没有

Ø 售后服务:

企业版有独立的售后团队

大众版的入口是论坛

2.4 Dcloud

 

优点:

1. 国内厂商,中文文档

2. HTML5的性能、工具、能力都做了深入扩展,提供 IDE 、云服务等帮助节省时间

3. MUI 更贴近国内App使用习惯,提供模块的详细例子,如登录,个人中心

缺点:

1. 部分操作需要具备原生开发经验,如离线打包App

2. 新产品仍然有bug,还需改进

3. 云编译必须联网获取AppId

学习路线:

 

2.5 APICloud

优点:

1. 不懂原生开发,不懂后台语言就可完成APP

缺点:

1. 更新速度快,版本不够稳定

2. 面向不懂App开发人群,不适合程序员和科技公司,过度依赖会降低技术水平

3. 涉嫌抄袭DCloud大量代码

2.6 React Native

优点

1. 能够在JavascriptReact的基础上获得完全一致的开发体验,构建世界一流的原生APP

2. 仅需学习一次,编写任何平台。(Learn once, write anywhere)

缺点:

1. 初次学习成本高

2. 必须在不同平台下写两套代码,依赖暴露的接口

总结

经过一番对比,感觉 Cordova DCloud 更适合项目开发

原因如下:

Cordova生态成熟,有更多可搭配工具使用,开源代码可自由定制前端框架famous Framework7

DCloud国产软件,开源免费,性能不错提供云服务帮助打包和部署、测试,降低一部分门槛,减少时间前端框架MUI

其他框架不适合的原因:

APICloud生态不好,名声不好,面向群体不适合;

AppCan闭源,商业化产品,免费版限制太多;

IonicAngularJS 学习曲线陡峭,需要时间;

React Native学习成本高

 

 

参考文献:

https://www.cnblogs.com/soulaz/p/5586787.html

http://www.360doc.com/content/16/0331/21/16915_546912484.shtml

https://www.cnblogs.com/songxingzheng/p/6482697.html

http://blog.sina.com.cn/s/blog_626321140102wwdy.html

http://blog.csdn.net/jingwen3699/article/details/68922905

http://blog.csdn.net/daimomo000/article/details/54728804


    上一篇:html5点击按钮酷炫云雾动画弹出文字..

    下一篇:没有了

    相关文档推荐

    精品模板推荐

    专业的织梦模板定制下载站,在线购买后即可下载!

    商业源码

    跟版网模板,累计帮助5000+客户企业成功建站,为草根创业提供助力!

    立刻开启你的建站之旅
    
    QQ在线客服

    服务热线

    织梦建站咨询