想念ionic的好,从dcloud又转战回来了(文章较长)

    xiaoxiao2025-10-14  2

    基于之前有写过一篇ionic对比国内APICloud和dcloud的文章,觉得再开一篇对比文似乎不是很有必要。但是最近回到国外看到了ionic的更新之后,还是很想不要脸的写写ionic的新优势。

    五月份回的中国,一直待到九月份,期间一直在研究dcloud。可能因为回国太懒,几个月的时间过来发现自己还真是搞不定dcloud。而且在开发的时候,前端就已经是一个很蛋疼的东西(主要是因为自己前端技术实在太菜),后台的代码更是没时间完成了。我自己在dcloud开发时面临的坑也比较多。

    第一坑,前端作为我前期最费时间想弄懂的东西,但是偏偏在看不懂官方文档有难题的时候,社区和技术咨询的dcloud短板就比较明显。往往是自己先百度或者google了实在找不到解决的方法,然后上社区去搜索和咨询也久久找不到合适的答案。其实后来分析了一下也不能全怪dcloud,平台的受欢迎程度很大的决定了开发者的投入和支持。

    第二坑,相对于ionic的angularjs,dcloud的mui前端和结构上,自己并不觉得比相对结构复杂的angular和ionic好接受。直到后来发现可以在mui中使用vue.js才算是一个比较好用的组合。在数据处理和功能划分上使用vue.js会令开发加速。但是会觉得页面文件很臃肿。

    第三坑,开发工具上的hbuilder,起初用的时候觉得还行,但是后来用久了居然会自动崩溃然后重启,而且在插件支持上也没有其他编辑器好用。

    第四坑,或者这点是自己还为研究到更好地解决方案。dcloud的开发给我觉得还是没有前后分离。这点如果能有优化,对开发者来说来说也是重大利好,加速开发的优势。

    说了这么多,就没坑了吗?nonono, too young, too simple。最后一点也是我觉得最重要的一点,如果说前面的坑都是留给开发者的,那现在这个软件运行的流畅度的坑,应该是用户能感受到最明显的。ios和android的运行流畅度差异化就自己的项目来看,没有ionic控制得好,ios的运行流畅度是值得肯定的,但是android上的体验简直就是给我感觉像是在用nokia的功能机,当卡顿到你无法忍受但是手机又摔不烂的那种(当然也有自己可能没对代码优化的原因)。但是android上面切换进入页面的时候会有一种一帧一帧,整个页面区块下载的感觉,这点始终没有找到方法解决。

    最后总结一下使用dcloud的原因,在国内真心是对国内环境优化非常好,本身自带或者整合的插件链接和调试都比较简单。有完整的mui延时项目,便于新手入门时查看,对新手来说简直是新世纪的福音。

    再回来到ionic身上,在九月份回到土狼屯的时候看了一下ionci的更新状态。明显的功能加入就是creator和angular2的更多支持。先说说creator,这次简直是大更新,由于前后都是creator的会员。新版的creator可以说是几乎可以让你脱离电脑上的代码编辑器,只需要使用在线的creator就可以完成开发,不可谓不强大。但是使用以后发现还是有一点坑,就是灵活性上的限制,creator支持drag&drop但是当你需要更复杂的页面设计时,你可以选择切换到一般的html编辑模式,但是就不支持drag&drop(所以就是一键切换深似海,从此simple是路人)。不过对于当今的开发场景要求,复杂是必须的,所以creator的局限性就明显了。新版的creator在插件和angular的支持上都是诚意十足,使用起来非常方便,功能上也满足了中端的开发需求,也支持团队合作开发。angular2的方面就不多说了,因为自己也没研究,只是应该根据项目的复杂性和难易程度去选择使用ionic1+angular1还是ionic2+angular2。

    其实这篇文章的主题是ionic的优势,好吧,前面跑题好久了。其实ionic的优势从他的产品线或者工具上就可以看得出来。ionic现在主要有:

    1. ionic前端+angular技术,用于开发。

    2. creator在线编辑器,用于在线开发。上手简单,适用于中低难度的开发。

    3. market,主题和插件市场,开发者的福音,新手的天堂。优点前面的文章有点到。

    4. ionic.io,在线的应用管理器,能在线管理查看应用的情况,包括:推送,分析,发布,打包,用户,反馈。

    5. playground,类似于codepen, jsfiddle等实时在线编辑器,轻量级的代码片段在线编辑和测试

    6. ionic db 即将上线的数据库。个人猜测是类似于firebase和wilddog的nosql实时数据库,开放内测注册中:http://ionic.io/db。

    7. ionic lab可视化的ionic项目调试客户端,有console调试,build,模拟调试和插件管理等功能。

    8. ionic CLI,ionic lab 的 command line版本,功能十分强大并且完整。自己现在也抛弃ionic lab直接使用CLI。

    9. ionic论坛,觉得有必要单独说一下,因为实在是活跃度高,而且支持好。所以觉得应该可以算是一个强大的“开发工具”。

    10. ionic creator app, 能在手机端查看在线的creator 编辑器里的app。

    11. ionic view用来查看自己本地或者ionic.io上开发的app或者market里面的各种插件和主题。

    如果有漏掉的还望补充。从这些工具和产品来看,ionic几乎包办了从前端到后台的开发,调试和打包,甚至是数据的处理。可以说ionic可以让开发者从开始到完成项目都在ionic的产品线上。

    觉得说了这么久都是在黑dcloud,但只是有必要的阐述和分析,我在国内开发的话当然希望有适合国内环境的开发技术和工具,有不足才有进步,也希望dcloud的运营,维护,更新和在新功能的开发上能迎头赶上。就ionic在国内而言,貌似ionic有用AWS,所以有些服务貌似连不上,前面的文章也有点到。ionic也有坑,就是各种插件导致的bug。这点在接下来几天可能会写的文章中点出来。

    写这篇文章的初衷是身边经常会有人问到的哪个平台好,我只能说我个人喜欢ionic。但是开发者自己喜欢和适用的才是最好的。

    夜了,洗洗睡。欢迎交流探讨。

    相关资源:python入门教程(PDF版)
    最新回复(0)