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

  咱們先來看一下tomcat版本數據:前端

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

  再從java框架springboot來看,默認就是不支持jsp的,後臺模板引擎默認是themleaf,但這並不能表明themleaf是將來趨勢,由於前端技術在後端技術進步的同時在飛速發展。web

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

  J2EE中傳統的前端依靠JSP Tag技術封裝,依靠服務器解析,完成頁面預編譯以後,經過HTTP發送到用戶瀏覽器端。那些數不清的JSP標籤庫/TAG庫,因爲缺少必要的技術規範各大廠商完成的千差萬別。不少時候已經成爲影響J2EE開發效率的一大死穴。JSP等模板引擎做爲僞前端技術(其實是服務器端技術)有以下弊端:spring

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

  2. 自己不是一種前端與後端分離的技術,不能實現前端與後端各自的語言獨立瀏覽器

  3. 不是好的富客戶端技術,GWT雖然能夠用爲富客戶端前端技術,可是也是基於Javatomcat

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

反觀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等數據流方案,使得大前端的時代已然真正的降臨。

相關文章
相關標籤/搜索