亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

理解小程序

dmlllll / 1400人閱讀

摘要:小程序的布局信息微信小程序中使用作為長(zhǎng)度單位,可以根據(jù)屏幕寬度進(jìn)行自適應(yīng)。運(yùn)行環(huán)境普通都是執(zhí)行在瀏覽器的宿主環(huán)境,瀏覽器提供等對(duì)象但是小程序是運(yùn)行在微信上下文中的,沒有和。

小程序堅(jiān)持著 “無需下載、觸手可及、用完即走”的設(shè)計(jì)理念和價(jià)值觀,幫助用戶縮短完成任務(wù)的時(shí)間。下面從以下幾點(diǎn)進(jìn)行總結(jié)。
總結(jié)是參考三清水老師的小冊(cè)子,推薦大家去購(gòu)買。寫的很棒。

1. 小程序能做什么,不能做什么?

2. 小程序的執(zhí)行環(huán)境
微信小程序是在微信的上下文中運(yùn)行的,而不是在瀏覽器中運(yùn)行的,所以瀏覽器特有的window對(duì)象、BOM和DOM等相關(guān)的API都不能使用。
同時(shí),跟瀏覽器相關(guān)的操作,Cookie、Ajax請(qǐng)求(XMLHttpRequest)、DOM選擇器、DOM事件、路由history、緩存、設(shè)備信息、位置等都不存在。
但是,微信小程序?yàn)槲覀兲峁┝艘惶鬃约旱腁PI。
3. 小程序的布局信息
微信小程序中使用rpx作為長(zhǎng)度單位,可以根據(jù)屏幕寬度進(jìn)行自適應(yīng)。
rpx是以小程序容器寬度 === 設(shè)備寬度 == 屏幕寬度 === 750rpx來做定義的。
如在 iPhone6 上,屏幕寬度為375px,共有750個(gè)物理像素,則750rpx = 375px = 750物理像素,1rpx = 0.5px = 1物理像素。

官方iPhone手機(jī)尺寸對(duì)照表格

建議: 開發(fā)微信小程序時(shí)設(shè)計(jì)師可以用 iPhone6 作為視覺稿的標(biāo)準(zhǔn)

4. 微信小程序與H5對(duì)比

在微信小程序中,一切皆組件(視圖組件)。

運(yùn)行環(huán)境
普通H5都是執(zhí)行在瀏覽器的宿主環(huán)境,瀏覽器提供window、document等BOM對(duì)象;但是小程序是運(yùn)行在微信上下文中的,沒有BOM和DOM。因此在小程序中不能使用BOM 和DOM 提供的接口

路由
H5是通過URL進(jìn)行訪問的,小程序沒有對(duì)外暴漏統(tǒng)一的URL路徑進(jìn)行訪問。小程序是通過信道服務(wù)進(jìn)行通信和會(huì)話管理,所以它不支持Cookie存儲(chǔ),訪問資源使用 wx.request 而不是 ajax 的 xmlhttprequet API,小程序的 wx.request 請(qǐng)求不存在跨域的問題

注意:
不要嘗試修改頁(yè)面棧,會(huì)導(dǎo)致路由以及頁(yè)面狀態(tài)錯(cuò)誤
不要在 App.onLaunch 的時(shí)候調(diào)用 getCurrentPages(),此時(shí) page 還沒有生成

模塊化
微信小程序在JS模塊化上支持CommonJs,通過require加載,跟node.js類似。

樣式
微信小程序的頁(yè)面樣式完全繼承了CSS語(yǔ)法,支持FLEX布局

框架
微信小程序的整體框采用面向狀態(tài)編程方式,狀態(tài)管理從API來看采用類似Redux的設(shè)計(jì)方式;
單項(xiàng)數(shù)據(jù)綁定方式,當(dāng)view在action操作后,只能通過action的業(yè)務(wù)處理來更新view。

5.小程序框架

微信小程序分為視圖層和邏輯層,視圖層在webview中渲染,主要負(fù)責(zé)頁(yè)面的渲染工作,其中視圖可以有多個(gè),目前最多10個(gè);
邏輯層在jscore中進(jìn)行渲染,負(fù)責(zé)邏輯處理、全局狀態(tài)管理、請(qǐng)求和接口調(diào)用,邏輯層全局只有一個(gè)(實(shí)際通過X5內(nèi)核,另起一個(gè)JScore線程)。
微信小程序的視圖層和邏輯層通過微信的JSBridge來實(shí)現(xiàn)通信。
邏輯層數(shù)據(jù)變化通過JSBridge通知視圖層,視圖層進(jìn)行更新處理。視圖層觸發(fā)事件通過JSBridge將事件通知到邏輯層,邏輯層進(jìn)行處理;
JSBridge提供的方法有invoke(調(diào)用native)、publish(消息分發(fā))和subscribe。
因?yàn)樵谝粋€(gè)小程序中可以打開多個(gè)視圖層(webview),要保證從邏輯層發(fā)送的數(shù)據(jù)可以準(zhǔn)確送到具體的某個(gè)webview中,
需要通過每webview 唯一標(biāo)識(shí)符webviewID來實(shí)現(xiàn)。發(fā)送event的時(shí)候攜帶webviewID,然后邏輯層處理完對(duì)應(yīng)的邏輯,
如果需要下發(fā)數(shù)據(jù),則通過webviewID找到對(duì)應(yīng)的webview。
6.小程序生命周期
小程序在啟動(dòng)時(shí),會(huì)同時(shí)啟動(dòng)兩個(gè)線程,一個(gè)負(fù)責(zé)頁(yè)面渲染的webview,一個(gè)負(fù)責(zé)邏輯jscore。
邏輯層初始化后會(huì)將初始化數(shù)據(jù)(app.js中的global)通過JSBridge傳遞給渲染層進(jìn)行渲染,渲染層webview渲染完頁(yè)面之后又會(huì)跟邏輯層通信。
7.小程序WXML怎么轉(zhuǎn)成HTML
WXML寫完之后經(jīng)過編譯工具WCC轉(zhuǎn)成可執(zhí)行的JS。wcc和wcsc是小程序的wxml和wxss的編譯工具,是二進(jìn)制文件。
這個(gè)JS會(huì)接受一個(gè)path,將path的頁(yè)面轉(zhuǎn)換成一個(gè)virtual DOM。
這個(gè)virtual DOM 結(jié)構(gòu)里面就會(huì)找到以 wx-*開頭的tag,有了這個(gè)VDOM結(jié)構(gòu),就可以使用對(duì)應(yīng)的tag創(chuàng)建HTML片段了。

以上內(nèi)容主要是參看三清水老師的小冊(cè)子寫的。覺得寫的不錯(cuò),大家也可以去購(gòu)買一起學(xué)習(xí)交流謝謝。


文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/98064.html

相關(guān)文章

  • 深入理解程序中的數(shù)據(jù)——程序探索

    摘要:傳輸時(shí)間與數(shù)據(jù)量大體上呈現(xiàn)正相關(guān)關(guān)系,傳輸過大的數(shù)據(jù)將使這一時(shí)間顯著增加。小程序不管從組件化開發(fā)調(diào)試發(fā)布灰度回滾上報(bào)統(tǒng)計(jì)監(jiān)控和最近的云能力都非常完善,小程序的工程化簡(jiǎn)直就是前端的典范。 研究背景 上一篇文章了解了小程序的生命周期,接下來研究一下數(shù)據(jù)通信,我覺得清楚了生命周期和數(shù)據(jù)通信,就能對(duì)整個(gè)程序有一定的把控能力,定位問題和解決問題的能力將大幅提高我剛開始擼小程序的時(shí)候,覺得看看文...

    Jochen 評(píng)論0 收藏0
  • 大齡業(yè)余程序員要搞個(gè)django程序--08--深入理解程序登陸狀態(tài)的維護(hù)

    摘要:由于微信小程序沒有一套身份驗(yàn)證管理的框架,只提供等幾個(gè),所以對(duì)于我這種初學(xué)者來說,小程序登陸狀態(tài)管理就顯得很麻煩。按照個(gè)人的理解,需要攜帶。總之,和只要其中之一不存在,都要把登陸狀態(tài)標(biāo)記為未登陸。不然用戶不清楚不確定是否登陸成功。 ...

    zsy888 評(píng)論0 收藏0
  • 微信程序wepy框架詳解(一)

    摘要:微信小程序的一種框架簡(jiǎn)述由于項(xiàng)目原因,我于兩個(gè)多月前轉(zhuǎn)到微信端用進(jìn)行開發(fā)。事件發(fā)起組件的所有祖先組件會(huì)依次接收到事件。注意,如果用了自定義事件,則中對(duì)應(yīng)的監(jiān)聽函數(shù)不會(huì)再執(zhí)行。 wepy——微信小程序的一種框架 簡(jiǎn)述 由于項(xiàng)目原因,我于兩個(gè)多月前轉(zhuǎn)到微信端用wepy進(jìn)行開發(fā)。wepy開發(fā)風(fēng)格接近于 Vue.js,支持組件 Props 傳值,自定義事件、組件分布式復(fù)用Mixin、Redux...

    maochunguang 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<