多端開發(fā)框架uni-app入坑指南,一套代碼適用微信、支付寶、今日頭條、百度等小程序

前言

hello 小伙伴們,現(xiàn)在我已經(jīng)正式入坑 uni-app 了。uni-app 已經(jīng)發(fā)布好幾個(gè)月了,期間也是踩坑無數(shù),但是官方秉承著不拋棄不放棄的精神,積極解決開發(fā)者的各種簡單的、復(fù)雜的問題,在此表示感謝。我想還有小伙伴正在持觀望狀態(tài),還沒想好要不要使用 uni-app,而且近些日子以來,許多跨端框架也紛紛出現(xiàn)在了大家的視線當(dāng)中,讓迷茫的我們更加不知道如何對比選擇了。 uni-app 入坑指南,方便大家更好的了解 uni-app 本篇只講述 uni-app,不與其他類似框架進(jìn)行對比

一、什么是 uni-app

  1. uni-app 是一個(gè)使用 Vue.js 開發(fā)跨平臺應(yīng)用的前端框架,開發(fā)者編寫一套代碼,可編譯到iOSAndroidH5、小程序等多個(gè)平臺。詳情點(diǎn)擊 uni-app 官方文檔
  2. uni-app在跨端數(shù)量、擴(kuò)展能力、性能體驗(yàn)、周邊生態(tài)、學(xué)習(xí)成本、開發(fā)成本等6大關(guān)鍵指標(biāo)上擁有極強(qiáng)的競爭優(yōu)勢 。
  • 跨端數(shù)量更多
  • 平臺能力不受限
  • 性能體驗(yàn)更優(yōu)秀
  • 周邊生態(tài)豐富
  • 學(xué)習(xí)成本低
  • 開發(fā)成本低

二、使用 uni-app 的前置條件

好多小伙伴可能要問了:哇,一套代碼可以編譯到那么多平臺,那是不是我學(xué)習(xí)起來很麻煩啊,我只會vue啊,不會小程序,也不會原生開發(fā),能不能學(xué)會uni-app呢。

這個(gè)問題問的就很棒,那么如果要學(xué)會uni-app需要會那些技能呢?答:你如果會vue,基本上就可以解決大多數(shù)問題了。多讀幾遍文檔,你會發(fā)現(xiàn)開發(fā)起來很順暢 。

但是為了更好的跨端開發(fā),我們肯定是要統(tǒng)一規(guī)范的:

  • 頁面組件我們要遵循Vue 單文件組件 (SFC) 規(guī)范
  • 組件標(biāo)簽靠近微信小程序規(guī)范
  • 接口能力(JS API)靠近微信小程序規(guī)范
  • 數(shù)據(jù)綁定及事件處理靠近 Vue.js 規(guī)范,同時(shí)補(bǔ)充了App及頁面的生命周期
  • 為兼容多端運(yùn)行,建議使用flex布局進(jìn)行開發(fā)

三、開發(fā)工具

使用官方推出的 HBuilderX 編輯器

可視化的方式比較簡單,HBuilderX 內(nèi)置相關(guān)環(huán)境,開箱即用,無需配置node 。

四、使用Vue.js

幾乎全支持 Vue官方文檔:模板語法

當(dāng)然,說的是幾乎,那肯定有不支持的情況下啊, 下面給大家羅列一下不支持的情況 :

  • 不支持純HTML
  • 不支持部分復(fù)雜的 JavaScript 渲染表達(dá)式
  • 不支持過濾器

五、小程序(微信、支付寶、百度、頭條)

當(dāng)然如果要開發(fā)小程序,不可避免的,我們肯定是要知道不同平臺下的小程序規(guī)范的 。當(dāng)然知道了這些規(guī)范之后,我們開發(fā)起來就比較簡單了。uni-app 給我們把不同平臺的小程序 API 幾乎都封裝了 ,只需要將前綴替換為 uni 即可 舉例說明:

我們調(diào)用微信小程序的 request 請求

多端開發(fā)框架uni-app入坑指南,一套代碼適用微信、頭條等小程序
多端開發(fā)框架uni-app入坑指南,一套代碼適用微信、頭條等小程序

我們使用 uni-apprequest 請求

有沒有發(fā)現(xiàn)什么不一樣的?對了,除了前綴 wx替換為uni之外,其他的地方一摸一樣,是不是這樣開發(fā)起來就很一賊了呢 。

六、App(ios、安卓)

uni-app 不僅可以使用絕大多數(shù)的小程序相關(guān)的 API,同時(shí)也可以使用 5+API 很好的補(bǔ)足了小程序上一些還沒有實(shí)現(xiàn)的功能,是不是很美好?而且開發(fā)方式還是跟上述一樣,沒有變化,是不是更美好了呢。

七、H5

h5 就不多說了,基本上跟常規(guī) vue 開發(fā)沒有什么區(qū)別, 唯一需要注意的是,有些 API 是不能在 h5 中使用,主要看文檔,看文檔,看文檔 。

八、如何實(shí)現(xiàn)跨端

當(dāng)然雖說是跨端,但是肯定是有情況是不支持的,比如遇到有些平臺特有的 API 怎么辦 ?

不用擔(dān)心,這些問題 uni-app 都為你想到了 那就是使用條件編譯

九、條件編譯

詳細(xì)看文檔)在 C 語言中,通過 #ifdef#ifndef 的方式,為 windowsmac 等不同 os編譯不同的代碼 uni-app 參考這個(gè)思路,為 uni-app 提供了條件編譯手段,在一個(gè)工程里優(yōu)雅的完成了平臺個(gè)性化實(shí)現(xiàn) 。

條件編譯是利用注釋實(shí)現(xiàn)的,在不同語法里注釋寫法不一樣,js使用 // 注釋css 使用 / 注釋 /vue/nvue 模板里使用 ****。

舉個(gè)例子:

多端開發(fā)框架uni-app入坑指南,一套代碼適用微信、頭條等小程序
多端開發(fā)框架uni-app入坑指南,一套代碼適用微信、頭條等小程序
多端開發(fā)框架uni-app入坑指南,一套代碼適用微信、頭條等小程序
多端開發(fā)框架uni-app入坑指南,一套代碼適用微信、頭條等小程序

是不是感覺很方便 ?這樣就可以很巧妙的去區(qū)分不同的平臺了,具體的請?jiān)敿?xì)看文檔,看文檔,看文檔 。

十、注意事項(xiàng)

  • H5 端,不能使用瀏覽器自帶對象,比如 documentwindowlocalstoragecookie 等,更不能使用 jquery 等依賴這些瀏覽器對象的框架。因?yàn)楦骷倚〕绦蚩鞈?yīng)用都不支持這些對象。沒有這些瀏覽器自帶對象并不影響業(yè)務(wù)開發(fā),uni 提供的 api 足夠完成業(yè)務(wù)。
  • uni-apptag 同小程序的 tag,和 HTMLtag 不一樣,比如 div 要改成 viewspan 要改成 texta 要改成 navigator

以上,所有內(nèi)容(除了我自己說的話以外)都來自 uni-app官方文檔,請注意多看文檔,多看文檔,多看文檔。

結(jié)語

ok,到這里入坑基本完畢。接下會講述如何使用 uni-app 從零開始開發(fā)一個(gè)完整的音樂應(yīng)用,盡情期待!

希望本文能幫助到您!

點(diǎn)贊+轉(zhuǎn)發(fā),讓更多的人也能看到這篇內(nèi)容(不收藏不點(diǎn)贊,都是耍流氓-_-)

想了解更多前端知識歡迎評論區(qū)留言或私信我!

**歡迎關(guān)注公眾號:fkdcxy 瘋狂的程序員丶 **獲取更多前端教程!

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 230,622評論 6 544
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 99,716評論 3 429
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 178,746評論 0 383
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經(jīng)常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,991評論 1 318
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 72,706評論 6 413
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 56,036評論 1 329
  • 那天,我揣著相機(jī)與錄音,去河邊找鬼。 笑死,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 44,029評論 3 450
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 43,203評論 0 290
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 49,725評論 1 336
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 41,451評論 3 361
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 43,677評論 1 374
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 39,161評論 5 365
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 44,857評論 3 351
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 35,266評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,606評論 1 295
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 52,407評論 3 400
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 48,643評論 2 380

推薦閱讀更多精彩內(nèi)容