这是一个创建于 2527 天前的主题,其中的信息可能已经有所发展或是发生改变。
[ 玩转 LeanCloud ] 开发者经验分享:
投稿作者:斯宾特
我们奇点团队运营的是一款职业教育的产品,面向会计从业的人群,主要提供会计从业、初中级、以及注册会计师等领域的会计全方位服务。产品内容主要有试题、视频、论坛、直播等几大功能,通过应用和网页端打造全方位的会计学习生态系统。
从产品启动之初就决定使用 LeanCloud 为我们提供服务端数据存储、云引擎服务,至今已经快有两年了。正是得益于这些服务的便捷性,我们的技术团队得以保证产品功能能被及时高效地实现,所以在此分享下我们一路走来的一些体验。
由于是创业团队,对低成本和尽早上线的需求比较大,因此在技术选型方面,我们选择了不需要自建后端的 BaaS 服务。在前期的技术调研中,对比过国内外几家知名的提供商,经过对稳定性、功能性延展和价格等多个方面考虑,我们最终选择了 LeanCloud。它的优势在于技术的透明性比较高,经过测试稳定性也让我们比较信赖,而且领先的云引擎功能真正解决了传统 BaaS 仅仅提供特定数据接口问题,包括后来上线的云引擎分组等一系列功能更加证明了我们的选择是正确的。另外还有一个小小的原因是 LeanCloud 给我的印象十分极客,从产品到员工都有一种技术范,我认为程序员才最懂程序员。
我们的功能涉及试题、视频、直播、商品和用户系统几大模块。其中试题、用户系统等涉及大量的数据模型设计、数据存储和商品购买,网页端必然需要后端服务器的支持,而视频存储和播放需要高效的 CDN 支持,LeanCloud 都很好地满足了这些需求。技术实现方面,LeanCloud 为主流平台提供了相应的 SDK,开发文档也齐备,这让我们的整个接入过程进行得非常顺利。
值得一提的是,因为使用数据存储功能,客户端在请求逻辑上的代码量会比较多,这是这种技术方案的通病。我们前期因为数据设计不合理导致中期部分功能拓展十分痛苦,建议大家要仔细研究下相关的文档,设计数据结构之前对 Pointer 和非关系数据库的一些知识点做好功课,才好避免我们走过的弯路。
LeanCloud 在云引擎方面的优势,我认为是它超越其他产品的一个重要原因。传统的 BaaS 不能为移动端提动完全的解决方案,一些功能必须依靠服务端来维护,而将云引擎分组管理的功能更好地帮助我们将支付、网页功能服务,以及数据分析服务彻底拆分,使得我们的业务逻辑和管理更加清晰和高效;定时服务可以按时触发任务,例如完成一些在特定时间的数据分析;云函数功能可以我们处理过滤一些移动端返回的数据,尤其在数据有问题的情况下实时修复。当然整个数据存储一定要用好 ACL 功能保证数据的安全,毕竟所有的前端请求都是不可信的。
不过也有一些让我们吐槽的地方——非关系型数据库和 LeanCloud 的 API 让我们的数据分析很是头痛,毕竟没有 group by 查询都不会写了。
在技术支持方面,我只能用给力二字,不论工单的处理、电话沟通,还是技术回访,LeanCloud 都以最快的速度帮我们解决问题。有了 LeanCloud 的陪伴与支持,让我们这个小团队在创业的这两年也取得了一点点小的成绩。