官术网_书友最值得收藏!

3.7 公眾號、小程序與快應用的開發

3.7.1 公眾號開發

公眾號開發是指針對微信公眾號的開發。公眾號開發主要使用H5x相關技術,主要開發內容包括:(1)獲得微信平臺的安全授權,獲得公眾號專屬的OpenID,使用AccessToken安全調用接口。(2)使用公眾號內的消息會話,公眾號是作為微信用戶的一個聯系人形式存在的,消息會話是公眾號與用戶直接交互的基礎。(3)公眾號內的業務場景通過自定義菜單鏈接到網頁的形式實現。這時需要網頁獲得用戶的授權,獲取用戶基本信息,還可以通過微信JS-SDK使用微信原生功能,實現在網頁上錄制和播放微信語音、監聽微信分享、上傳手機本地圖片、拍照等功能。

3.7.2 小程序開發

小程序是指運行在超級App內,不需要另外安裝的應用,超級App作為應用商店,負責小程序的審核,同時為小程序提供相應的環境生態與流量支持?,F在互聯網頭部超級App如微信、支付寶、頭條、百度、京東等都推出了自己的小程序體系。

小程序一般包括視圖層和邏輯層。視圖層一般包括頁面配置文件、頁面結構文件、頁面樣式文件,一般各平臺在視圖層都自定義描述頁面結構的類HTML標簽語言以及類CSS的樣式語言。組件(Component)是視圖的基本組成單元。視圖層通過事件機制連接邏輯層。邏輯層一般用JavaScript編寫,一般都支持MVVM模式,邏輯層可以調用部分原生API與OpenAPI,原生API包括多媒體、文件、位置、網絡、設備等接口,OpenAPI是超級App開放的特色能力接口。

3.7.3 快應用開發

快應用是手機市場上處于領先地位的九大手機廠商共同推出的新型應用生態。用戶無需下載安裝,即點即用,更新直接推送,享受原生應用的性能體驗。

“快應用”使用前端技術棧開發,原生渲染,同時具備H5頁面和原生應用的雙重優點。

快應用前端開發模式與Vue相近,采用MVVM模式,支持標準的JS語法,為獲得更高的渲染性能和易用性,對CSS和標簽進行了一些剪裁和擴充,很多前端代碼資源可以直接復用。

快應用沒有采用瀏覽器內核的運行模式,框架深度集成進各手機廠商的手機操作系統中,在操作系統層面形成用戶需求與應用服務的無縫連接,將系統原生的渲染機制和接口能力提供給上層應用。很多原本在原生應用中才能使用的功能,在快應用中可以很方便地實現,享受原生應用體驗??鞈糜凶约旱摹翱鞈弥行摹弊鳛閼萌肟冢瑫r支持生成桌面圖標,不用擔心分發留存等問題,資源消耗也比較少。

3.7.4 多端開發框架

Web、Native、超級App小程序、快應用等各種端形式多樣,針對不同的端編寫多套代碼的成本顯然非常高,需要只編寫一套代碼就能夠適配到多端的能力。

uni-app與Taro是開源的多端開發解決方案,均支持移動端、H5、微信小程序、百度小程序、支付寶小程序、頭條小程序這六端的轉化,uni-app遵循VUE的規范,Taro遵循React語法規范。它們支持多端適配的原理是先把代碼解析成一棵抽象語法樹,根據這棵樹生成其他小程序端支持的模板代碼,最后把業務代碼運行在一個與其他端框架兼容的運行時框架上。

將源代碼解析為AST抽象語法樹可以使用Acorn等JavaScript解析器。解析之前代碼時遵循語言規則的文本,解析之后成為與輸入文本完全相同的樹形結構。這個過程是可逆的,再一次對AST遍歷以及替換,這個過程對于前端來說相當于DOM樹的生成,最后根據修改后的AST生成編譯后的代碼,如圖3-13所示。

圖3-13 多端開發框架的代碼轉換

Antmove(螞蟻搬家)是一個小程序平臺開發的統一解決方案,通過編寫一次代碼,編譯成不同平臺的小程序代碼。Antmove并不是開發框架,而是源碼到源碼的轉換器。Antmove生成的代碼侵入性更少,可以產生原生的小程序代碼。

主站蜘蛛池模板: 拜泉县| 临夏市| 墨江| 邵武市| 临沭县| 凌海市| 东方市| 五华县| 莫力| 吉林省| 家居| 峨山| 社旗县| 田林县| 雷山县| 商都县| 滨州市| 冷水江市| 子洲县| 雷州市| 东港市| 永川市| 垣曲县| 英山县| 旺苍县| 抚州市| 枣庄市| 远安县| 乳源| 鄂温| 弥勒县| 西宁市| 上饶市| 兰溪市| 措勤县| 枣庄市| 谢通门县| 临漳县| 黔西县| 桂平市| 四子王旗|