在從前的從前,Javascript還不是流行的時代,HTML語言能夠說是瀏覽器的基礎了,那時候,一個頁面的HTML渲染,徹底依賴於後端服務器,如JSP ,PHP等頁面渲染技術。前端
後來Javascript逐漸流行了起來,而且伴隨着AJAX技術的興起,有一部分嘗試着把HTML渲染的工做放在Javascript中進行,這樣作的好處就是,後端和前端分離的比較明確,前端工做人員不須要知道什麼是JSP之類的,就能夠輕鬆的製做出漂亮的動態頁面。
後端
同一時間,Mobile也開始興起。Mobile的展現徹底不依賴JSP之類的技術,他們只須要裸數據,好比說JSON。這時候,某位大神提出了RESETful API設計的方法,強調後端應用應該專一於API接口的提供,而非數據顯示。因此,興起了一陣RESTful API 設計的潮流。瀏覽器
我的認爲,RESTful API的核心價值體如今跨平臺HTTP接入的做用,避免了Web Service的複雜程度,使得WEB,IOS,Android,均可以經過RESTful API獲取具體的數據,而後進行展現。而數據傳輸協議格式JSON,也時常被人們提起和使用。
服務器
SPA(single page app)在前一段時間開始火熱起來,它克服了原有HTML的一些問題,如頁面之間的數據傳輸,打開新頁面的等待時間,嚴重依賴後端服務器等問題。使得Web開發工程師,能在一個頁面中,完成全部的工做。可是也引入了一些問題,如SEO優化等。
app
後來,某些技術公司推出了mobile+spa的應用,如支付寶錢包,這種作法能夠在不升級APP的狀況下,熱部署上線應用。然而mobile+spa技術,相對於原生App,仍是有一些缺陷,如沒法直接截取back事件,致使back到失效的頁面。固然,咱們能夠經過一些額外的手段解決,如SPA本身進行管理Stack,取消WebView的原生back功能,採用本身發送back事件給SPA進行處理的方式。優化