當(dāng)我們談業(yè)務(wù)穩(wěn)定性的時(shí)候,通常是指后端工程師從架構(gòu)的角度來(lái)看的,例如限流和降級(jí)、流量調(diào)度、業(yè)務(wù)開(kāi)關(guān)、容量壓測(cè)等,但監(jiān)控也是整個(gè)業(yè)務(wù)穩(wěn)定性建設(shè)中不可或缺的一環(huán),例如對(duì)業(yè)務(wù)和前端的監(jiān)控,以保證出現(xiàn)問(wèn)題的時(shí)候,可以第一時(shí)間找到根因所在。今天,我們就結(jié)合小程序的場(chǎng)景來(lái)看看如何做好小程序。
小程序與 H5 的不同
小程序和 H5 都屬于移動(dòng)端場(chǎng)景下的技術(shù)選擇方案,那么這里介紹一下小程序與 H5 的不同。
1、運(yùn)行環(huán)境的不同
傳統(tǒng)的 H5 的運(yùn)行環(huán)境是瀏覽器,包括 webview,其中瀏覽器提供 window、document 等 BOM 對(duì)象;
小程序的邏輯層和渲染層是分開(kāi)的,邏輯層運(yùn)行在 JSCore 中,并沒(méi)有一個(gè)完整的瀏覽器對(duì)象,所以缺少相關(guān)的 DOM API 和 BOM API。
2、開(kāi)發(fā)成本的不同
H5 的開(kāi)發(fā),涉及到開(kāi)發(fā)工具、前端框架、模塊管理工具、任務(wù)管理工具、UI 庫(kù)的選擇、接口調(diào)用工具及瀏覽器兼容性等;
小程序的開(kāi)發(fā),指定環(huán)境的小程序會(huì)提供開(kāi)發(fā)者工具、API 及規(guī)范的開(kāi)發(fā)標(biāo)準(zhǔn)。由于小程序是跑在指定的環(huán)境下的,同時(shí) API 是指定環(huán)境下提供的,所以不用考慮瀏覽器的兼容性。
在 H5 開(kāi)發(fā)中,前端常用的 HTML/CSS 在不同的小程序中都有指定的文件標(biāo)準(zhǔn)。例如:
在微信小程序中使用 WXML/WXSS;
在支付寶小程序、釘釘 E 應(yīng)用中使用 AXML/ACSS;
在百度智能小程序中使用 SWAN/CSS;
......
開(kāi)發(fā)規(guī)范在指定的官方文檔中都會(huì)有明確的使用介紹,使用方法與原來(lái) H5 的開(kāi)發(fā)大同小異,所以上手開(kāi)發(fā)相對(duì)容易。
3、使用體驗(yàn)的不同
H5 頁(yè)面需要在瀏覽器中渲染,在復(fù)雜的業(yè)務(wù)邏輯或者豐富的頁(yè)面交互時(shí)會(huì)有卡頓情況;
小程序除首次使用略慢,頁(yè)面切換及跳轉(zhuǎn)等非常順滑,接近 Native。
通過(guò)以上幾點(diǎn)小程序和 H5 的不同的介紹,我們可以發(fā)現(xiàn)原來(lái)針對(duì) H5 頁(yè)面的監(jiān)控?zé)o法直接監(jiān)控小程序;同時(shí)由于小程序封閉性較強(qiáng),不同的小程序在標(biāo)準(zhǔn)上也略有不同,如微信小程序、支付寶小程序及釘釘 E 應(yīng)用等等小程序在使用標(biāo)準(zhǔn)及開(kāi)放的 API 方面也會(huì)有一些差異,所以針對(duì)小程序的監(jiān)控與針對(duì) Web 應(yīng)用的監(jiān)控會(huì)有所不同。
小程序監(jiān)控的現(xiàn)狀
現(xiàn)在針對(duì)小程序監(jiān)控的大概分為以下幾類(lèi):
1、小程序的數(shù)據(jù)統(tǒng)計(jì)分析,助力小程序運(yùn)營(yíng)
相關(guān)產(chǎn)品: 微信小程序助手、阿拉丁小程序統(tǒng)計(jì)平臺(tái)等;
特點(diǎn):大部分是針對(duì)微信小程序提供相應(yīng)的數(shù)據(jù)統(tǒng)計(jì)分析能力,從多維度分析小程序相關(guān)用戶(hù)數(shù)據(jù),適用于小程序運(yùn)營(yíng),但缺乏對(duì)于用戶(hù)體驗(yàn),小程序性能的監(jiān)控。
2、小程序錯(cuò)誤監(jiān)控
相關(guān)產(chǎn)品: FunDebug 等;
特點(diǎn):監(jiān)控小程序使用戶(hù)出現(xiàn)的錯(cuò)誤,幫助開(kāi)發(fā)者發(fā)現(xiàn)并解決小程序錯(cuò)誤,但缺乏對(duì)于小程序全局性能的監(jiān)控,對(duì)于緩慢請(qǐng)求,緩慢頁(yè)面沒(méi)法監(jiān)測(cè)。
3、小程序性能監(jiān)控
相關(guān)產(chǎn)品: FrontJS、聽(tīng)云小程序監(jiān)控等;
特點(diǎn):主要提供性能相關(guān)數(shù)據(jù),包括 JS 錯(cuò)誤、網(wǎng)絡(luò)請(qǐng)求響應(yīng)情況等。但是只支持微信小程序,而且沒(méi)有辦法把小程序的性能與后臺(tái)應(yīng)用的性能關(guān)聯(lián)起來(lái),沒(méi)法形成端到端的監(jiān)控。
通過(guò)上面對(duì)現(xiàn)有的小程序監(jiān)控產(chǎn)品分析,存在以下問(wèn)題:
無(wú)法支持所有的小程序監(jiān)控,主要支持微信小程序;
支持多類(lèi)小程序監(jiān)控的產(chǎn)品,提供的小程序相關(guān)數(shù)據(jù)較少,主要集中在錯(cuò)誤監(jiān)控;
沒(méi)有后臺(tái)應(yīng)用服務(wù)的性能監(jiān)控,無(wú)法從小程序上的性能問(wèn)題追溯到后臺(tái)應(yīng)用代碼和數(shù)據(jù)庫(kù),無(wú)法形成端到端的監(jiān)控。
基于以上情況,阿里云 ARMS 前端監(jiān)控重磅推出小程序監(jiān)控,旨在幫助端到端的快速定位小程序問(wèn)題,提升小程序的用戶(hù)體驗(yàn)。
小程序監(jiān)控提供的能力
阿里云 ARMS 前端監(jiān)控此次重點(diǎn)推出的小程序監(jiān)控有以下特點(diǎn):
1、覆蓋各類(lèi)符合標(biāo)準(zhǔn)規(guī)范的小程序
首先解釋一下這里所說(shuō)的"標(biāo)準(zhǔn)規(guī)范的小程序",即包含 App 和 Page 兩層:
App 用來(lái)描述整體程序,包含: onError 事件;
Page 用來(lái)描述各個(gè)頁(yè)面,包含: onShow、onHide、onUnload 事件。
小程序的運(yùn)行環(huán)境依賴(lài)于對(duì)應(yīng)的客戶(hù)端,各類(lèi)小程序的 DSL 設(shè)計(jì)看起來(lái)很像,但細(xì)節(jié)上的差別還是比較多,并且已有了分化的趨勢(shì)。在這種情況下,阿里云 ARMS 前端監(jiān)控為了更好的支持小程序的監(jiān)控訴求,提供以下小程序監(jiān)控的場(chǎng)景:
微信小程序
支付寶小程序
釘釘 E 應(yīng)用
其他類(lèi)別小程序
由于小程序發(fā)展迅速,現(xiàn)在無(wú)法針對(duì)各類(lèi)小程序都提供對(duì)應(yīng)的監(jiān)控 SDK,所以不屬于微信小程序、支付寶小程序和釘釘 E 應(yīng)用的小程序可選擇其他類(lèi)別小程序的場(chǎng)景接入進(jìn)行監(jiān)控,但要滿(mǎn)足上面說(shuō)的"標(biāo)準(zhǔn)規(guī)范的小程序"前提,同時(shí)支持 npm 包。
2、完善的性能監(jiān)控指標(biāo)
基礎(chǔ)業(yè)務(wù)指標(biāo),幫助了解小程序應(yīng)用的使用情況:
應(yīng)用總 PV/UV
頁(yè)面維度的 PV/UV
小程序各維度指標(biāo):
手機(jī)型號(hào)
操作系統(tǒng)版本
微信 / 支付寶等相應(yīng)的 APP 版本
網(wǎng)絡(luò)等
JS 錯(cuò)誤分析:
JS 錯(cuò)誤率、錯(cuò)誤聚類(lèi)、JS 錯(cuò)誤堆棧及錯(cuò)誤定位等
API 請(qǐng)求追蹤:
API 請(qǐng)求成功率、API 請(qǐng)求耗時(shí)及 API 請(qǐng)求的鏈路追蹤
自定義事件統(tǒng)計(jì)
支持業(yè)務(wù)上自定義事件 sum/avg 統(tǒng)計(jì)
3、可通過(guò)配置選擇上報(bào)方式
由于業(yè)務(wù)方使用監(jiān)控的訴求不同,我們不僅支持優(yōu)雅的靜默數(shù)據(jù)上報(bào),也支持使用開(kāi)放的統(tǒng)計(jì)能力進(jìn)行自定義上報(bào)。
小程序作為各大互聯(lián)網(wǎng)公司重磅加持的方向,未來(lái)小程序的應(yīng)用數(shù)量會(huì)越來(lái)越多。
聲明:本頁(yè)內(nèi)容由湖南景煌網(wǎng)絡(luò)通過(guò)網(wǎng)絡(luò)收集編輯所得,所有資料僅供用戶(hù)參考;本站不擁有所有權(quán),也不承認(rèn)相關(guān)法律責(zé)任。如您認(rèn)為本網(wǎng)頁(yè)中有涉嫌抄寫(xiě)的內(nèi)容,請(qǐng)及時(shí)與我們聯(lián)系進(jìn)行舉報(bào),并提供相關(guān)證據(jù),工作人員會(huì)在5個(gè)工作日內(nèi)聯(lián)系您,一經(jīng)查實(shí),本站將立刻刪除涉嫌侵權(quán)內(nèi)容。如果您對(duì)網(wǎng)站優(yōu)化核心技術(shù)文章感興趣,請(qǐng)點(diǎn)擊查看網(wǎng)站建設(shè)和網(wǎng)站推廣的相關(guān)文章,請(qǐng)關(guān)注湖南景煌網(wǎng)絡(luò)官網(wǎng)(www.banjiwang.cn)
全國(guó)7x24小時(shí)客服熱線
50倍賠付終端服務(wù)時(shí)間
部分產(chǎn)品可享受15天無(wú)理由退款
全國(guó)多家分公司便捷服務(wù)
持續(xù)陪伴企業(yè)成長(zhǎng),共創(chuàng),共贏
幫助企業(yè)建設(shè)全網(wǎng)營(yíng)銷(xiāo)生態(tài)鏈
讓企業(yè)與用戶(hù)快速連接一切
為企業(yè)與用戶(hù)搭建共享開(kāi)發(fā)平臺(tái)
0731-82272030
公司地址:長(zhǎng)沙市雨花區(qū)韶山北路460號(hào)(原86號(hào))興威名座北棟1202室
長(zhǎng)沙市芙蓉區(qū)、天心區(qū)、岳麓區(qū)、開(kāi)福區(qū)、雨花區(qū)、望城區(qū)均可提供上門(mén)洽談服務(wù)
湖南景煌網(wǎng)絡(luò)科技有限公司--為你提供網(wǎng)站建設(shè)、百度SEO、網(wǎng)站優(yōu)化、網(wǎng)絡(luò)推廣、百度排名、小程序開(kāi)發(fā)等服務(wù)
微信公眾號(hào)