NodeJS全棧開發利器:CabloyJS究竟是什麼

CabloyJS

CabloyJS是一款頂級NodeJS全棧業務開發框架, 基於KoaJS + EggJS + VueJS + Framework7

文檔

演示

在這裏插入圖片描述

資源

文章

視頻

定位

CabloyJS是面向中小開發團隊接單俠開發的NodeJS全棧業務快速開發框架,支持全場景業務開發,省時、省力

中小開發團隊或接單俠所面臨的困境

  1. 多場景需求:PC、Android、IOS、微信、釘釘,等等
  2. 多種要素平衡:技術、人才、時間、質量 -> 成本、收益

客戶的潛在需求日益多變,因此開發場景日益碎片化,不同的場景又面臨着不同的技術選擇,從而又決定着人員的配備,技術選擇人員配置影響着項目開發的時間質量,從而又最終體現在成本收益的平衡上

CabloyJS應對之法

  1. 採用pc = mobile + pad的獨特頁面風格,把移動端的開發體驗與用戶操控體驗帶入pc端,一套代碼適應全場景需求
  2. CabloyJS不僅是技術框架,更是業務框架,將用戶管理角色管理權限管理等諸多功能特性沉澱成核心模塊,從而爲快速業務開發提供強有力的支撐
  3. 徹底的前後端分離體系,從而實現前端靈活多變,後端不變應萬變,使整個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是有關化學的魔法,基於模塊的組合與生化反應,您將實現您想要的任何東西

License

LGPL

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章