NodeJS全棧開發利器:CabloyJS到底是什麼

CabloyJS

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

文檔

演示

資源

文章

視頻

定位

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

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

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

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

CabloyJS應對之法

  1. 採用pc = mobile + pad的獨特頁面風格,把移動端的開發體驗與用戶操控體驗帶入pc端,一套代碼適應全場景需求
  2. CabloyJS不只是技術框架,更是業務框架,將用戶管理角色管理權限管理等諸多功能特性沉澱成核心模塊,從而爲快速業務開發提供強有力的支撐
  3. 完全的先後端分離體系,從而實現前端靈活多變,後端不變應萬變,使整個CabloyJS架構具備很強的靈活性和延展性

理念

既可快速開發,又可靈活定製

爲了實現此理念,CabloyJS內置開發了大量核心模塊,使您能夠在最短的時間內架構一個完整的Web項目。好比,當您新建一個Web項目時,就已經具有完整的用戶登陸與認證系統,也具備驗證碼功能,同時也具有用戶管理角色管理權限管理等功能npm

此外,這些內置模塊提供了靈活的定製特性,您也能夠開發全新的模塊來替換內置模塊,從而實現系統的定製化小程序

風格

CabloyJS決不重複製造輪子,而是在業界流行技術框架基礎之上作的繼承再創新,好比前端基於VueJS + Framework7,後端基於KoaJS + EggJS後端

有了這些底層框架的強大支撐,CabloyJS就能夠放開手腳在業務層面作大量的創新與沉澱,從而將NodeJS全棧開發的體驗帶入一個新的層面微信

所以,CabloyJS的風格就是別具一格,一旦用上就會愛不釋手,由於順暢而愉悅的全棧開發體驗原本就應該是這樣架構

亮點與痛點

1. 亮點:pc = mobile + pad

CabloyJS最大的亮點是:經過pc=mobile+pad的模式,把mobile場景的操控體驗開發模式帶⼊pc場景。既顯著減小了代碼開發量,提高了開發效率,⼜保持了用戶操控體驗的⼀致性框架

pc-mobile-layout

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

相關文章
相關標籤/搜索