CabloyJS
CabloyJS是一款頂級NodeJS全棧業務開發框架, 基於KoaJS + EggJS + VueJS + Framework7
文檔
演示
- PC:https://admin.cabloy.com
- Mobile:
資源
文章
視頻
定位
CabloyJS是面向中小開發團隊
和接單俠
開發的NodeJS全棧業務快速開發框架,支持全場景業務開發,省時、省力
中小開發團隊或接單俠所面臨的困境
多場景需求
:PC、Android、IOS、微信、釘釘,等等多種要素平衡
:技術、人才、時間、質量 -> 成本、收益
客戶的潛在需求日益多變,因此開發場景日益碎片化,不同的場景又面臨着不同的技術選擇,從而又決定着人員的配備,技術選擇
與人員配置
影響着項目開發的時間
與質量
,從而又最終體現在成本
與收益
的平衡上
CabloyJS應對之法
- 採用
pc = mobile + pad
的獨特頁面風格,把移動端的開發體驗與用戶操控體驗帶入pc端,一套代碼適應全場景需求 - CabloyJS不僅是
技術框架
,更是業務框架
,將用戶管理
、角色管理
、權限管理
等諸多功能特性沉澱成核心模塊,從而爲快速業務開發提供強有力的支撐 - 徹底的
前後端分離
體系,從而實現前端靈活多變,後端不變應萬變
,使整個CabloyJS架構具有很強的靈活性和延展性
理念
既可快速開發,又可靈活定製
爲了實現此理念,CabloyJS內置開發了大量核心模塊,使您可以在最短的時間內架構一個完整的Web項目。比如,當您新建一個Web項目時,就已經具備完整的用戶登錄與認證系統,也具有驗證碼功能,同時也具備用戶管理
、角色管理
、權限管理
等功能
此外,這些內置模塊提供了靈活的定製特性,您也可以開發全新的模塊來替換內置模塊,從而實現系統的定製化
風格
CabloyJS決不重複製造輪子,而是在業界流行技術框架基礎之上做的繼承再創新
,比如前端基於VueJS + Framework7
,後端基於KoaJS + EggJS
有了這些底層框架的強大支撐,CabloyJS就可以放開手腳在業務層面做大量的創新與沉澱,從而將NodeJS全棧開發
的體驗帶入一個新的層面
因此,CabloyJS的風格就是別具一格
,一旦用上就會愛不釋手
,因爲順暢而愉悅
的全棧開發體驗本來就應該是這樣
亮點與痛點
1. 亮點:pc = mobile + pad
CabloyJS最大的亮點是:通過pc=mobile+pad
的模式,把mobile場景的操控體驗
和開發模式
帶⼊pc場景。既顯著減少了代碼開發量,提升了開發效率,⼜保持了用戶操控體驗的⼀致性
2. 痛點:全場景業務開發
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後端 |
Slack | CabloyJS前端 + Slack API | CabloyJS後端 |
小程序:微信、支付寶、百度等 | 小程序框架 | CabloyJS後端 |
- 後端:由於完整的前後端分離設計,只需開發一套CabloyJS後端代碼即可
- 前端:所有可基於H5的場景,只需開發一套CabloyJS前端代碼即可
CabloyJS的開發歷程
CabloyJS從2016年啓動開發,主要歷經兩個開發階段:
1. 第一階段:EggBornJS
EggBornJS關注的核心就是模塊化
與模塊隔離
,並以此實現一套完整的全棧開發框架
比如模塊egg-born-front
是框架前端的核心模塊,模塊egg-born-backend
是框架後端的核心模塊,模塊egg-born
是框架的命令行工具,用於創建項目骨架
這也是爲什麼所有業務模塊都是以egg-born-module-
爲命名前綴的原因
2. 第二階段:CabloyJS
EggBornJS只是一個基礎的全棧開發框架,如果要進行業務開發,還需要考慮許多與業務相關的支撐特性,如:用戶管理
、角色管理
、權限管理
、菜單管理
、參數設置管理
、表單驗證
、登錄機制
,等等。特別是在前後端分離的場景下,對權限管理
的要求就提升到一個更高的水平
CabloyJS在EggBornJS的基礎上,提供了一套核心業務模塊,從而實現了一系列業務支撐特性,並將這些特性進行有機的組合,形成完整而靈活的上層生態架構,從而支持具體的業務開發進程
CabloyJS架構圖
特性
EggBornJS特性
- 前後端分離:前後端分離開發,深度解耦
- 業務模塊化:
頁面組件
和業務邏輯
按模塊組織 - 加載方式靈活:模塊既可
異步加載
,也可同步加載
- 模塊高度內聚:模塊包括
前端頁面組件
和後端業務邏輯
- 參數配置靈活:模塊中的前後端可以單獨進行
參數配置
- 國際化:模塊中的前後端均支持獨立的
國際化
- 模塊隔離:模塊的
頁面、數據、邏輯、路由、配置
等元素均進行了命名空間隔離
處理,避免模塊之間的變量污染與衝突 - 超級易用的事務處理:只需在路由記錄上配置一個參數,即可完美實現數據庫的
事務處理
- 漸進式開發:由於模塊的高度內聚,可以將業務以模塊的形式沉澱,在多個項目中重複使用,既可貢獻到npm開源社區,也可部署到公司內部私有npm倉庫
有了EggBornJS,從此可複用的不僅僅是組件,還有業務模塊
CabloyJS特性
- 移動優先,完美的PC佈局適配:pc = mobile + pad
- 統一的原子數據管理
- 統一的用戶角色權限管理
- 對多種運行環境的精細支持
- 支持多域名多實例運行
- 靈活的測試驅動開發
- 內置衆多核心模塊,提供大量核心特性
有了CabloyJS,您就可以快速開發各類業務應用
信念
凡是可以用JavaScript來寫的應用,最終都會用JavaScript來寫 | Atwood定律
相信,Javascript的深度探索者都會被這句名言激發,共同努力,爲Javascript生態添磚加瓦,構建更繁榮的應用生態
CabloyJS正是對這一名言的探索之作。CabloyJS不重複造輪子,而是採用業界最新的開源技術,進行全棧開發的最佳組合
歡迎您也加入CabloyJS的社區生態,一起促進Javascript的繁榮與應用
名稱的由來
1. EggBorn
這個名稱的由來比較簡單,因爲有了Egg(後端框架),所以就有了EggBorn。有一部動畫片叫《天書奇譚》,裏面的萌主就叫“蛋生”,我很喜歡看(不小心暴露了年齡😅)
2. Cabloy
Cabloy來自藍精靈的魔法咒語,拼對了Cabloy這個單詞就會有神奇的效果。同樣,CabloyJS是有關化學的魔法,基於模塊的組合與生化反應,您將實現您想要的任何東西