## CabloyJS是做什么的 CabloyJS是一款NodeJS全栈框架,通过前后端分离、模块化的架构设计,可以快速开发全场景业务。内置NodeJS工作流引擎、业务数据实现`草稿->正式->历史`全生命周期管理、角色授权、数据授权、Bean容器、明细表、消息推送,等一系列核心功能 CabloyJS所支持的开发场景见下表: |场景|前端|后端| |--|--|--| | PC:Web | CabloyJS前端 |CabloyJS后端| | PC:Exe | CabloyJS前端 + Electron |CabloyJS后端| | Mobile:IOS | CabloyJS前端 + Cordova |CabloyJS后端| | Mobile:Android | CabloyJS前端 + Cordova |CabloyJS后端| |微信公众号| CabloyJS前端 + 微信API |CabloyJS后端| |企业微信| CabloyJS前端 + 微信API |CabloyJS后端| | 钉钉 | CabloyJS前端 + 钉钉API |CabloyJS后端| | 小程序:微信、支付宝、百度等 |小程序框架|CabloyJS后端| * 后端:由于完整的前后端分离设计,只需开发一套CabloyJS后端代码即可 * 前端:所有可基于H5的场景,只需开发一套CabloyJS前端代码即可 ## CabloyJS的技术栈 CabloyJS所用到的技术栈如下: 1. 前端:VueJS、Framework7 2. 后端:KoaJS、EggJS ## CabloyJS的架构图 ![cabloy-2x](https://portal.cabloy.com/api/a/file/file/download/f32fde552d6445419bbc760cb58f7150.png) 1. egg-born-front:整合VueJS、Framework7 2. egg-born-backend:整合KoaJS、EggJS 3. EggBornJS:整合egg-born-front和egg-born-backend实例了一个前后端分离、模块化的基础架构 4. CabloyJS:在EggBornJS的基础之上,提供大量与业务开发相关的模块,如工作流引擎、权限管理、业务数据管理、明细表管理、消息推送,等等 ## CabloyJS的特性 ### - 第一部分: 基础功能 - [Bean & AOP](https://cabloy.com/zh-cn/articles/bean.html) 1. 几乎所有事物都是Bean 2. Bean支持AOP 3. AOP也是一种Bean - 基于`Redis`的分布式集群框架 - [Broadcast](https://cabloy.com/zh-cn/articles/broadcast.html) - [Queue](https://cabloy.com/zh-cn/articles/queue.html) - [Schedule](https://cabloy.com/zh-cn/articles/schedule.html) - [Startup](https://cabloy.com/zh-cn/articles/startup.html) - [前后端分离](https://cabloy.com/zh-cn/articles/f66dc04c64ca43fa9e8ea30312ca714f.html) - I18N - [后端](https://cabloy.com/zh-cn/articles/f6d5a48f10dc40d3b8aed7862c23570b.html) - [前端](https://cabloy.com/zh-cn/articles/1c7c9cf3861744c2a63ae134076c652f.html) - [主题](https://cabloy.com/zh-cn/articles/theme.html) - [多租户/多域名/多实例](https://cabloy.com/zh-cn/articles/44e45b3928ca4c6cb63809558145e000.html) - [测试驱动开发](https://cabloy.com/zh-cn/articles/990962d4e3604fc099c27806de6d6be8.html) ### - 第二部分: 业务功能 - [NodeJS工作流引擎](https://cabloy.com/zh-cn/articles/flow-introduce.html) - [自适应布局: pc = mobile + pad](https://cabloy.com/zh-cn/articles/adaptive-layout.html) - 拖拽 - [移动](https://cabloy.com/zh-cn/articles/dragdrop-move.html) - [调整尺寸](https://cabloy.com/zh-cn/articles/dragdrop-resize.html) - [仪表板](https://cabloy.com/zh-cn/articles/5c90f4fd15174772adb34dfbf6d1adfb.html) - [PC布局](https://cabloy.com/zh-cn/articles/28f14f839af5457b9243c9e9210d5324.html) - [统一数据管理](https://cabloy.com/zh-cn/articles/atom-basic.html) - [统一用户角色权限管理](https://cabloy.com/zh-cn/articles/535f42e8fb8c487fb33b88c9a9e56a7e.html) - [明细数据管理](https://cabloy.com/zh-cn/articles/detail-basic.html) - Socket IO - 统计值自动更新、自动推送机制 - [进度条](https://cabloy.com/zh-cn/articles/10327f8fdae44d87b7604ba3fa9c1a89.html) - [内置大量核心模块](https://cabloy.com/zh-cn/articles/e678d328cb5b4efdaf5d60c8df1ca691.html) ## 在线演示 CabloyJS采用自举策略,所有官方博客、社区、商店也是采用CabloyJS开发的 |网站类型|网站链接| |--|--| |博客|[https://zhennann.com](https://zhennann.com)| |技术文档(英文)|[https://cabloy.com/index.html](https://cabloy.com/index.html)| |技术文档(中文)|[https://cabloy.com/zh-cn/index.html](https://cabloy.com/zh-cn/index.html)| |社区(英文)|[https://community.cabloy.com/index.html](https://community.cabloy.com/index.html)| |社区(中文)|[https://community.cabloy.com/zh-cn/index.html](https://community.cabloy.com/zh-cn/index.html)| |Cabloy商店(英文)|[https://store.cabloy.com/index.html](https://store.cabloy.com/index.html)| |Cabloy商店(中文)|[https://store.cabloy.com/zh-cn/index.html](https://store.cabloy.com/zh-cn/index.html)| ## 相关链接 * [官网: https://cabloy.com/](https://cabloy.com/) * [GitHub: https://github.com/zhennann/cabloy](https://github.com/zhennann/cabloy)