偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

跨平臺移動端框架UniApp的應(yīng)用實踐

新聞 Android
CRM改造項目需要研發(fā)涵蓋網(wǎng)上營業(yè)廳(web版)主要業(yè)務(wù)能力的移動端掌廳APP,項目整體開發(fā)周期較短,且要求支持多平臺上線(IOS、安卓、H5等)。

 引言

CRM改造項目需要研發(fā)涵蓋網(wǎng)上營業(yè)廳(web版)主要業(yè)務(wù)能力的移動端掌廳APP,項目整體開發(fā)周期較短,且要求支持多平臺上線(IOS、安卓、H5等)。每個平臺要求相對一致的展示效果和用戶體驗,多端多尺寸設(shè)備的適配效果和SDK接入都成為痛點,引入一套跨平臺的Hybrid(混合開發(fā))框架勢在必行。

一、移動端跨平臺技術(shù)演進

以往最早的以Cordova為代表的Hybrid開發(fā),主要依賴于WebView。但是WebView是一個很重的控件,很容易產(chǎn)生內(nèi)存問題,而且復(fù)雜的UI在WebView上顯示的性能不理想。JS與Native代碼之間的通信需要使用JSBridge進行上下文切換,因此會降低一些性能。

Cordova原理示意圖

跨平臺移動端框架UniApp的應(yīng)用實踐

直至Facebook革命性地推出了ReactNative技術(shù),才得以拋開了WebView組件,改為利用JavaScriptCore來做橋接,將JS調(diào)用轉(zhuǎn)為Native調(diào)用,只犧牲了API轉(zhuǎn)換的小部分性能,這是跨平臺開發(fā)的一大步進步。 UniApp框架的構(gòu)建思想正是來源于此,并且引入Vue Runtime 深度定制進一步優(yōu)化了渲染性能和用戶體驗,而其采用的VueJS通用語法也一并解決了React Native各平臺代碼差異化過大,且需要較多原生知識的問題。

React Native及UniApp原理示意圖

跨平臺移動端框架UniApp的應(yīng)用實踐

二、UniApp框架介紹與應(yīng)用

1. 什么是UniApp

uni-app 是一個使用 Vue.js 開發(fā)跨平臺應(yīng)用的前端框架,開發(fā)者編寫一套代碼,可編譯到IOS、Android、H5、小程序等多個平臺,由DCloud(數(shù)字天堂)公司推出和運營維護。

2. 為什么是UniApp

對比其他移動端跨平臺框架(如Cordova/ReactNative/NativeJS),UniApp在跨端抹平度、擴展靈活性、性能體驗、周邊生態(tài)、開發(fā)成本等幾個方面上擁有明顯的優(yōu)勢。

(1)跨端數(shù)量多:一套代碼,編譯后可發(fā)布到iOS、Android、H5、小程序等多個平臺,且跨端抹平度高,應(yīng)用的顯示效果接近一致,真正能落實到生產(chǎn)力。這一點是UniApp的最大優(yōu)勢,完勝其他跨平臺框架。

(2)性能體驗優(yōu)秀:UniApp是體驗更好的Hybrid框架,加載新頁面速度更快。且App端支持weex原生渲染,可實現(xiàn)更流暢的動畫效果。相比較而言,依賴于WebView的Cordova框架性能方面就有所欠缺了。

(3)生態(tài)開放豐富:UniApp的插件市場,集成了近千余第三方插件,各種輪子拿來即用;同時,由于UniApp的接口API采用了小程序規(guī)范,微信生態(tài)的各種SDK可直接用于跨平臺App。在這個方面作對比,React Native框架的社區(qū)活躍度和資料文檔都較為有限。

(4)開發(fā)成本低:以前由N個平臺開發(fā)人員(IOS/安卓/H5)完成的開發(fā)任務(wù),現(xiàn)在采用前端通用技術(shù)棧實現(xiàn),研發(fā)、維護、測試各環(huán)節(jié)的成本都大幅下降。

同時,HBuilderX工具搭配UniApp可以免終端調(diào)試,可視化創(chuàng)建項目、可視化安裝組件和擴展編譯器,研發(fā)人員的開發(fā)體驗也變得更好,從而能夠更高效地編寫代碼。

3. 功能框架示意圖

UniApp在組件跨平臺(圖中綠色部分)的基礎(chǔ)上,同時支持某平臺下特色功能的定制開發(fā)。通過條件編譯引入該平臺個性化UI組件或調(diào)用專有API,即可實現(xiàn)單平臺下的定制化需求且不影響和干擾其他平臺。

跨平臺移動端框架UniApp的應(yīng)用實踐

4. 應(yīng)用生命周期

UniApp 支持如下的應(yīng)用生命周期函數(shù):

跨平臺移動端框架UniApp的應(yīng)用實踐

5. 如何使用UniApp

(1) 下載開發(fā)工具:HBuilderX

App開發(fā)版本: http://www.dcloud.io/hbuilderx.html

(2) 安裝并打開IDE之后,在點擊工具欄里的文件 -> 新建 -> 項目

(3) 選擇uni-app,輸入工程名,如:uni-test,點擊創(chuàng)建,成功創(chuàng)建 UniApp應(yīng)用。點擊模板里的 Hello uni-app 即可體驗官方示例。

(4) 進入項目,點擊工具欄的運行 -> 運行到瀏覽器/真機下運行/模擬器運行,也可以選擇小程序在微信開發(fā)者工具里運行。

(5) 工程目錄結(jié)構(gòu)

跨平臺移動端框架UniApp的應(yīng)用實踐

6. 開發(fā)規(guī)范

(1)頁面文件 遵循Vue單頁面組件規(guī)范,Vue中的結(jié)構(gòu)依然采用三大頂級代碼塊

https://vue-loader.vuejs.org/zh/spec.html#%E7%AE%80%E4%BB%8B

(2)組件標(biāo)簽 VUE通用模板寫法,編譯后以IOS或Android原生UI控件渲染

(所以不能使用標(biāo)準(zhǔn)的HTML標(biāo)簽,JS對DOM操作也得盡量避免)

https://uniapp.dcloud.io/component/README

跨平臺移動端框架UniApp的應(yīng)用實踐

(3)接口能力 微信小程序規(guī)范,接口地址前綴由wx修改uni

https://uniapp.dcloud.io/api/README

(4)樣式控制:以upx為尺寸單位,UniApp規(guī)定屏幕的基準(zhǔn)寬度750upx,使用 flex布局

https://uniapp.dcloud.io/frame?id=%E9%A1%B5%E9%9D%A2%E6%A0%B7%E5%BC%8F%E4%B8%8E%E5%B8%83%E5%B1%80

總結(jié)

任何框架都首先要服務(wù)于實際業(yè)務(wù)需求,技術(shù)的選型也需根據(jù)研發(fā)團隊成員的技術(shù)方向和具體情況而定,對于項目建設(shè)而言技術(shù)框架沒有最好的只有最適合的。綜合來講, UniApp是一個非常優(yōu)秀的移動端跨平臺框架,在UI表現(xiàn)力、性能體驗、生態(tài)成熟度幾個維度都能經(jīng)得起推敲,從推出至目前一年多的時間行業(yè)內(nèi)的接受態(tài)度也都是比較認(rèn)可和反饋較佳的,比較適合這個做項目做產(chǎn)品講究短平快,組件化,小而美的時代,所以推薦給大家學(xué)習(xí)和應(yīng)用。

 

責(zé)任編輯:張燕妮 來源: 今日頭條
相關(guān)推薦

2011-07-06 11:16:32

Unity3DCocos2dSparrow Fra

2014-05-26 16:52:29

移動前端web組件

2024-12-06 15:07:42

Python開發(fā)

2014-07-08 09:37:28

跨平臺Webhtml5

2015-05-13 10:09:39

移動跨平臺開發(fā)

2025-03-14 00:53:12

2010-10-09 15:01:27

PhoneGapiPhoneAndroid

2012-03-16 13:43:29

2020-08-13 15:36:14

移動端跨平臺小程序

2013-08-05 10:50:00

2010-11-11 09:04:05

跨平臺移動開發(fā)

2025-01-26 08:35:01

First UI移動端開發(fā)

2010-08-09 10:39:42

SilverlightMenlo

2014-06-04 10:37:20

CrossApp開源跨平臺開發(fā)引擎

2012-04-23 09:32:15

AppCan跨平臺開發(fā)

2012-04-25 16:16:08

Qcon2012Web APPPhoneGap

2025-04-16 10:00:00

跨平臺開發(fā)Uniapp開發(fā)

2015-01-14 09:41:28

跨平臺移動應(yīng)用Linux開發(fā)

2021-05-27 05:22:28

前端引擎平臺

2023-11-07 07:07:15

藍綠部署G行
點贊
收藏

51CTO技術(shù)棧公眾號