主流小程序開發(fā)框架(小程序開發(fā)框架排行)
今天給各位分享主流小程序開發(fā)框架的知識(shí),其中也會(huì)對(duì)小程序開發(fā)框架排行進(jìn)行解釋,如果能碰巧解決你現(xiàn)在面臨的問(wèn)題,別忘了關(guān)注本站,現(xiàn)在開始吧!
本文目錄一覽:
小程序的第三方框架
1、騰訊wepy
2、美團(tuán)mpvue 語(yǔ)法類似vue
3、京東taro 類似react
4、滴滴chameleon
5、uni-app 類似vue
6、原生框架MINA
不復(fù)雜的話還是推薦使用原生。
前端常用的框架有哪些?
前端三大框架,是Angular、React、Vue,這三個(gè)框架現(xiàn)在是最為流行也是最多人用的框架。
React:
1.聲明式設(shè)計(jì):React采用聲明范式,可以輕松描述應(yīng)用。
2.高效:React通過(guò)對(duì)DOM的模擬,最大限度地減少與DOM的交互。
3.靈活:React可以與已知的庫(kù)或框架很好地配合。
優(yōu)點(diǎn):
1.速度快:在UI渲染過(guò)程中,React通過(guò)在虛擬DOM中的微操作來(lái)實(shí)現(xiàn)對(duì)實(shí)際DOM的局部更新。
2.跨瀏覽器兼容:虛擬DOM幫助我們解決了跨瀏覽器問(wèn)題,它為我們提供了標(biāo)準(zhǔn)化的API,甚至在IE8中都是沒(méi)問(wèn)題的。
3.模塊化:為你程序編寫?yīng)毩⒌哪K化UI組件,這樣當(dāng)某個(gè)或某些組件出現(xiàn)問(wèn)題是,可以方便地進(jìn)行隔離。
4.單向數(shù)據(jù)流:Flux是一個(gè)用于在JavaScript應(yīng)用中創(chuàng)建單向數(shù)據(jù)層的架構(gòu)5.同構(gòu)、純粹的javascript:因?yàn)樗阉饕娴呐老x程序依賴的是服務(wù)端響應(yīng)而不是JavaScript的執(zhí)行,預(yù)渲染你的應(yīng)用有助于搜索引擎優(yōu)化。6.兼容性好:比如使用RequireJS來(lái)加載和打包,而Browserify和Webpack適用于構(gòu)建大型應(yīng)用。它們使得那些艱難的任務(wù)不再讓人望而生畏。缺點(diǎn):React本身只是一個(gè)V而已,并不是一個(gè)完整的框架,所以如果是大型項(xiàng)目想要一套完整的框架的話,基本都需要加上ReactRouter和Flux才能寫大型應(yīng)用。
Vue:
Vue是尤雨溪編寫的一個(gè)構(gòu)建數(shù)據(jù)驅(qū)動(dòng)的Web界面的庫(kù),準(zhǔn)確來(lái)說(shuō)不是一個(gè)框架,它聚焦在V(view)視圖層。
它有以下的特性:
1.輕量級(jí)的框架
2.雙向數(shù)據(jù)綁定
3.指令
4.插件化
優(yōu)點(diǎn):
1.簡(jiǎn)單:官方文檔很清晰,比Angular簡(jiǎn)單易學(xué)。
2.快速:異步批處理方式更新DOM。
3.組合:用解耦的、可復(fù)用的組件組合你的應(yīng)用程序。
4.緊湊:~18kbmin+gzip,且無(wú)依賴。
5.強(qiáng)大:表達(dá)式無(wú)需聲明依賴的可推導(dǎo)屬性(computedproperties)。
6.對(duì)模塊友好:可以通過(guò)NPM、Bower或Duo安裝,不強(qiáng)迫你所有的代碼都遵循Angular的各種規(guī)定,使用場(chǎng)景更加靈活。
缺點(diǎn):
1.新生兒:Vue.js是一個(gè)新的項(xiàng)目,沒(méi)有angular那么成熟。
2.影響度不是很大:google了一下,有關(guān)于Vue.js多樣性或者說(shuō)豐富性少于其他一些有名的庫(kù)。
3.不支持IE8。
Angular:
Angular是一款優(yōu)秀的前端JS框架,已經(jīng)被用于Google的多款產(chǎn)品當(dāng)中。
它有以下的特性:
1.良好的應(yīng)用程序結(jié)構(gòu)
2.雙向數(shù)據(jù)綁定
3.指令
4.HTML模板
5.可嵌入、注入和測(cè)試
優(yōu)點(diǎn):
1.模板功能強(qiáng)大豐富,自帶了極其豐富的angular指令。
2.是一個(gè)比較完善的前端框架,包含服務(wù),模板,數(shù)據(jù)雙向綁定,模塊化,路由,過(guò)濾器,依賴注入等所有功能;3.自定義指令,自定義指令后可以在項(xiàng)目中多次使用。
4.ng模塊化比較大膽的引入了Java的一些東西(依賴注入),能夠很容易的寫出可復(fù)用的代碼,對(duì)于敏捷開發(fā)的團(tuán)隊(duì)來(lái)說(shuō)非常有幫助。
5.angularjs是互聯(lián)網(wǎng)巨人谷歌開發(fā),這也意味著他有一個(gè)堅(jiān)實(shí)的基礎(chǔ)和社區(qū)支持。
缺點(diǎn):
1.angular入門很容易但深入后概念很多,學(xué)習(xí)中較難理解。
2.文檔例子非常少,官方的文檔基本只寫了api,一個(gè)例子都沒(méi)有,很多時(shí)候具體怎么用都是google來(lái)的,或直接問(wèn)misko,angular的作者。
3.對(duì)IE6/7兼容不算特別好,就是可以用jQuery自己手寫代碼解決一些。
4.指令的應(yīng)用的最佳實(shí)踐教程少,angular其實(shí)很靈活,如果不看一些作者的使用原則,很容易寫出四不像的代碼,例如js中還是像jQuery的思想有很多dom操作。
5.DI依賴注入如果代碼壓縮需要顯示聲明。
微信小程序架構(gòu)篇
一、小程序架構(gòu)
每個(gè)小程序的結(jié)構(gòu)都有兩個(gè)主要部分構(gòu)成:主體部分+各個(gè)頁(yè)面。類似于許多框架,主體部分主要用于核心的配置,各個(gè)頁(yè)面主要用于不同業(yè)務(wù)場(chǎng)景。
1.1、主體部分主要由3個(gè)文件構(gòu)成
1)app.js:小程序邏輯,初始化APP
2)app.json:小程序配置,比如導(dǎo)航、窗口、頁(yè)面http請(qǐng)求跳轉(zhuǎn)等
3)app.wxss:公共樣式配置
主體配置完成之后,就是對(duì)應(yīng)業(yè)務(wù)開發(fā)了,也就是開發(fā)者最常操作的頁(yè)面。小程序頁(yè)面設(shè)計(jì)基本上也是遵循MVC結(jié)構(gòu)進(jìn)行構(gòu)建。
1.2、頁(yè)面由4個(gè)文件構(gòu)成
1)js:頁(yè)面邏輯,相當(dāng)于控制層(C);也包括部分的數(shù)據(jù)(M)
2)wxml:頁(yè)面結(jié)構(gòu)展示,相當(dāng)于視圖層(V)
3)wxss:頁(yè)面樣式表,純前端,用于輔助wxml展示
4)json:頁(yè)面配置,配置一些頁(yè)面展示的數(shù)據(jù),充當(dāng)部分的模型(M)
二、配置app.json
app.json
全局配置頁(yè)面文件的路徑、窗口表現(xiàn)、設(shè)置網(wǎng)絡(luò)超時(shí)時(shí)間、設(shè)置多tab等。
pages
接受一個(gè)數(shù)組,每一項(xiàng)都是字符串,來(lái)指定小程序由哪些頁(yè)面組成
window
用于設(shè)置小程序的狀態(tài)欄、導(dǎo)航條、標(biāo)題、窗口背景色。
tabBar
通過(guò)tabBar配置項(xiàng)指定tab欄的表現(xiàn),以及tab切換時(shí)顯示的對(duì)應(yīng)頁(yè)面。tabBar配置數(shù)組,只能配置最少2個(gè)、最多5個(gè)tab,tab按數(shù)組的順序排序。
networkTimeout
可以設(shè)置各種網(wǎng)絡(luò)請(qǐng)求的超時(shí)時(shí)間。
debug:true/false
可以在開發(fā)者工具中開啟debug模式,在開發(fā)者工具的控制臺(tái)面板,調(diào)試信息以info的形式給出,其信息有Page的注冊(cè),頁(yè)面路由,數(shù)據(jù)更新,事件觸發(fā)??梢詭椭_發(fā)者快速定位一些常見的問(wèn)題
page.json
每一個(gè)小程序頁(yè)面也可以使用.json文件來(lái)對(duì)本頁(yè)面的窗口表現(xiàn)進(jìn)行配置。頁(yè)面的哦誒址比app.json全局配置簡(jiǎn)單的多,只是設(shè)置app.json中的window配置項(xiàng)的內(nèi)容,頁(yè)面中配置項(xiàng)會(huì)覆蓋app.json的window中相同的配置項(xiàng)。
主流小程序開發(fā)框架的介紹就聊到這里吧,感謝你花時(shí)間閱讀本站內(nèi)容,更多關(guān)于小程序開發(fā)框架排行、主流小程序開發(fā)框架的信息別忘了在本站進(jìn)行查找喔。