你說的模板引擎應該是指后端模板引擎。從網站全棧開發程序員的角度來看:從前,前端[不考慮原生app]只要“哄好”瀏覽器(包括微信內嵌的、app內嵌的)就可以了,服務端都是Nginx/Apache/IIS + php(大部分程序依賴于php-fpm[不能常駐內存],少量運行在CLI[也就是命令行]),大家都用MVC, 都在熱烈討論視圖文件與模板引擎的“家長里短”。后來,前端爆出了“微信小程序”,不少前臺頁面“棄暗投明”,好在后臺頁面/對/瀏覽器/“忠心耿耿”。再后來,swoole異軍突起,php可以常駐內存、運行速度“風馳電掣”,同時開發方式大變[大部分運行在CLI],比如:echo會輸出到終端而不是瀏覽器---然而,模板引擎都是用echo輸出動態數據到瀏覽器的---這就尷尬了。
現在,訪客的客戶端既有小程序,又有瀏覽器。小程序的頁面只能由js渲染,php模板引擎對小程序頁面無可奈何。php接口不得不設計為API,以便返回json給小程序,這種API倒是可以加以包裝,這樣,瀏覽器那邊的前臺頁面可以繼續使用模板引擎。后臺頁面,直接使用模板引擎。
一但用上swoole,要是堅持使用模板引擎,由于模板引擎將視圖文件(view.html)翻譯成模板文件(tpl.php),都會用到“echo”,(如果用到的視圖文件都沒有修改過,就直接)include tpl.php之后,為了防止輸出到終端,使用ob_get_clean(), 再使用swoole的接口輸出到瀏覽器,
倒也是可以。
結論:
后端模板引擎,只是開發一時爽,不適宜團隊合作,適合全棧開發者,缺點:
應變能力差:使用全新裝修的話,后端開發就要套頁面,繁瑣。
浪費人力資源,加重后端團隊的負擔:前端折騰完html頁面,后端需要經手一遍。不得不提一點:分頁條。thinkphp框架的分頁條是寫在php的page類里面,如果分頁條樣式變了,前端寫完html代碼,后端要謄寫一遍。
如果需要翻譯視圖文件,則后端負擔相對較重,用戶等待時間相對較長:比如:編輯數據的頁面。php從數據表里邊拉取到數據,已經仁至義盡了,卻還要翻譯html文件,即使不用翻譯,也需要查看用到的視圖文件是否修改過。
后端模板引擎的渲染是一次性的,而前端模板引擎可以反復渲染,利于沉浸式體驗。同一段html代碼,要么由后端模板引擎循環處理,要么由前端模板引擎循環處理。舉個例子:進入購物車頁面(/cart/index),對某個商品重新挑選促銷方案后,該商品需要挪到新的分組,再次計算受影響的組的優惠、贈品,然后再次計算總優惠。(后端更改促銷方案, 不應由/cart/index處理,不然就“千人排、萬人坑”,越來越“牽一發而動全身”。) 假設是由/cart/selectPromotion處理, 如果使用前端模板引擎,即便反復挑選,頁面也無需刷新,不會打斷沉浸式體驗,否則,等待轉圈結束,頁面還要需要刷新,頁面無論如何都是要經歷空無一物的白色,反復刷新幾次,真的沉浸不下來。
由于css樣式的影響,部分php錯誤信息未能及時發現,直到:打開控制臺,查看源碼,偶然看到額外的html元素直接查看網頁源碼,看到額外的html元素js出錯:比如說,取不到指定html元素,json字符串轉換成對象失敗。好處:
共同的html可以抽出來作為公用文件,用php加載公用文件。
可以用php讀取靜態文件的上次修改時間,引入靜態文件時,將這個時間作為版本號,靜態文件有變化則重新請求,否則使用本地緩存。調試過程中,不需要同時按shift + F5, 也不需要手動更改版本號,比較省事。
純靜態頁面+ajax:適宜團隊合作,也適合全棧開發者,應變能力強,不會浪費后端的人力資源,php負擔相對較輕,用戶等待時間相對較短,體驗更好,除了開發時繁瑣了點。
目前前端開發非常火爆,導致了前端的一系列框架,層出不窮,各有千秋,那么多的框架,不知道從哪里下手,也不知道該如何使用,這里我收集了目前互聯網最具有代表性web 前端開發工具和框架,希望對你有所幫助。
前端框架Bootstrap中文網
BootstrapBootstrap 是最受歡迎的 HTML、CSS 和 JS 框架,用于開發響應式布局、移動設備優先的 WEB 項目。
NEC : 更好的CSS樣式解決方案
更好的CSS樣式解決方案NEC包括了規范、框架、代碼庫、插件等內容,致力于為前端開發人員提供高效率高質量的前端頁面開發解決方案,提高多人協作效率,也為非專業人員提供快速制作網頁的解決方案。
NEJ-Nice Easy Javascript
Nice Easy Javascript簡潔,美觀,真正的跨平臺web前端開發框架
Foundation中文網
Foundation迄今為止最好的響應式前端框架,更快、更輕、更多功能、更靈活、更強大!
Amaze UI
amazeui是一個輕量級的前端框架, 基于開源社區流行前端框架編寫,中國首個開源 HTML5 跨屏前端框架
jqweui.com/
jquery weui是專為微信公眾賬號開發而設計的一個簡潔而強大的UI庫,包含全部WeUI官方的CSS組件,并且額外提供了大量的拓展組件,豐富的組件庫可以極大減少前端開發時間。
Layui - 經典模塊化前端框架
layuijQuery插件庫-收集最全最新最好的jQuery插件
jquery插件庫寫的更少,做的更多 Write less, do more
FrozenUI - 專注于移動web的UI框架
FrozenUI簡單易用,輕量快捷,為移動端服務的前端框架
SUI Mobile
SUI MobileSUI Mobile輕量,小巧且精美的UI庫,方便迅速搭建手機H5應用
以上是在長期工作中總結出來的移動WEB UI框架資源,大家可以根據自己的業務需求去選擇合適的WEB UI框架。
常見的網站開發工具有以下幾種:
1、Microsoft FrontPage,是一款輕量級靜態網頁制作軟件,特別適合新手開發靜態網站的需要,目前該應用很少用于制作網頁。
2、Dreamweaver網頁制作軟件,該軟件已成為專業級網頁制作程序,支持HTML、CSS、PHP、JSP以及ASP等眾多腳本語言的語法著色顯示,同時提供了模板套用功能,支持一鍵式生成網頁框架功能。是初學者或專業級網站開發人員必備之選擇工具。
3、CSS Design:一款適合對CSS對進調試的專業級應用,能夠對CSS語法進行著色,同時支持即時查看樣式功能,特別方便程序的調試以及效果的比對。
4、Flash動畫制作軟件:動畫或動態圖片是網頁的重要組成部分,充分合理的使用Flash程序來設計網頁元素,往往可達到意想不到的效果。
5、PS(Photoshop)圖像處理軟件:用于對網頁圖片進行潤色或特殊效果處理,是一款網頁制作必備之軟件。
6、Sublime全稱為Sublime text,是一個代碼編輯器。Sublime Text具有漂亮的用戶界面和強大的功能,例如代碼縮略圖、功能插件等。Sublime text還是一個跨平臺的編輯器,支Windows、Linux、Mac等操作系統。
7、WebStorm 是JavaScript 開發工具。已經被廣大中國JS開發者譽為“Web前端開發神器”、“最強大的HTML5編輯器”、“最智能的JavaScript IDE”等。與IntelliJ IDEA同源,繼承了IntelliJ IDEA強大的JS部分的功能。
8、Visual Studio Code(簡稱“VS Code”)是一個運行于 Mac OS X、Windows和 Linux 之上的,針對于編寫現代Web和云應用的跨平臺源代碼編輯器,可在桌面上運行,并且可用于Windows,macOS和Linux。
9、HBUilder是一款支持HTML5的Web開發軟件。“快”是BUilder的最大優勢,通過完整的語法提示、代碼輸入法以及代碼塊等,HBuilder可以大幅提升HTML、JavaScript的開發效率。