DCloud与APICloud的对比选择

Stella981
• 阅读 801

这两家目前应该说是市场占有率较高的国内团队。

DCloud官网上有一个比较:http://ask.dcloud.net.cn/article/237,抛开其中撕逼的部分,文章中基本观点我是非常认同的。

在此请允许我摘抄一些:

关于HTML5的重视力度不同

DCloud是专注于发展HTML5的,而APICloud是更关心iOS和Android的跨平台App开发。

DCloud有专业的HTML5开发工具HBuilder,除了开发App还是可以开发普通前端,包括手机浏览器版本和微信版本。

DCloud有mui框架,可以用于App,也可以用于手机浏览器和微信。这造成的结果就是,开发者使用DCloud产品,可以真正的跨平台,一套项目代码通过条件编译,可以变成手机浏览器版本、iOS App、Android App、微信App、百度直达号、360流应用,而APICloud开发一次,只能输出iOS和Android App。

对HTML5的价值理解不同

HTML5不如原生,所以需要扩展。但如何扩展,两家公司思路不同。

DCloud的产品命名就可以看出DCloud的思路,HTML5+的意思是基于HTML5做扩展,不做HTML5能做的事情。DCloud本身是W3C的会员,HTML5plus.org里的专家委员很多都是W3C的标准参与者,不会重复立项HTML5可以做的事情。

原生有40多万API,DCloud的思路是HTML5Plus来解决28原则里最常用的跨平台API,比如barcode、file,尽量控制封装层的厚度,减少runtime的体积。然后DCloud开发了Native.js技术,来解决剩余40w原生API的调用问题。此外DCloud还提供了5PlusSDK,也支持三方开发者开发原生插件。

APICloud的思路不是这样,他统统写原生控件,比如城市选择这些业务也通过原生控件来实现。APICloud做了模块市场,希望其他人也来做封装。但问题是这个市场真的存在吗?交易流通能活跃吗?

结论:DCloud的runtime更小,API更多,40w原生API都可以调用。当然Native.js开发需要些原生基础,这和APICloud模块开发需要原生基础一样,但Native.js的门槛更低、并且是开放自由的,DCloud提供了大量的现成Native.js示例代码。以及DCloud的5PlusSDK的开放性比APICloud的模块开放性更好。

至于APICloud,它的runtime包体积更大,能力更少,虽然看起来模块较多,但质量和可用性并不好,有问题也无法自己修改。

对开放性和开发者自定义权力的理解不同

DCloud很在意开放性,ui部分的核心,mui是基于MIT的开源协议,完全允许开发者自己随便改。

但APICloud的ui大多是原生封死,不开源也无法自己定义。而ui是app里非常个性化的部分,经常需要改。

DCloud允许本地打包,开发者可以自由内嵌5+SDK,开发者不用担心代码必须提交给DCloud的服务器。但APICloud只能使用他们的云打包,代码必须提交到他们的服务器。对于很多内网开发者,这点更无法接受。

DCloud支持开放的规范,DCloud本身是W3C的会员,参与HTML5规范的制订讨论,HTML5Plus.org也是一个三方公立组织,允许任何厂商按照HTML5+规范来开发实现自己的runtime,甚至APICloud也可以按照HTML5+规范来开发自己的产品,这样开发者开发一次,就可以有更多终端可以使用。但APICloud是是自己定义的api,上升不到规范高度。

开发便利性

众所周知,HBuilder是业内一流的HTML5开发工具,代码提示、用户体验、极客风格、真机运行、边改边看,拥有众多创新,让开发者开发和调试过程更爽更高效。

HBuilder有最全的语法库和浏览器兼容性,有强大的js解析提示引擎,APICloud的代码提示功能弱很多。

HBuilder支持iOS设备真机运行和日志反馈,还可直接定位行号。

前端框架的比对

DCloud有开源的mui框架,小巧、漂亮、高性能。这对于开发者非常重要。

而且DCloud就基本js操作推荐使用原生,没有依赖jquery或zepto。因为手机端都是webkit内核,基本js操作无需再封一层框架,多封装一层反而降低执行效率。

APICloud的前端框架并不是ui框架,而是在zepto上改了一个js框架,去掉了一些功能,后期apicloud也推出了自己的开源框架aui。

DCloud重视精品App,APICloud重视入门新手

DCloud认为HTML5要起来,需要精品App,我们极力在改善高级开发人员的体验,因为我们知道这样的人才能做出精品App。所以很多大公司都在使用DCloud的产品,比如360、大众点评、csdn、明道等知名公司。

而APICloud更重视新手,强调从0开始30天完成App。

产品观不同

DCloud的产品观有2个特点,一个是极致,一个是节制。

我们在关键点上非常追求极致,通过突破创新来解决遇到的问题,我们要最全的语法库、我们要调用40万原生API,我们会突破这些技术难题。

同时我们又会极力控制HTML5 和mui的功能蔓延,控制封装层的厚度,控制runtime和mui的体积,保证每个新增的功能都精巧的解决关键问题。

但APICloud是遇到什么问题就增加什么功能,不停的用原生封装封装,功能越来越多,问题越来越多。

生态系统的不同

DCloud是做HTML5生态的,左边开发者,右边最终用户。

DCloud的流应用引擎是面向C端用户的,它能让一个客户端App在5秒内完成下载-安装-解压,省流量、省内存、省电。

目前DCloud的流应用引擎装机量已经上亿。在360手机助手里搜索大众点评外卖,可看到秒开按钮,这就是大众点评公司开发的流应用。

对于开发者,如何开发App找DCloud,App做好了如何发展用户也找DCloud,DCloud帮助开发者掌握业务最关键的部分,App的开发和推广。

APICloud只能帮助开发者开发App,不能帮助他们获得用户。

点赞
收藏
评论区
推荐文章
blmius blmius
2年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
Karen110 Karen110
2年前
一篇文章带你了解JavaScript日期
日期对象允许您使用日期(年、月、日、小时、分钟、秒和毫秒)。一、JavaScript的日期格式一个JavaScript日期可以写为一个字符串:ThuFeb02201909:59:51GMT0800(中国标准时间)或者是一个数字:1486000791164写数字的日期,指定的毫秒数自1970年1月1日00:00:00到现在。1\.显示日期使用
Jacquelyn38 Jacquelyn38
2年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
Wesley13 Wesley13
2年前
mysql设置时区
mysql设置时区mysql\_query("SETtime\_zone'8:00'")ordie('时区设置失败,请联系管理员!');中国在东8区所以加8方法二:selectcount(user\_id)asdevice,CONVERT\_TZ(FROM\_UNIXTIME(reg\_time),'08:00','0
Wesley13 Wesley13
2年前
Java日期时间API系列36
  十二时辰,古代劳动人民把一昼夜划分成十二个时段,每一个时段叫一个时辰。二十四小时和十二时辰对照表:时辰时间24时制子时深夜11:00凌晨01:0023:0001:00丑时上午01:00上午03:0001:0003:00寅时上午03:00上午0
Wesley13 Wesley13
2年前
00:Java简单了解
浅谈Java之概述Java是SUN(StanfordUniversityNetwork),斯坦福大学网络公司)1995年推出的一门高级编程语言。Java是一种面向Internet的编程语言。随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。Java是简单易学,完全面向对象,安全可靠,与平台无关的编程语言。
Stella981 Stella981
2年前
Django中Admin中的一些参数配置
设置在列表中显示的字段,id为django模型默认的主键list_display('id','name','sex','profession','email','qq','phone','status','create_time')设置在列表可编辑字段list_editable
Wesley13 Wesley13
2年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
Python进阶者 Python进阶者
3个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这