JSP等模板引擎已死,大前端為趨勢


  我們先來看一下tomcat版本數據:

  我們可以看到,從tomcat8之后JSP就再沒有新的支持了,tomcat8大概是2013年發布的,也就是說,從2013年開始jsp技術已經實質上不被官方繼續維護了。

  再從java框架springboot來看,默認就是不支持jsp的,后台模板引擎默認是themleaf,但這並不能代表themleaf是未來趨勢,因為前端技術在后端技術進步的同時在飛速發展。

  自從JamesGosling開發Java語言,SUN大力推行基於Java的從前端到后端的完整的企業級解決方法(J2EE),發展至今基於服務器端JSP技術地位與處境已經越來越尷尬。JSP技術的興起與發展得益於WEB技術推廣與發展,但是伴隨着WEB2.0發展與富客服端應用(RIA)的發展,基於JSPTag的web偽前端技術表現的越來越無力。如今伴隨着更多的富客戶端技術的發展與不斷的走向成熟,其中具有代表性的為Angular、React、Vue等,同時伴隨着ajax技術以及HTTP長連接協議Bayeux廣泛應用,而且已經成為RFC標准文檔之一。而且伴隨着各大瀏覽器廠商對HTML5的大力支持,WEB開發應用新一輪的技術革新已經成為定局。在這種情況下,曾經風雲一時的JSP/Tag模板引擎技術沒落是不可逆轉。

  J2EE中傳統的前端依靠JSP Tag技術封裝,依靠服務器解析,完成頁面預編譯之后,通過HTTP發送到用戶瀏覽器端。那些數不清的JSP標簽庫/TAG庫,由於缺乏必要的技術規范各大廠商完成的千差萬別。很多時候已經成為影響J2EE開發效率的一大死穴。JSP等模板引擎作為偽前端技術(實際上是服務器端技術)有如下弊端:

  1. 標簽庫沒有統一標准,各大廠商完成不一,常使開發者暈頭轉向

  2. 本身不是一種前端與后端分離的技術,不能實現前端與后端各自的語言獨立

  3. 不是好的富客戶端技術,GWT雖然可以用為富客戶端前端技術,但是也是基於Java

  4. 前端與后端數據交換XML/JSON支持不夠靈活,不是天生支持Ajax

反觀Angular、React、Vue等前端技術,主要有以下顯著特點:

  1. 前台與后台語言獨立,

  2. 內嵌支持Ajax

  3. 靈活的數據交換支持XML/JSON

  4. 前后端獨立語言的好處,理論上后端可以支持任何語言

  現在很多新開發的WEB應用,Java作用主要在后台,但瀏覽器端越來越與Java無關是無關的,這個就是WEB2.0的威力,Div + CSS + Json的數據交換以及Javascript庫(ExtJS, JQuery)的應用,足以已經使前端開發與后端開發完全分離,這些完全得益於ajax/Bayeux(Comet)等技術助推。伴隨着HTML5技術的進一步推廣,獨自在后端閉門造車的行為變得尤其愚蠢。而且近些年發展迅猛的虛擬Dom技術類框架Angular、React、Vue,配合Redux、dva等數據流方案,使得大前端的時代已然真正的降臨。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM