.NET Core/.NET5/.NET6 開源專案彙總13:模板引擎

張傳寧發表於2021-08-13

開源專案是眾多組織與個人分享的元件或專案,作者付出的心血我們是無法體會的,所以首先大家要心存感激、尊重。請嚴格遵守每個專案的開源協議後再使用。尊重智慧財產權,共建和諧開源社群。

  模板引擎可以生成特定格式的文件,用於軟體開發中生成具有相對規則的程式碼檔案,比如:資料訪問層、業務邏輯層、UI層等,使用模板可以大大提高開發效率。  

  模板引擎的實現方式有很多,最簡單的是“置換型”模板引擎,這類别範本引擎只是將指定模板內容(字串)中的特定標記(子字串)替換一下便生成了最終需要的業務資料(比如網頁)。置換型模板引擎實現簡單,但其效率低下,無法滿足高負載的應用需求(比如有海量訪問的網站),因此還出現了“解釋型”模板引擎和“編譯型”模板引擎等。

1、Fluid 【最值得推薦】

Liquid 是一門開源的模板語言,由 Shopify 創造並用 Ruby 實現。它是 Shopify 主題的主要構成部分,並且被用於載入店鋪系統的動態內容。它是一種安全的模板語言,對於非程式設計師的受眾來說也非常容易理解。從 2006 年起,Liquid 就被 Shopify 所使用,現在更是被大量 web 應用所使用。

Fluid 是一個基於 Liquid 模板語言的開源 .NET 模板引擎。官網文件非常詳細、簡單易容、是最值得推薦的模板引擎。

.NET Core/.NET5/.NET6 開源專案彙總13:模板引擎

2、NVelocity

NVelocity是一個非常不錯的模板引擎,可以用來生成檔案、頁面等相關處理,非常高效和方便。它原先是在網站http://nvelocity.sourceforge.net/ 上維護,不過從0.41後,該網站就不再進行NVelocity更新了,現在可以在網站http://nvelocity.codeplex.com/上獲得最新版本的更新。

3、VTemplate

VTemplate模板引擎也簡稱為VT,是基於.NET的模板引擎,它允許任何人使用簡單的類似HTML語法的模板語言來引用.NET裡定義的物件。當VTemplate應用於web開發時,介面設計人員可以和程式開發人員同步開發一個遵循MVC架構的web站點,也就是說,頁面設計人員可以只關注頁面的顯示效果,而由程式開發人員關注業務邏輯編碼。VTemplate將.NET程式程式碼從web頁面中分離出來,這樣為web站點的長期維護提供了便利,同時也為我們在ASP.NET WebForm開發之外又提供了一種可選的方案。 VTemplate也可以作為動態文字生成工具,生成HTML、XML、郵件、程式原始碼或其它文字等。

4、Mustachio

Mustachio 是一款輕量級且強大的模板引擎,可以用在網頁渲染、程式碼生成器等需要模板引擎的場景。我用它是用在配置檔案模板化的場景,在配置檔案裡面編寫一些模板語法,然後從 Cloud 拉取鍵值配置資料,來渲染配置檔案,最後載入到程式中。和 Razor 比起來,它非常的簡單和輕,如果有這方面的需求可以考慮選擇它。

5、RazorEngine

Razor Engine,之前僅僅是ASP.NET MVC的一種View引擎,目前已經完全成為一種可以獨立使用的模版引擎,並且已經成為了CodePlex上一個開源的專案(http://razorengine.codeplex.com/)。對於使用過ASP.NET MVC Razor檢視引擎的朋友們一定已經領略過它的靈活性和易用性。T4模板採用的就是該引擎。

相關文章