Dcloud与APICluod选择指南_apicloud dcloud-程序员宅基地

技术标签: app  mui  APICloud  Hybrid App  Dcloud  uni-app  

在国内,开发 Hybrid App 大部分人会选择 Dcloud平台 或 APICluod平台。网络上也有许多的对比文章与互撕文章。在这些文章的背后还是没有准确的告诉开发者们应该如何选择。

本文只从实际开发来介绍两者的利弊,及如何做出正确的选择。

一、APICloud

优点:

  1. 文档全面

  2. 社区反馈问题能及时得到回应(小编反馈的建议和BUG官方都及时的做了改进和修复)

  3. 多窗口管理,布局自由度相对较高(能更好的适应多种布局)

  4. 入门要求极低(掌握 javascript,jQuery,vue 任一技术都可以进行开发工作)

  5. 窗口切换样式丰富(能满足部分杠精产品)

缺点:

  1. 因为布局自由度较高,开发效率相对于Dcloud平台而言较低(但能实现更多的布局,这也不能算缺点,而且可自由选择UI框架)

二、Dcloud有uni-app和MUI两种可供选择

A、uni-app

优点:

  1. 文档全面

  2. 能实现多端跨平台开发(本文只针对于开发 Hybrid App 作比较,但这一点也是uni-app的优势)

  3. 常用组件完备(通常情况下不需要引用其它组件,由框架提供的组件都能完成正常需求)
  4. 开发效率突出(应用的适配问题基本都已经处理,不需要开发者自己解决)

缺点:

  1. 组件全面,效率突出的背后约束也随之而来,布局自由度相对于APICloud平台而言较低(一个简单的例子,产品要求在标题栏添加一个“搜索”按钮,就不是很方便。PS:可以通过自定义标题栏实现)

B、MUI

优点:

  1. 入门要求极低(掌握 javascript,jQuery任一技术都可以进行开发工作。uni-app使用前最好先掌握Vue.js和小程序)

  2. 能实现多端跨平台开发

缺点:

  1. 文档超级糟糕(感觉demo的知识都比文档的全面)

  2. 文档和demo中的代码风格都不统一(mui.js明明已经有封装好的方法,但在源码示例中多处还是用的js原生)

  3. 文档中有多处基本的JS语法错误(先使用后定义,复制源码运行各种 not defined 对基础知识不足的新手不友好)

  4. 功能与UI耦合度太高(样式基本上是没得改了,类名全部与JS写死了,而且命名又长又臭)

根据自己的亲身经历总结出这两者各自的优劣势之后,分析一下如何选择。

  • 对页面及体验有较高要求则选择APICloud,就拿前面所说的在标题栏添加一个搜索按钮的常见布局,uni-app就不是很方便实现。为了避免更多类似的问题,选择APICloud会是更佳的选择(产品经理对布局有严格要求或者产品是个杠精,那就必须得选APICloud,别给自己找罪受
  • 对页面及体验要求不过分的情况下选择uni-app是最好的选择,效率绝对一级棒,以后有多端要求也能应对(因为有多端的需求,所以布局的自由度会有相应的降低
  • MUI的话能用uni-app的情况下绝对不选择(小编对它完全没兴趣,也没有去专门的学习和使用过,在帮助别人解决相关问题时,查看文档非常吃力,同时得查看MUI文档,demo源码,H5+文档)

文章阅读以这里,相信大家能做出正确的选择了,正确的选择合适的才是最好的。其实选择要看的要求并不多,就是“页面”和“效率”二选一,望本篇文章能对大家有所帮助。

选择合适自己的开发平台后,开发一款优秀的 Hybrid App 又该注意什么呢,可以阅读小编的原创文章《开发一款流畅的 Hybrid App 需要知道的事》。如果你真的选择了uni-app来做为多端开发的框架,在做这个决定前不妨先阅读小编的原创文章《“一套代码,多端运行”靠谱么?》后再做决定。

作者:黄河爱浪 QQ:1846492969,邮箱:[email protected]

公众号:web-7258,本文原创,著作权归作者所有,转载请注明原链接及出处。

更多精彩文章,请扫下方二维码关注我的公众号

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/u013350495/article/details/89289363

智能推荐

vbs画动态爱心代码_前端必看之如何用CSS3画一个八卦和爱心-程序员宅基地

文章浏览阅读719次。昨天雷雨交加,燥热有所缓解。今晨空气清新,再加上马上三天小长假,心情很不错,祝各位小长假玩的开心。那么,今天就用CSS3做些“不正紧”的事:画八卦和爱心。CSS3我们一般都是用来进行布局,在工作中很少会刻意去用它画画,毕竟这有点耗时间。一、八卦css3绘制八卦分析:它就是多个圆叠加的效果。1、给body加个背景色,否则看不清八卦的白色部分:body{background:#efefef;}2、画一..._vbs 画

7-1 列出连通集 (25 分)c语言实现_7-1 列出连通集 c-程序员宅基地

文章浏览阅读811次,点赞2次,收藏7次。给定一个有N个顶点和E条边的无向图,请用DFS和BFS分别列出其所有的连通集。假设顶点从0到N−1编号。进行搜索时,假设我们总是从编号最小的顶点出发,按编号递增的顺序访问邻接点。输入格式:输入第1行给出2个整数N(0<N≤10)和E,分别是图的顶点数和边数。随后E行,每行给出一条边的两个端点。每行中的数字之间用1空格分隔。输出格式:按照"{ v1v​2… v​k}"的格式,每行输出一..._7-1 列出连通集 c

VTK:多线条表示和渲染_vtk vtkpolyline 多线条-程序员宅基地

文章浏览阅读2.1k次。在VTK中表示线条的数据集是vtkPolyLine. 将其添加到vtkPolyMapper,然后在添加到vtkActor中进行渲染就可以看到一个线条。但如果要表示多个线条,则一个vtkPolyLine是无法满足需求的。此时有两个思路来处理: 1)创建多个vtkPolyLine来表示线条。渲染过程,可以选择用多个vtkActor来分别渲染每一个vtkPolyLine。 2)使用vtk_vtk vtkpolyline 多线条

未能加载文件或程序集“System.Data.SqlClient, Version=4.6.1.1, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a”_vs2022 在更新system.data.sqlclient’程序集 时,找不到4.6.1.5版本-程序员宅基地

文章浏览阅读2.6k次。在使用新的VS2019的时候,创建一个三层架构,发现DAL层的using System.Data.SqlClient;会报错,显示无效,我引用dll文件没有找到任何程序集;又从管理NuGet程序包下载了System.Data.SqlClient,报错消失了,但是运行会显示找不到文件,但我明明已经下载了。于是只能上网寻找答案,发现了这么一篇文章https://blog.csdn.net/weix..._vs2022 在更新system.data.sqlclient’程序集 时,找不到4.6.1.5版本的程序包syste

springboot集成swagger添加消息头(header请求头信息)_springdoc swagger header-程序员宅基地

文章浏览阅读1.3w次,点赞3次,收藏6次。springboot集成swagger上篇文章介绍: https://blog.csdn.net/qiaorui_/article/details/80435488添加头信息:package com.rails.travel.conf;import java.util.ArrayList;import java.util.List;import org.springfram..._springdoc swagger header

ISE include 头文件错误的解决办法_hdlcompiler:69 - "f:\ise_projects\conl\conl.v" lin-程序员宅基地

文章浏览阅读2.5k次。在ISE 14.7里面,如果hdl的头文件和verilog文件不在同一个文件夹下,直接添加文件就会i包含失败,而且无法实现综合。错误代码是ERROR:HDLCompiler:281 :ERROR:HDLCompiler:281 - "C:/Users/lingking/Desktop/my_cpu_az/bus/src/bus_arbiter.v" Line 22: Cannot open include file "nettype.h".ERROR:HDLCompiler:281 - "C:/..._hdlcompiler:69 - "f:\ise_projects\conl\conl.v" line 54: is not declare

随便推点

STM32F407 读保护,写保护,解锁过程【芯片已设置读保护,无法读取更多信息】...-程序员宅基地

文章浏览阅读1.2w次,点赞5次,收藏41次。问题描述: 从ISP方式连接STM32F407开发板,无法读取任何数据,无法下载程序。DTR电平置高(+3-+12V),复位RTS置高(+3-+12V),选择进入BootLoader...延时100毫秒DTR电平变低(-3--12V)释放复位RTS维持高开始连接...104, 接..._芯片已设置读保护,无法读取更多信息

meethigher-腾讯课堂自动签到-程序员宅基地

文章浏览阅读7.7k次,点赞6次,收藏20次。腾讯课堂腾讯课堂实现自动化原文链接腾讯课堂以及文库下载实现自动化打开chrome浏览器(其他的也可以,chrome最好啦)。打开开发者工具,直接将代码复制到console栏,按enter键即可。如果还不会用,就点击上面的那个链接。1 开启自动任务自动送花开启一个3秒送花的定时器:let flower=setInterval(function (){ document.getElementsByClassName("toolbar-icon")[2].click(); cons_腾讯课堂自动签到

kvm上的Linux虚拟机使用virtio磁盘-程序员宅基地

文章浏览阅读1.1k次。kvm上的Linux虚拟机使用virtio磁盘系统:centos6.6 64位网上的文章比较少,怎麽将Linux虚拟机的磁盘改为使用virtio磁盘因为centos6或以上系统已经包含了virtio驱动,所以不需要再执行下面语句加载内核模块modprobe virtio virtio_pci virtio_blk virtio_netmkinit...

Zookeeper报错Will not attempt to authenticate using SASL解决办法_will not attempt to authenticate using sasl (unkno-程序员宅基地

文章浏览阅读5.2k次。2.在hbase的conf下hbase-site.xml下配置hbase.zookeeper.quorum这个属性,具体原因看网上有个解释不错在master所在的pc上启动start-all时,内容提示所有的regionserver已经全部启动。二、这个问题的出现,会伴随一个非常奇怪的现象。1.首先确定本地的zk版本跟服务器的zk版本是否一致,简单的就是看依赖的jar包,去zk的安装包下找对应的jar包直接跟本地的比较,操作hbase出现这种情况就是hbase安装目录的lib下找,确定版本一致。..._will not attempt to authenticate using sasl (unknown error)

CompletableFuture异步任务编排用法和详解-程序员宅基地

文章浏览阅读1.4k次。在工作中,常常会调用多个服务或者方法去获取不同的数据,如果传统做法就是串行一个个获取,然后封装返回。我们可以尝试使用CompletableFuture,将多个操作交给异步线程执行,然后主线程等待最长任务完成,将所有结果一并返回即可。Future局限性当我们得到包含结果的Future时,我们可以使用get方法等待线程完成并获取返回值,但我们都知道future.get()是阻塞的方法,会一直等到线程执行完毕拿到返回值。我们可以看到FutureTask中的get方法,就是循环代码直到线程执行完成返回。 .

nodejs的十六进制和字符串转换_node.js 判断是否十六进制-程序员宅基地

文章浏览阅读9.7k次。const Hexstring2btye = (str)=&gt; { let pos = 0; let len = str.length; if (len % 2 != 0) { return null; } len /= 2; let hexA = new Array(); for (let i = 0; i &lt; l..._node.js 判断是否十六进制

推荐文章

热门文章

相关标签