是否還記得,在PHP流行的年代,有一款開源免費的網站內容管理系統DedeCMS風靡全國。買域名,買空間主機,下載程序安裝,設置好欄目,換上模板,添加採集規則,諾大一個門戶瞬間就搭建好了。
SEO成就了DedeCMS的瘋狂,但也是因為這樣的瘋狂讓DedeCMS錯過了移動互聯網。全新的互聯網時代,前後端分離,讓模版解析渲染變得不再那麼重要。
作為DedeCMS的核心開發者之一,也從PHP轉到了Go,為了致敬DedeCMS,決定採用Go開發了一個類DedeCMS模板解析引擎的庫。擴展庫將驕傲地採用中國首個開源協議「木蘭寬鬆許可證」進行發布。
GKTemplate是一個Go語言開發的模板引擎,由於Go語言內置的模板引擎自由度過高,導致開發使用相對比較困難,對界面模板製作要求會比較高,GKTemplate是一款基於標籤、屬性機制的模板引擎,在犧牲部分自由度、性能的前提下,優化模板語義機制,使得開發、製作模板變得更為輕鬆簡單。
UTF-8編碼支持:模板引擎要求採用UTF-8編碼,便於界面能夠國際化支持;
簡單明了屬性標記:類似XML結構的屬性標記,上手簡單,製作模板輕鬆自如;
錯誤定位:模板標籤錯誤定位,方便模板製作開發調試;
標籤化語義:類似XHTML標籤語義,降低模板製作難度,減少開發製作成本;
自由擴展:留有豐富的標籤開發介面,方便進行二次擴展;
緩存機制:模板解析進行緩存,模板解析性能達到最高;
協程併發:採用Go協程機制,標籤解析可併發操作,模板渲染性能最高;
最小依賴:模板引擎只依賴Go默認庫,不依賴任何第三方庫;
GKTemplate主要用於採用Go編寫的HTTP Server中需要自定義呈現數據結構頁面,同時也適用於採用模板機制生成例如:靜態文件、靜態文本等。
該模板引擎性能穩定,符合開發者及用戶使用要求,詳細可參考模板引擎benchmark測試樣例。
執行go get -u -v github.com/gokeeptech/gktemplate
使用方法可以參考examples目錄中的例子。
[admin
]