【我的架構之路】爲什麼現在WEB開發更像APP開發?

引言:在瞭解現代互聯網的WEB開發之前我們得先了解什麼是B/S、C/S?

CS架構是安裝在用戶系統本地的程序,類似於QQ,完全在用戶計算機上執行,除了數據交互會與服務端進行通信

BS架構爲WEB,用戶看到的東西叫做“視圖 ”,每次請求新頁面或者發起請求都是由服務端處理。

兩者之間彷彿有着鴻溝,現代互聯網技術如何解決這個問題呢?
這時我們試圖去了解 單頁面應用多頁面應用,過去我在實驗室開發項目都是採用原生HTML+CSS+JQuery進行開發,每一個頁面對應後臺的一個Controller註解,當發生頁面跳轉的時候需要重新加載一個新頁面,新頁面完全由服務端生成,頁面加載完成發生請求再進行數據交互, 如果需要添加新頁面則需要添加新的註解。

從效率的角度來說多頁面應用的確低很多,每次頁面跳轉都需要重新加載DOM和渲染視圖。

在現在我們採取了React作爲前端技術棧解決項目需求,當訪問這個Web Url的時候則會下載所有的代碼並運行在用戶的瀏覽器上,此時瀏覽器就相當於一個操作系統,每次訪問頁面和請求數據不會向服務端請求新的DOM元素,只需要傳輸對應的JSON數據即可,這正符合了React以數據驅動的原理。

React、Vue、Angular從某種程度上來說更像一個APP。

以往我們俗稱的BS、CS架構在這種框架下似乎變得不合適了,雖然React、Vue、Angular程序是WebSite是運行在瀏覽器上,但實質他們更像CS架構的Application。

WebAPP

說到WebAPP我們很容易想到PhoneGap,它是由Adobe發起,後來代碼貢獻給了Apache,最後改了一個名字叫做Apache Cordova。

Cordova是一款框架,它能允許開發者用HTML+CSS+JavaScript進行移動端的開發,開發的程序可以運行在Android、iOS、Windows等多平臺,多平臺共用一套代碼,同時是一個開源的項目

Electron 也是一款框架,它使用 JavaScript, HTML 和 CSS 構建跨平臺的桌面應用,例如GitHub Platform、Skype等都是Electron開發的桌面版WEB程序。
查看更多桌面版WEB應用.


我們瞭解了現代互聯網的開發模式再回頭看看瀏覽器的發家史

在1994年10月13日,網景公司發佈了Mosaic Netscape 0.9瀏覽器,雖然仍是beta版本,成爲當時最熱門的瀏覽器。次年微軟開始進軍瀏覽器市場,由於系統內置IE瀏覽器(當時是1.0),因爲IE是隨系統進入用戶市場,以至於很多人都開始使用IE,到我出生的98年和小學階段都是使用IE,瞭解最多的也是IE瀏覽器。

Chrome V8引擎的問世

直到2008年,Google推出了V8渲染引擎,隨着Chrome發佈(2008年9月2日)進入互聯網市場,它的運行速度非常快,把JS腳本語言當成機器碼來編譯,甚至和編譯二進制一樣快。

NodeJS

node增加了很多系統級別的API,比如文件上傳、網絡、系統資源等,允許開發者能像使用C、C++那樣去使用JS程序,以至於Node可以寫Server、寫高級計算等功能。

HTML5標準

2015年初次制定了HTML5標準,到現在這個標準還未完成,它是一個多樣化的API,其中包括了Canvas、媒體播放、離線存儲、地理位置等功能。


選擇你的職業路線
總結: 到現在前端這個詞的用法越來越廣,有的會拿Kotlin、RN寫安卓,有的會拿Swift寫iOS,這些開發的思路和拿JavaScript的開發思路已經沒有區別,以至於現在把前端分爲前端開發後端開發其他開發

在這裏插入圖片描述
同時也把Web項目分爲了前後端分離非前後端分離服務器渲染視圖的項目,最後希望大家能夠明白HTML、CSS、JavaScript不是用來寫網頁的,他們寫的東西叫做APP

附上《WEB DEVELOPER — ROADMAP 2019》WEB DEVELOPER — ROADMAP 2019

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章