三大框架,本質都是基於js的web應用(前端做的都是web應用包括移動)框架,他們都是幫助我們解決問題的工具,具體用哪個,要結合具體場景。
這三者中,angular的適用領域相對窄一些,react可以拓展到服務端,移動端native部分,而vue因為比較輕量,還能用於業務場景非常輕的頁面中。
在web應用中,我們需要解決的問題可以歸納為三類:
狀態
組織
效率
1. 狀態
在乙個業務介面中,我們可能會根據某些資料去生成一塊介面,然後通過介面上的某些操作,改變一些資料,從而影響介面的另外一些部分。
這裡面就存在兩種關係,一種是從資料到介面,一種是從介面到資料。能夠描述介面當前狀況的資料,就可以被稱為狀態。
如果不對狀態作抽象,很可能會導致邏輯的混亂,比如說,乙個地方點了,要改多個地方,這種**直接寫,很容易寫亂的,所以,不同的框架採用不同的方式進行了處理。
比如說mvvm流的angular和vue,還有**alon,regular,knockout,都是走的這一流派,通過類似模板的語法,描述介面狀態與資料的繫結關係,然後通過內部轉換,把這個結構建立起來,當介面發生變化的時候,按照配置規則去更新相應的資料,然後,再根據配置好的規則去,從資料更新介面狀態。
react走的是另外乙個流派,就是所謂的函式式,在這個裡面,推崇的是單向資料流:給定原始介面(或資料),施加乙個變化,就能推導出另外乙個狀態(介面或者資料的更新)。
在這裡需要額外提一下reactivejs,它的理念又有所不同,是基於reactive的。
2. 組織
剛才這些,都可以看作是滿足最基本的需求,那就是業務的正確性。在這之後,就有另外的訴求了,首當其衝的就是整個業務**的組織。
所謂組織,指的是兩個方面,一方面是模組關係,另一方面是業務模型。
我們剛才提到元件化,整個應用形成了乙個元件樹,元件之間可能會需要通訊,它們通訊的內容可能是簡單的介面事件,也可能是業務含義較深,能夠牽一髮而動全身的。介面是怎麼來的?是由初始介面加上狀態形成的,為了能夠反映介面的變化,我們必須使得對業務模型的每乙個擾動都收斂到確切的狀態,所以,這也就是redux這類東西的意義所在。
3. 效率
效率也分兩種,一種是開發效率,一種是執行效率。
我們前面提到,元件化,這是提公升開發效率的一種手段,在元件化這個點上,各路框架的組織方式大同小異,反正最終都是元件樹。具體到單個元件的實現上,我個人是傾向於mvvm流的,之前做過對比,mvvm系的**量會少一些,開發效率稍高一點。
目前綜合以上,vue3算是綜合評分較靠上的框架,易用,開發效率也還好,易於上手。
最後,所有的框架,甚至語言,程式,都是幫助我們解決現實問題的工具,不同之處在於,每個工具的使用場景不同,根據具體場景進行選用,沒有一定的。
javaweb三大框架
個人感覺struts相對來說簡單些。因為strusts只操作與serlvert,沒有關係到別的,就算是strusts2x,也是使用 攔截使用者的請求,作用到servlet。但是spring所設計的東西和層面太多,而且都是微型的 切面的程式設計,配置檔案和核心對於基礎較差的還是很有難度的,尤其是初學者...
前端三大框架
1 vue.js 目前最火 vue是國人自己開發的js框架 所以文件比較容易閱讀.上手比較容易.主要有8大生命週期 一 beforecreate,created,beforemount,mounted,beforeupdate,updated,beforedestroy,destroyed,資料初始...
三大框架的整合
第一步 導包 包括28個ssh包,資料庫驅動包除外 第二步 配置檔案的準備 與struts2相關的配置檔案 web.xml 注意 在windows下不區分大小寫,但在linux下區分,首字母要小寫 struts.properties 關聯struts和spring struts.objectfact...