我在自己折腾的几个练手的小应用中,使用了LeanCloud,在使用过程中还是有不少感触,总结一下,相信也代表了不少的个人开发者。
相信大部分个人开发者选择LeanCloud的第一原因,是追求:快速。表面也确实如此,lc提供了各种服务,正所谓专业的人做专业的事,开发者只需要集中精力在前端/客户端的开发,顺利的话,可能一两天就能利用LeanCloud搭建起了原型,对应用层面的开发者来说,似乎一个人就能完成一整个应用,确实很有吸引力。
但接触下来,发现还是有一些痛点:
- 后端服务,并不能代替后端知识。虽然Leancloud对各种后端服务进行简化和抽象,直接通过提供的SDK调用方法就行了,但开发者仍需要掌握后端中的一些通用知识,才能够玩转。比如说使用最多数据存储服务,实际上对应的就是数据库的概念,开发者首先需要掌握数据库的基本概念(且越深入越好),才能用好数据存储服务。
- 学习成本。虽然LeanCloud的文档写的很好,但实际上还是有一些瑕疵,可能会有一些隐藏的坑,另一方面也不可能覆盖到所有的需求和场景,我感觉用起来还是很累的,一边开发一边查文档。
- 黑盒。Leancloud对开发者可见的,只有文档了,开发者并不知道调用时发生了什么,一切顺利的情况下还好,如果报错了,就只能到文档中寻找答案,如果恰好这时候文档没找到答案,就比较悲催了,只能发工单(vip)或者到论坛提问,效率是比较低的。这也是前面说的,开发起来感觉累。而如果是自己写后端服务,碰到问题可以到搜索引擎中寻找答案。
- 技能的局限性。深入使用了LeanCloud之后,也许能做到对 LeanCloud 中各种功能和使用方法很了解,但如果有一天迁移了平台,或者自己写服务器,那这部分LeanCloud的知识几乎就没用了。熟练掌握LeanCloud数据存储服务的价值远比不上熟练使用MySQL。
- 其他一些局限和不完善之处。用LeanCloud作后端,就得接受这些限制,当然这些限制可能有LeanCloud开发团队的一些考虑在里面,但失去了一定自由度。
我觉得LeanCloud的优势,主要还是快速开发,节约开发成本,但开发体验的话,就不一定了。
LeanCloud 使用体验 - wuhuajiwhj.site