风格:简约而不简单

许多网友反馈:对CabloyJS里面的概念很陌生,不知从何下手

不同的语言和架构理念决定了一款框架的风格。为了做成一款真正好用的全栈业务框架,CabloyJS对真实业务需求背后的概念进行抽象、提炼,既要达到开箱即用的效果,又能灵活定制、二次开发

因此,这也决定了CabloyJS框架的整体风格是:简约而不简单。当您熟悉了这种风格,就会发现:原来真正舒服的开发体验就应该是这样

  • 举一个简单的例子

如果要实现业务数据的增删改查,代码可以设计得很简单,甚至不需要看文档就知道如何使用。那么,我们接下来引入一些真实的业务需求:

  1. 增加草稿副本,当我们修改草稿时,并不影响已经正式提交的数据
  2. 增加历史副本,记录数据的历史版本
  3. 增加审批工作流,业务数据从草稿提交后进行审批,通过后才转入正式副本
  4. 增加cms静态渲染机制:由于CRUD一般是后台管理,我们需要将数据静态输出,供前台系统访问,同时实现网站的SEO优化
  5. 增加目录、标签功能,方便数据的进一步整理和归类
  6. 以上这些特性如何提炼通用的概念,如何设计开发接口,如何灵活的配置(开启或者禁用某些特性),如何适配更多的业务场景(而不是仅适用于某一类业务数据)
  7. 这就注定了业务数据的概念是不简单的,但是CabloyJS却实现了简约的开发接口,既能开箱即用,又能灵活扩展

基础概念

建议您先阅读以下几篇文档,对CabloyJS的基础概念有个初步认知

基础知识

CabloyJS底层基于EggJS、VueJS、Framework7。这些底层框架的文档并不是必须要先看。CabloyJS提供了足够的样例和测试代码,方便我们参照着快速开发。建议先把CabloyJS项目运行起来,再逐步按需引入相关知识的学习

当然,如果事先有EggJS和Framework7的知识储备,那么就更容易理解CabloyJS在这二者基础之上做了哪些创新改造

体验

CabloyJS通过核心模块的组合对具体业务中常用的大多数功能和特性进行了封装和实现。因此,建议您先进入系统,大致试用一下CabloyJS提供的功能和特性

教程

在CabloyJS框架的基础上进行具体业务模块的二次开发非常快速、便捷。通过后面的教程章节,可以看到开发一个业务模块需要哪些步骤

EggBornJS

通过阅读EggBornJS章节,可以了解EggBornJS为了实现模块化为核心的架构模块化隔离,在EggJS的基础上做了哪些特性方面的扩展

CabloyJS

通过阅读CabloyJS章节,可以了解CabloyJS为了提升业务开发的效率和便利,提供了哪些核心模块

NodeJS工作流引擎

NodeJS工作流引擎是一个业务开发平台最核心的组件,通过阅读该章节,可以了解CabloyJS自带的工作流引擎如何简便、灵活、高效的支撑业务系统的开发

解决方案

在CabloyJS的基础上,针对不同业务场景实现了相应的解决方案,包括:

  1. Cabloy-CMS
  2. Cabloy-社区
  3. Cabloy-微信
  4. Cabloy-企业微信
  5. Cabloy-钉钉
  6. Cabloy-Uniapp

测试模块(test-****)

  • test-party是CabloyJS框架的测试模块,包含大量测试用例Kitchen-sink
  • test-flow是NodeJS工作流引擎的测试模块,包含大量与工作流相关的测试用例

当新建项目时,test-****模块会自动下载到项目所在目录中。这些测试模块既便于快速学习CabloyJS方方面面的知识点,又便于快速启动实际的业务开发。建议您关注并保持test-****模块的更新,以便及时获取最新的样例代码

核心模块源码

通过查阅CabloyJS提供的核心模块的源码,您会发现CabloyJS框架足够灵活,您可以进行深度的定制替换扩展CabloyJS提供的大量功能和特性