入门起步
如果您想在第一时间把CabloyJS全栈框架用起来,可以先查阅以下教程,对开箱即用
的效果和灵活定制
的机制有一个初步的认知:
0. 创建第一个CabloyJS项目
-
文档:快速开始(项目模式)
-
视频:B站:新建项目
1. 开箱即用起步
-
文档:教程:业务表单与审批流
2. 灵活定制起步
-
文档:教程:前后端开发基本流程
-
视频:B站:前后端开发基本流程
文档受众
咱们做软件开发,就好比是建造一幢幢房屋,一座座桥梁,既可以是北方宫殿的巍峨,也可以有南方庭院的雅致,更可以是横跨群山的峻险与孤悬。那么,不同的语言、不同的框架也都由其内在的秉质吸引着一批粉丝,坚持不懈的耕耘,营造出不同的生态,呈现出不同的开发风格和开发体验。正如Rails之于Ruby
,Lavaral之于PHP
,Django之于Python
,Spring Boot之于Java
。那么,又是什么之于Javascript呢?毋庸置疑,Javascript面对着更多的使用场景,前端、后端、移动端、IOT,等等。不同的场景都有出色的解决方案存在。而且,基于不同的使用偏好,又分裂出Javascript和Typescript两个风格体系。那么,基于业务开发而言,就目前的Node生态可以说,Nest之于Typescript
,Cabloy之于Javascript
正因为面对业务开发,不同的语言、不同的框架,会有不同的解决方案和风格体验。因此,不论您使用CabloyJS或者不使用CabloyJS,都有必要进来看看在坚守原生Javascript
(Vanilla JS)的土壤上,可以开出怎样的花朵。因此,不论您是前端开发
、后端开发
、全栈开发
,或者其他语言的粉丝
,或者技术经理
、产品经理
、项目经理
,都可以从CabloyJS提供的文档和视频中汲取不一样的解题思路和方法,相互交流,相互借鉴,共同进步!
在英语语境中,原生Javascript有一个专属名称:Vanilla JS。而Vanilla有香草🌿之意,看来所言不虚
语言 | 框架 |
---|---|
Ruby | Rails |
PHP | Lavaral |
Python | Django |
Java | Spring Boot |
Typescript | Nest |
Javascript | Cabloy |
CabloyJS是什么
CabloyJS
是一款自带工作流引擎
的 Node.js 全栈框架,面向开发者的低代码开发平台。实现了真正意义的“一次开发,到处运行
”的跨端跨平台理念。只需一套代码,即可同时实现B端中后台管理系统
和C端前台应用
。只需一套代码,即可同时跨端PC
和Mobile
,并且Mobile端
是接近原生体验
CabloyJS的框架风格与设计原则
1. 框架风格:简约而不简单
2. 设计原则:既能开箱即用,又能灵活定制
许多网友反馈:对CabloyJS里面的概念很陌生,不知从何下手?
不同的语言和架构理念决定了一款框架的风格。为了做成一款真正好用的全栈业务框架,CabloyJS对真实业务需求背后的概念进行抽象、提炼,既要达到开箱即用
的效果,又能灵活定制、二次开发
因此,这也决定了CabloyJS框架的整体风格是:简约而不简单
。当您熟悉了这种风格,就会发现:原来真正舒服的开发体验就应该是这样
1. 举一个后端的案例
如果要实现业务数据的增删改查
功能,代码可以设计得很简单,甚至不需要查阅文档就可以知道如何来使用
我们可以回想一下,是不是大多数其他的
后端MVC框架
或者后端API框架
所提供的增删改查
功能往往止步于此?
那么,我们接下来引入一些真实的业务需求:
- 增加
草稿
副本,当我们修改草稿时,并不影响已经正式提交的数据 - 增加
历史
副本,记录数据的历史版本 - 增加
审批工作流
,业务数据从草稿
提交后进行审批,通过后才转入正式副本 - 增加
cms静态渲染机制
:由于CRUD一般是后台管理,我们需要将数据静态输出,供前台系统访问,同时实现网站的SEO优化 - 增加
目录、标签
功能,方便数据的进一步整理和归类 - 针对以上所提及的这些功能特性,我们可以继续提出以下几个架构层面的设计问题:
-
如何
提炼通用的概念 -
如何
设计开发接口(既要达到开箱即用
的效果,又能灵活定制、二次开发
) -
如何
灵活的配置(方便的开启或者禁用某些特性)。正所谓:降维容易,升维难
。我们要先有这些功能,然后再根据业务需求来决定是否启用这些功能 -
如何
适配更多的业务场景(而不是仅适用于某一类业务数据),比如:博客文章、社区帖子、请假单、报销单、采购订单、合同、项目、资产、财务单据
,等等,不一而足
-
- 这就注定了业务数据的概念是不简单的,但是CabloyJS却实现了简约的开发接口,既能
开箱即用
,又能灵活扩展
参见:B站视频:新建业务表单+审批工作流
2. 举一个前端的案例
-
引入问题
:随着移动终端的普及和升级换代,大量业务场景都需要Mobile端的支持。那么,中后台管理系统如何更优雅的支持移动端呢? -
传统方案
:目前市面上大多数中后台管理框架都是采用css媒体查询
的方式来兼容PC端和Mobile端传统方案的弊端
:然而,PC端和Mobile端的界面交互体验不同,页面的布局也必然不同。因此,仅仅依靠css媒体查询
,只是让PC端的页面在Mobile端可用,但远远达不到原生Mobile端
的效果
-
全新方案
:CabloyJS提供了独树一帜的pc=mobile+pad
跨端自适应布局,只需要一套代码,同时兼容PC端和Mobile端,并且Mobile端达到原生交互体验全新方案的优点:
此方案同样也贯彻了开箱即用
+灵活扩展
的设计原则,具备简约而不简单
的风格。您所需要做的就是通过查阅文档
或者观看视频
来理解这套机制,在进行实际的前端页面开发时所需代码量非常精简,远比css媒体查询
简洁
参见:B站视频:独树一帜的跨端方案:pc=mobile+pad自适应布局
基础概念
建议您先阅读以下几篇文档,对CabloyJS的基础概念有个初步认知
基础知识
CabloyJS底层基于EggJS、VueJS、Framework7。这些底层框架的文档并不是必须要先看。CabloyJS提供了足够的样例和测试代码,方便我们参照着进行快速开发。建议先把CabloyJS项目运行起来,再逐步按需引入相关知识的学习
当然,如果事先有EggJS和Framework7的知识储备,那么就更容易理解CabloyJS在这二者基础之上做了哪些创新
和改造
- 前端
- 后端
体验
CabloyJS内置丰富的核心模块,对具体业务中常用的大多数功能和特性进行了封装和实现。因此,建议您先创建一个项目,运行起来,预览一遍CabloyJS提供的功能和特性。这样,当您开发自己的系统时,就知道该如何参考现有的范式,以收事半功倍
之效
- 参见:快速开始(项目模式)
免费视频课程
CabloyJS提供了一套免费视频课程。本套课程由CabloyJS作者健哥
亲自讲授,通过现场亲自编码实战,带您融入NodeJS全栈开发的现实场景中,从而可以快速提升开发技能、学完即可快速上手各类业务系统的开发
教程
在CabloyJS框架的基础上进行具体业务模块
的二次开发非常快速、便捷。通过这里的教程
章节,可以看到开发一个业务模块
需要哪些步骤
- 参见:教程:总览
EggBornJS
通过阅读EggBornJS
章节,可以了解EggBornJS
为了实现模块化为核心的架构
和模块化隔离机制
,在EggJS
的基础上做了哪些特性方面的扩展
- 参见:EggBornJS是什么
CabloyJS
通过阅读CabloyJS
章节,可以了解CabloyJS
为了提升业务开发的效率和便利,对哪些业务概念进行了抽象和提炼,并提供了哪些核心功能模块
- 参见:CabloyJS是什么
NodeJS工作流引擎
NodeJS工作流引擎
是一个业务开发平台最核心的组件,通过阅读该章节,可以了解CabloyJS自带的工作流引擎如何简便、灵活、高效的支撑业务系统的开发
解决方案
在CabloyJS的基础上,针对不同业务场景实现了相应的解决方案,包括:
测试模块/套件(test-***)
test-party
是CabloyJS框架的测试套件,包含大量测试用例
和Kitchen-sink
- 参见:test-party
test-flow
是NodeJS工作流引擎的测试模块,包含大量与工作流相关的测试用例
- 参见:test-flow
test-note
用于演示如何使用Markdown富文本编辑器
- 参见:test-note
这些测试模块/套件
既便于快速学习CabloyJS方方面面的知识点,又提供了丰富的代码范例,便于快速启动实际的项目开发。强烈建议您关注并持续保持test-***
模块/套件的更新,以便及时获取最新的样例代码
核心模块源码
通过查阅CabloyJS提供的核心模块的源码,您会发现CabloyJS框架足够灵活,您可以进行深度的定制
、替换
、扩展
CabloyJS提供的大量功能和特性
- 参见: 核心模块一览表
参与贡献
欢迎大家参与贡献,共同完善CabloyJS
全栈框架,这也是快速、深入学习 CabloyJS 的有效途径
License
MIT,可免费商用
评论: