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