純移動(dòng)端開(kāi)發(fā)用哪個(gè)JS框架好?
網(wǎng)友解答: 謝邀JS框架,我認(rèn)為大體上可以分為兩種。一種是類(lèi)似jQuery/ d3那樣的,通過(guò)修改html的DOM結(jié)構(gòu)來(lái)渲染UI的庫(kù)。還有一種則是類(lèi)似于AngularJS/ReactJS
謝邀
JS框架,我認(rèn)為大體上可以分為兩種。一種是類(lèi)似jQuery/ d3那樣的,通過(guò)修改html的DOM結(jié)構(gòu)來(lái)渲染UI的庫(kù)。
還有一種則是類(lèi)似于AngularJS/ReactJS 那樣的,采用MVC分層的,通過(guò)Model來(lái)渲染View UI框架。
注意這里的區(qū)別,jQuery類(lèi)似于庫(kù),而Angular類(lèi)似于框架,這也意味著使用Angular要嚴(yán)格按照框架規(guī)定來(lái)寫(xiě)。但Vue雖然也是MVC渲染,但更像一個(gè)庫(kù),所以明顯要比Angular上手要容易。
jQuery從后臺(tái)返回的數(shù)據(jù)要渲染到前端上需要通過(guò)手動(dòng)更新DOM,性能比較好。但開(kāi)發(fā)效率和代碼規(guī)范不如NG/ReactJS,但是手動(dòng)改DOM一般比MVC渲染的性能好。目前來(lái)說(shuō)基于jQuery的前端組件庫(kù)最多,而Angular/React的還比較少。
下面列舉幾個(gè)比較知名的前端UI庫(kù)
Bootstrap這個(gè)基本上就不用說(shuō)明了,一個(gè)前端CSS框架,基于jQuery,但是很多復(fù)雜的控件沒(méi)有,像 datagrid/ dialog/ tree/ charts之類(lèi)的,不過(guò)基于bootstrap的組件庫(kù)也比較多,可以自己去找找。
Foundation類(lèi)似Bootstrap https://foundation.zurb.com/
Semantic UI前端框架,不過(guò)組件也比較少https://github.com/Semantic-Org/Semantic-UI
Kendo UIkendoui.com 傳統(tǒng)的各種datagrid/charts/dialog庫(kù),分開(kāi)源和商業(yè)兩種版本,使用比較復(fù)雜的控件要購(gòu)買(mǎi)商業(yè)版。
Materialize另一個(gè)前端響應(yīng)式Web框架 https://github.com/Dogfalo/materialize
jQuery Mobilehttp://demos.jquerymobile.com/1.4.5/slider/jQuery Mobile一些組件庫(kù)(而非jquery的移動(dòng)版本)。jQuery Mobile是一款基于HTML5的用戶界面系統(tǒng),
Sencha Touch以前叫Ext,注意它不是基于jQuery的,是基于另外一種元素選擇器構(gòu)建起來(lái)的前端組件庫(kù)。
另外還有一些 Amazeui/ jQuery EasyUI/ materialize/ weex 之類(lèi)的,有興趣也可以研究一下。
網(wǎng)友解答:“純移動(dòng)端”也要看你干嘛用,不同應(yīng)用適合用不同的庫(kù)/框架。
例如,如果你的應(yīng)用主要是做數(shù)據(jù)錄入和呈現(xiàn),例如erp之類(lèi),用ng或vue之類(lèi)是不二之選,你要用jq自己操作這些數(shù)據(jù),做做自己就暈了。
但要做小游戲之類(lèi)的需要很多dom操作的,用ng之類(lèi)的數(shù)據(jù)框架就力不從心了。
所以說(shuō),任何東西沒(méi)有最好、放之四海而皆準(zhǔn)的,只有最合適的。