Dahlia:一個現代化的 React 框架
什麼是前端框架
React 是什麼?按照官方的說法,React 是一個用於構建使用者介面的 JavaScript 庫,所以它不是一個框架。
在前端中,框架是什麼?也許很難下定義,但很容易舉例,Angular 就是一個框架。
Dahlia 是什麼
Dahlia 是什麼?它是一個框架,是一個基於 React 開發的框架。你可以認為它是一個和 Angular 同級別的東西。
Dahlia 是一個大而全的框架,包括了很多東西:
- CLI 工具
- 路由整合
- 狀態管理
- Http Client
- GraphQL Client
- 表單
- 彈窗
- 國際化
- ...
為什麼建立 Dahlia
我為什麼不用直接使用 Angular 或者 Vue,最重要的原因是:老了,記憶力衰退。記不住 ngFor,記不住 ngModal,記不住 v-on,接不住 v-show... 記不住眾多的的框架 Api。
因為老了,所以 Dahlia 這個框架暫時也只支援 TypeScript,因為如果沒有 TypeScript,dangerouslySetInnerHTML
這樣的 Api 也會令我抓狂,因為dangerouslySetInnerHTML
這個單詞我可能要背好幾周才能寫出來。
React 以靈活著稱,為什麼還要搞一個框架呢?因為懶得折騰,如果我記憶力足夠好,我應該會選擇 Angular,可惜不夠好,所以搞了一個大而全 Dahlia,希望能少折騰、多做事、早下班。
Dahlia 有什麼特點
- TypeScript 是一等公民,提供良好的開發體驗
- 基於create-react-app ,不用關心 Webpack 配置,享受 React 社群最優秀的 setup、develop、build 工具
- 漸進式 地開發模式,可以快速上手,也可以開發複雜應用
Dahlia 非常多地方借鑑了 Next.js,如果說和 Next.js 有什麼不同,那可能是比 Next.js 更加框架化,使用 Dahlia 你會有更高開發效率和更好的開發體驗,Dahlia 讓你真正的專注於業務的開發,快速解決為各種需求,而不是在各種搗鼓和選擇中迷失自我。
如何使用
安裝 Dahlia CLI:
yarn global add dahlia-cli
初始化應用:
dh new myapp
它將在當前資料夾中建立一個名為 myapp 的目錄,目錄結構如下:
. ├── package.json ├── pages │└── index.tsx └── tsconfig.json
啟動開發伺服器:
cd myapp dh start
Dahlai 現在還在不斷改善完善中,我們團隊已在專案使用,歡迎 PR。
- Github 地址:https://github.com/forsigner/...
- 詳細文件:https://dahlia.js.org