欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  web前端

自己写HTML用Cordova打包与用AppCan、Dcloud、WeX5、ApiCloud有何区别?

程序员文章站 2022-04-09 17:42:54
...
本人是一个移动开发/web开发入门者,想问一下,自己编写HTML用Cordova打包,和会用ApiCloud、AppCan、Dcloud、WeX5等工具有什么区别?

我自己写过简单的几种HTML网页(工程):
1)用纯HTML+js+jQuery写过;
2)用jQueryMobile写过;
3)用Phaser[dot]io写过;

这几种方式生成的网页,都用Cordova打包生成apk文件,方法非常非常简单,就是安装Android Studio + npm + cordova,因为Android Studio自动会提供Android SDK/JDK,Cordova就可以自动检测到了,根本不需要像网上以前的文章还要自己安装那么麻烦。而用Cordova的话,几个命令非常简单,再加上签名 keytool -genkey 和 jarsigner ,一分钟就可以讲一个HTML网页工程打包成 apk,并在自己的android手机上安装运行。

我发现,用jQueryMobile生成的APK很慢,使用效果很不舒服,也没深入研究过为什么。
我还发现,Phaser[dot]io生成APK效果非常差,兼容性非常差,不会再考虑碰它了。
我发现,用纯HTML+jQuery生成的APK,效果好极了,比在PC或者手机浏览器上打开对应的网页,速度快的多,感觉很棒。

我其实想知道,我是否只要学习Cordova就够了?因为它那么简单、那么方便快速,而且是本地生成的,不需要什么云端打包(将自己的代码上传到别人的云上,心理真的很不舒服,只有我一个这样吗?)。那么,为什么还需要Dclout(HBuilder), ApiCloud, AppCan, WeX5, 白鹭, Cocos2d-js等等那么多工具呢?这些工具是不是只是对Cordova的封装?还是各自有各自长处呢?

另外,现在网上人们所说的“Hybrid APP"开发,是不是就是指用Cordova开发呢?还是专门指用Dclout(HBuilder), ApiCloud, AppCan, WeX5, 白鹭, Cocos2d-js的开发呢?

回复内容:

其实这类的对比在DCloud网站上有,这篇文章写得比较详细:文档 - DCloud问答
Cordova的功能、性能与DCloud的系列产品组合相比,还是差很多的。
DCloud也一样支持本地打包。
前端框架是绝不能用jQueryMobile的,DCloud出品的开源框架mui的性能是目前已知的前端ui框架里效率最高的。 我用Cordova打包和那些框架还真没什么差别,都是混合模式的开发框架,Cordova相对还更开放和主流另外:WeX5就是基于Cordova的,可视化设计和打包向导都做的相当不错,还是免费开源的,强烈推荐
WeX5的打包工具适合所有的Cordova项目,自己做的页面也可以用WeX5打包,我现在都不用Cordova命令行打包了,还是有工具好使
没什么区别,都是做的一样的事情。

只在很早期用过appcan,如有错误可以指正。

cordova开源免费,插件github上找。

appcan企业版应该要几万块吧,部分插件也收费的样子。

不过呢,appcan毕竟面向国内开发者,云端打包,没有很复杂的环境配置和硬件需求,比较符合国情。

然后cordova的插件很多是外国人写的,虽然都是开源免费,但是在国内由于墙的原因有些插件不太好使,比如定位和gcm。 题主说的phaser.io不是一个html5 game engine 的官网么?又不是打包工具 个人感觉还是应该看自己的实际使用情况,如果就是自己的应用不复杂,并且自己还有些原生的开发能力,可以直接用Cordova就好了,一切自己搞定。不用依靠这些国内平台了。
但是如果应用比较复杂,要用到很多HTML之外的功能,还想做的体验好点,就要考虑使用这些国内的平台的产品了。总体而言,这些产品都不够完美和成熟,但是国外也没有更好的产品了。这些国内的平台起码还能适配国内的手机和支持国内的服务。更实际点。
本人11开始做移动应用开发,最开始搞IOS开发,后来做外包省成本就一直用AppCan,虽然有各种问题但一直也能齐活,现在做一个幼教类的产品正在尝试用APICloud,以下是本人的一些体会,供楼主参考:
AppCan:
优势:从12年开始一直用,出来的很早,感觉不错,工具、平台、服务都相对比较稳定,好像很多大的国企也在用.
缺点:现在更新和完善不是很及时,一般几个月出一个版本,一些新功能不及时能用。
ApiCloud:
优势:互联网公司,感觉挺草根的,但是推广的很猛,社区挺活跃,各种水平的开发者都有,学习的人分享的东西挺多,做出来的应用体验确实是所有中最好的,应该是内部执行引擎很牛。产品是云端一体(但没有用过他们的数据云),编码工具不是一个集成的工具,是未各个工具提供插件,而且这些插件都开源了,可以自己修改,像自定义代码提示。像我一直用Sublime,这一点就很好,这些扩展插件想真机同步,打Log都挺方便的。
缺点:更新的太快,API不太稳定,有的时候更新的模块出问题,每次他们升级玩都得把自己的应用测试下。在某些安卓手机上优化的有问题,没有AppCan稳定。
Dclout(HBuilder):
优势:Dclout的其他服务没具体用过,HBuilder用过,还是一个很不错的编辑器,整体体验还是不错,像代码提示很智能,基于Eclipse的二次开发能做出这样也挺厉害了。特别是对HTML语法支持浏览器兼容性很好。有个前端框架写CSS挺省事的。
缺点:HBuilder Size太大,而且还得联网使用,整体体验还是Eclipse风格,相比我还是推荐使用Sublime。主要是做出了的应用就是网页的体验,这个实在是不适合用来做应用。做个WebApp还行。
WeX5:没有用过,之前看过他们的一个视频,一个女的讲的,感觉是说照着搞念,一个语气下来,没太耐心看下去。不过推广做的好像也挺猛的,公司好像也是挺大的,但是做出来的应用体验如何没有具体测试过,不做具体评论。
白鹭, Cocos2d-js:这两个应该是做网页游戏的引擎,不是用来做应用的。

到底要用那个其实我感觉也很简单,他们的宣传上都有很多的案例,调几个有代表性的安装到几个手机上运行看看体验就行了。看他们的代码也很简单,用他们开发的应用的网页代码都是在ipa和apk安装包中放着的,把后缀名改成zip, 直接解压出来直接就能看代码了。很简单。 比较熟悉APICloud,答一下吧。

Cordova是把Webapp打包成可以独立安装的应用,推荐使用HTML5,JS,CSS完成应用,提供了一些跨平台的,HTML5或前端暂无法实现的接口。
受手机浏览器的影响,页面的切换和复杂点的交互跟原生应用体验差距明显。

APICloud弥补了一些Webapp的略势,一些用前端实现性能不佳的功能,采用原生语言(Object-C,JAVA)实现,比如最常用的页面切换是基于webview的原生语言实现的,每个页面都是独立的webview。此外还有大量的原生接口提供(设备访问,界面布局,开放SDK等),所有的接口都是以JS形式提供的,前端很容易上手。这种混合应用的形式也是当前比较合理的形式,前端处理比较擅长的页面布局,UI展现,及简单的交互,原生模块负责耗性能的,不易实现的功能实现,彼此联系起来形成一个完整的体验良好的应用。

同时APICloud也提供了云数据库的功能,前端不必了解PHP,Node.js等后端语言,自己通过JS接口或Restful API实现数据库的增删改查。