taro 怎么集成 android sdk?
【CSDN編者按】小程序這個(gè)由微信帶頭的產(chǎn)物,格外鮮明地體現(xiàn)了移動(dòng)互聯(lián)網(wǎng)的「時(shí)機(jī)」這個(gè)詞,早在微信小程序之前,有力推輕應(yīng)用的百度,有來(lái)自HTML5中國(guó)產(chǎn)業(yè)聯(lián)盟的DCloud所主張的流應(yīng)用,但最終卻都已經(jīng)淹沒(méi)在了移動(dòng)互聯(lián)網(wǎng)的歷史長(zhǎng)河之中。唯有微信小程序風(fēng)生水起,更是帶動(dòng)了巨頭們的爭(zhēng)相入場(chǎng)。
小程序迎來(lái)了專(zhuān)屬于中國(guó)移動(dòng)互聯(lián)網(wǎng)的群雄逐鹿的時(shí)代。
本文作者王安即是流應(yīng)用的創(chuàng)造者,作為移動(dòng)領(lǐng)域的老兵,他依然在矢志不移地構(gòu)建移動(dòng)開(kāi)發(fā)工具框架及生態(tài),從原生應(yīng)用到HTML5再到如今的小程序,他是這段歷史的見(jiàn)證者、參與者。從這篇文章中,我們能夠鮮活地看到小程序的技術(shù)演進(jìn)歷程,以及對(duì)于所有開(kāi)發(fā)者來(lái)說(shuō),終將去往何處。
作者|王安
責(zé)編|唐小引
封圖|CSDN付費(fèi)下載自東方IC
出品|CSDN(ID:CSDNnews)
中國(guó)特色的移動(dòng)互聯(lián)網(wǎng)時(shí)代
伴隨著QQ小程序面向用戶(hù)開(kāi)放,這個(gè)手機(jī)端月活7億的巨無(wú)霸正式入場(chǎng)。小程序,終于成為了超級(jí)App的標(biāo)配。
盤(pán)點(diǎn)下已經(jīng)支持小程序的超級(jí)App:
微信、企業(yè)微信、QQ、支付寶、高德地圖、手機(jī)淘寶、百度、百度貼吧、百度地圖、今日頭條、抖音……
這些璀璨耀眼的名字,背后都是巨大的流量。
在這群超級(jí)App的支持下,中國(guó)的移動(dòng)互聯(lián)網(wǎng)格局被徹底改變。
這個(gè)有中國(guó)特色的移動(dòng)互聯(lián)網(wǎng)時(shí)代,被稱(chēng)為“小程序時(shí)代”。
這是繼手機(jī)支付后,中國(guó)的移動(dòng)互聯(lián)網(wǎng)領(lǐng)先世界的第二個(gè)代表事物。
中國(guó)的技術(shù)標(biāo)準(zhǔn)、開(kāi)發(fā)者生態(tài),第一次得到大規(guī)模的普及應(yīng)用,而且很明顯,小程序在功能和體驗(yàn)上均超過(guò)了HTML5。
中國(guó)人能建立開(kāi)發(fā)者生態(tài)嗎?這個(gè)命題曾一度讓人懷疑。
小程序完成了這一步突破,這是一場(chǎng)值得歌頌的中國(guó)技術(shù)生態(tài)發(fā)展史。
讓我們來(lái)回顧下這場(chǎng)技術(shù)生態(tài)革命,是如何開(kāi)始,又將要去向何方。
羅馬不是一天建成的
小程序不是一天發(fā)明出來(lái)的
HTML5于2007年在W3C立項(xiàng),與iPhone發(fā)布同年。
喬布斯曾期待HTML5能幫助iPhone打造起應(yīng)用生態(tài)系統(tǒng)。
但HTML5的發(fā)展速度并不如預(yù)期,它雖然成功地實(shí)現(xiàn)了打破IE+Flash壟斷局面的目標(biāo),卻沒(méi)有達(dá)到承載優(yōu)秀的移動(dòng)互聯(lián)網(wǎng)體驗(yàn)的地步。
于是在iPhone站穩(wěn)腳跟后,發(fā)布了自己的AppStore,開(kāi)啟了移動(dòng)互聯(lián)網(wǎng)的原生應(yīng)用時(shí)代。
隨后的Android,本來(lái)是基于Linux的OS,與之同期的MeeGo等競(jìng)爭(zhēng)對(duì)手采用C+HTML5的雙模應(yīng)用生態(tài)策略,然而C的開(kāi)發(fā)難度太大,HTML5體驗(yàn)又不行。Android依靠Java技術(shù)生態(tài),在競(jìng)爭(zhēng)中脫穎而出。
于是在移動(dòng)互聯(lián)網(wǎng)初期,應(yīng)用生態(tài)被定了基調(diào)——原生開(kāi)發(fā)。
在那個(gè)時(shí)候,硬件不行,也沒(méi)有其他辦法,原生開(kāi)發(fā)才能在低配硬件上帶來(lái)商用體驗(yàn)。
但大家都在懷念HTML,那種無(wú)需安裝更新、即點(diǎn)即用,直達(dá)二級(jí)頁(yè)面的特點(diǎn),一直讓人迷戀。
圖源:CSDN付費(fèi)下載自東方IC
國(guó)內(nèi)有一批做瀏覽器的廠商,嘗試去改進(jìn)HTML5,他們提出了輕應(yīng)用的概念。
通過(guò)給WebView擴(kuò)展原生能力,補(bǔ)充JSAPI,讓HTML5應(yīng)用可以實(shí)現(xiàn)更多功能。
不過(guò)這類(lèi)業(yè)務(wù)沒(méi)有取得成功,HTML5的問(wèn)題不止是功能不足,性能體驗(yàn)是它更嚴(yán)重的問(wèn)題,而體驗(yàn)問(wèn)題,不是簡(jiǎn)單地?cái)U(kuò)展JS能力能搞定的。
這類(lèi)業(yè)務(wù)發(fā)展的頂峰,是微信的JSSDK。
作為國(guó)內(nèi)事實(shí)上最大的手機(jī)瀏覽器,微信為它的瀏覽器內(nèi)核擴(kuò)充了大量JSAPI,讓開(kāi)發(fā)者可以用JS調(diào)用微信支付、掃碼等眾多HTML5做不到的功能。
微信JSSDK說(shuō)明文檔
但微信團(tuán)隊(duì)對(duì)這套方案的體驗(yàn)仍然不滿(mǎn)意,微信錢(qián)包欄目里打車(chē)、理財(cái)?shù)群芏鄳?yīng)用雖然嵌入了JSSDK,但每次點(diǎn)擊要等半天白屏,讓人用著很痛苦,他們?cè)跇I(yè)內(nèi)開(kāi)始尋找新的解決方案。
業(yè)內(nèi)早有專(zhuān)業(yè)團(tuán)隊(duì)看到了相同的問(wèn)題。
與瀏覽器不同,Hybrid應(yīng)用是另一個(gè)細(xì)分領(lǐng)域。它們?yōu)殚_(kāi)發(fā)者提供使用JS編寫(xiě)跨平臺(tái)應(yīng)用的工具,為了讓JS應(yīng)用更接近原生應(yīng)用的功能體驗(yàn),這個(gè)行業(yè)的從業(yè)者做出了很多嘗試。
筆者所在的DCloud即是其中之一,我們提出了改進(jìn)HTML5的“性工能”障礙的解決方案——通過(guò)工具、引擎優(yōu)化、開(kāi)發(fā)模式調(diào)整,讓開(kāi)發(fā)者可以通過(guò)JS寫(xiě)出更接近原生App體驗(yàn)的應(yīng)用。
多WebView模式,原生接管轉(zhuǎn)場(chǎng)動(dòng)畫(huà)、下拉刷新、Tab分頁(yè),預(yù)載WebView……各種優(yōu)化技術(shù)不停迭代,終于讓Hybrid應(yīng)用取得了性能體驗(yàn)的突破。
Hybrid應(yīng)用和普通的輕應(yīng)用相比,還有一個(gè)巨大的差別:一個(gè)是Client/Server,一個(gè)是Browser/Server。簡(jiǎn)單來(lái)說(shuō),Hybrid應(yīng)用是JS編寫(xiě)的需要安裝的App,而輕應(yīng)用是在線網(wǎng)頁(yè)。
C/S的應(yīng)用在每次頁(yè)面加載時(shí),僅需要聯(lián)網(wǎng)獲取JSON數(shù)據(jù);而B(niǎo)/S應(yīng)用除了JSON數(shù)據(jù)外,還需要每次從服務(wù)器加載頁(yè)面DOM、樣式、邏輯代碼,所以B/S應(yīng)用的頁(yè)面加載很慢,體驗(yàn)很差。
可是這樣的C/S應(yīng)用雖然體驗(yàn)好,卻失去了HTML5的動(dòng)態(tài)性,仍然需要安裝、更新,無(wú)法即點(diǎn)即用、直達(dá)二級(jí)頁(yè)面。
那么C/S應(yīng)用的動(dòng)態(tài)性是否可以解決呢?對(duì)此,我們提出了流應(yīng)用概念,把之前Hybrid應(yīng)用里的運(yùn)行于客戶(hù)端的JS代碼,先打包發(fā)布到服務(wù)器,制定流式加載協(xié)議,手機(jī)端引擎動(dòng)態(tài)下載這些JS代碼到本地,并且為了第一次加載速度更快,實(shí)現(xiàn)了應(yīng)用的邊下載邊運(yùn)行。
就像流媒體的邊下邊播一樣,應(yīng)用也可以實(shí)現(xiàn)邊用邊下。
在這套方案的保障下,終于解決了之前的各種難題:讓JS應(yīng)用功能體驗(yàn)達(dá)到原生,并且可即點(diǎn)即用、可直達(dá)二級(jí)頁(yè)面。
如今看來(lái),這已經(jīng)變成了常識(shí)。但在當(dāng)年,先驅(qū)們做了無(wú)數(shù)艱辛探索。
這套技術(shù),需要讓客戶(hù)端引擎提前預(yù)置在手機(jī)上,就像流媒體的普及,建立在Flash的裝機(jī)量巨大的基礎(chǔ)上,那么普及這個(gè)客戶(hù)端引擎就變得很重要。
2015年,360和DCloud合作,在360手機(jī)助手里內(nèi)嵌了這個(gè)客戶(hù)端引擎,推出了業(yè)內(nèi)第一個(gè)商用的小程序,360稱(chēng)之為360微應(yīng)用。
微應(yīng)用實(shí)現(xiàn)了在360手機(jī)助手的應(yīng)用下載頁(yè)面,同時(shí)出現(xiàn)了“秒開(kāi)”按鈕,點(diǎn)擊后直接使用。
并且在360手機(jī)助手的掃碼里,應(yīng)用的分享里,都實(shí)現(xiàn)了掃碼獲得一個(gè)應(yīng)用,點(diǎn)擊分享消息獲得一個(gè)應(yīng)用。
在360手機(jī)助手3.4版本中上線的中國(guó)第一個(gè)小程序
為了做大生態(tài),DCloud把這套技術(shù)標(biāo)準(zhǔn),捐獻(xiàn)給了HTML5中國(guó)產(chǎn)業(yè)聯(lián)盟,隨后,聯(lián)盟開(kāi)始推動(dòng)更多的超級(jí)App和手機(jī)廠商加入,共同推進(jìn)動(dòng)態(tài)App產(chǎn)業(yè)的發(fā)展。
然而事情并不順利,巨頭們有自己的利益訴求。雖然有一批廠商同意加入聯(lián)盟共建生態(tài),但最關(guān)鍵的角色,真正的國(guó)民應(yīng)用“微信”,最終決定自立標(biāo)準(zhǔn)、自研引擎,當(dāng)然技術(shù)原理與流應(yīng)用是基本一致的。
2016年1月11日,微信公開(kāi)課,張小龍罕見(jiàn)露面,公布了微信應(yīng)用號(hào)的計(jì)劃,為這個(gè)大事件親自站臺(tái)。
2016年9月21日,微信宣布更名應(yīng)用號(hào)為小程序,面向首批開(kāi)發(fā)者內(nèi)測(cè)。從此,這個(gè)詞被正式定了下來(lái),“小程序”,成為后續(xù)一個(gè)時(shí)代的代名詞。而“流應(yīng)用”、“微應(yīng)用”則淹沒(méi)在歷史長(zhǎng)河中成為一個(gè)令人唏噓的故事。
2017年1月9日,微信公開(kāi)課,小程序面向用戶(hù)正式推出。
從此后,阿里巴巴、手機(jī)廠商聯(lián)盟、百度、今日頭條,陸續(xù)推出了自己的小程序平臺(tái),其中也有很多波折與故事,在有偶然、有必然的過(guò)程中,形成了今天的局面。
小程序大潮卷入了更多人,并形成了更大的浪潮,最終迎來(lái)了不可逆轉(zhuǎn)的小程序時(shí)代。
生態(tài)難,難于上青天
發(fā)明能解決功能體驗(yàn)和動(dòng)態(tài)性的技術(shù)方案,雖然難,但不是最難的事情。
最難的是開(kāi)發(fā)者生態(tài)的建設(shè)。
最初HTML5中國(guó)產(chǎn)業(yè)聯(lián)盟的策略是在HTML5上擴(kuò)展強(qiáng)化,復(fù)用現(xiàn)有的HTML5生態(tài)。
當(dāng)微信的標(biāo)準(zhǔn)完全自立重建時(shí),業(yè)內(nèi)人士都懸著一顆心。
在全球,基于Web的技術(shù)生態(tài)已經(jīng)非常成熟,各種開(kāi)發(fā)工具、框架、組件、模板...提升著開(kāi)發(fā)者的效率。
小程序丟棄了國(guó)際標(biāo)準(zhǔn)組織W3C的DOM和Window標(biāo)準(zhǔn),僅僅采用基礎(chǔ)JavaScript。這意味著HTML5生態(tài)的各種輪子無(wú)法復(fù)用,要完全重造一個(gè)新的小程序開(kāi)發(fā)生態(tài)。
當(dāng)初微信推廣JSSDK時(shí),是那么地順其自然,開(kāi)發(fā)者紛紛開(kāi)始使用,因?yàn)閷?duì)于開(kāi)發(fā)者,只是在他們的H5版本上補(bǔ)充一些API而已。
而小程序初期,充滿(mǎn)了開(kāi)發(fā)者的質(zhì)疑聲:我的業(yè)務(wù)迭代那么久,讓我重新做一個(gè)版本,你的生態(tài)到底能不能支撐我的投入?
微信用持續(xù)而快速的版本升級(jí)、高管的站臺(tái),告訴大家微信做小程序的決心,并最終通過(guò)2017年底的跳一跳,引爆了小程序。
從此大家的問(wèn)題不再是我要不要做小程序了,而轉(zhuǎn)向了:既然要做,怎么才能提升小程序的開(kāi)發(fā)效率、降低開(kāi)發(fā)成本?
任何一種技術(shù),或者開(kāi)發(fā)模式的演進(jìn),在不斷成熟的過(guò)程中,都遵循著類(lèi)似的成熟規(guī)律:
技術(shù)標(biāo)準(zhǔn)->基礎(chǔ)平臺(tái)->開(kāi)發(fā)工具->培訓(xùn)市場(chǎng)->框架誕生->周邊生態(tài)逐步完善->輪子之上的輪子
在HTML5生態(tài)里,已經(jīng)發(fā)展到最終極的形態(tài),比如Vue是一個(gè)重要框架,而基于Vue的各種豐富的UI庫(kù)、測(cè)試框架,則是輪子之上的輪子。
多層輪子代表著生態(tài)的繁榮,也意味著開(kāi)發(fā)者的開(kāi)發(fā)效率更高。
可微信的全新標(biāo)準(zhǔn)出現(xiàn)時(shí),它把開(kāi)發(fā)者推回了原始社會(huì),一切都要重來(lái)。
這在當(dāng)時(shí)看來(lái),并不是一個(gè)必然會(huì)成功的事情(其實(shí)直到現(xiàn)在,比如圖表類(lèi)輪子,小程序仍然比不過(guò)HTML5)。
時(shí)至今日,討論這個(gè)標(biāo)準(zhǔn)的選擇對(duì)錯(cuò)已經(jīng)沒(méi)有意義。當(dāng)支付寶、百度、今日頭條都開(kāi)始參考這個(gè)標(biāo)準(zhǔn)做小程序時(shí),時(shí)代已經(jīng)不可阻擋。
所幸,最終的結(jié)果是,中國(guó)人做成了。在國(guó)際標(biāo)準(zhǔn)之外,在中國(guó),終于建立起了自己的技術(shù)生態(tài)。
并且這個(gè)生態(tài),給用戶(hù)帶來(lái)了更好的體驗(yàn),給開(kāi)發(fā)者帶來(lái)了更多流量和變現(xiàn)效率的提升,這是一個(gè)比HTML5更優(yōu)秀的生態(tài)。
野蠻的技術(shù)生態(tài)成長(zhǎng)速度
兩年時(shí)間,中國(guó)的小程序開(kāi)發(fā)者如何從原始社會(huì)進(jìn)階到現(xiàn)代文明?這也是一段有趣的歷史。
我們來(lái)看看小程序技術(shù)生態(tài)是如何快速成長(zhǎng),走完上面所說(shuō)的這套技術(shù)成熟路線,也就是從技術(shù)標(biāo)準(zhǔn)到輪子之上的輪子的。
在Web世界里,已經(jīng)成熟到了原生JS用量很少的時(shí)代了,開(kāi)發(fā)人員大量使用Vue等框架,并且在Vue的基礎(chǔ)之上,又有更多輪子。
當(dāng)中國(guó)的開(kāi)發(fā)人員面臨重頭開(kāi)始時(shí),他們感受到效率對(duì)比的差距,既然時(shí)代已不可阻擋,那就擁抱它。勤勞的中國(guó)技術(shù)人開(kāi)始蓬勃地建設(shè)起了小程序各種周邊技術(shù)生態(tài)。
其中比較重要的是開(kāi)發(fā)框架的迭代,我們看看每個(gè)小程序開(kāi)發(fā)框架為什么會(huì)誕生、流行和衰落。
最初的微信小程序,一片荒蠻,一份文檔+一個(gè)難用的IDE,很多效率工具比如npm、預(yù)處理器這些都不支持,而這些已經(jīng)是大型項(xiàng)目離不開(kāi)的工具。
于是,第一個(gè)標(biāo)志性的框架出現(xiàn)了——WePY。
WePY緊隨微信小程序在2017年發(fā)布,原本是騰訊其他部門(mén)的一個(gè)個(gè)人工程師的作品。在那個(gè)年代,WePY有效地解決了小程序不支持npm、預(yù)處理器的痛點(diǎn),被引爆后,騰訊官方才把這個(gè)框架收編到官方的GitHub下。
不過(guò)WePY也面臨很多問(wèn)題,它使用了私有語(yǔ)法,這讓它在生態(tài)建設(shè)上面臨很大難度,IDE著色、語(yǔ)法提示、語(yǔ)法校驗(yàn)、格式化、人員招聘培訓(xùn)等各方面問(wèn)題制約著它的流行和普及。
面對(duì)這些問(wèn)題,人們開(kāi)始思考,有什么更好的方式,可以復(fù)用現(xiàn)有技術(shù)生態(tài)來(lái)快速完善小程序生態(tài)?
這時(shí)候下一個(gè)重要框架借勢(shì)誕生,美團(tuán)前端在2018年初開(kāi)源了MPVue。
MPVue采用Vue語(yǔ)法來(lái)開(kāi)發(fā)小程序,通過(guò)對(duì)Vue.js的底層改造,實(shí)現(xiàn)了編譯到微信小程序。
MPVue良好地借助了Vue的技術(shù)生態(tài),周邊工具如IDE、校驗(yàn)器、格式化等支持直接復(fù)用、人員招聘培訓(xùn)等生態(tài)建設(shè)壓力大幅下降,受到了大量開(kāi)發(fā)者的歡迎。
看著熟悉Vue的開(kāi)發(fā)者終于有了趁手的輪子,那熟悉React的開(kāi)發(fā)者怎會(huì)無(wú)動(dòng)于衷?
京東團(tuán)隊(duì)是React的重度用戶(hù),還自研了JDreact,于是他們開(kāi)發(fā)了Taro框架,一款基于React語(yǔ)法編寫(xiě)小程序的框架。
但Taro并不是想簡(jiǎn)單做一個(gè)MPVue在React世界里的翻版,Taro相比MPVue,想要解決更多重要問(wèn)題。
Taro面世較晚,此時(shí)微信、支付寶、百度、頭條都已發(fā)布或宣傳了自己的小程序,開(kāi)發(fā)者面臨一個(gè)多端開(kāi)發(fā)和適配的問(wèn)題。
于是Taro率先支持多端開(kāi)發(fā),它甚至還能發(fā)布到H5和App。
圖源:京東凹凸實(shí)驗(yàn)室
當(dāng)時(shí)小程序領(lǐng)域還有一個(gè)重要變化,微信開(kāi)始支持小程序自定義組件。
組件是一個(gè)成熟框架不可缺的東西,不管是Vue還是React都有豐富的組件生態(tài)。
在過(guò)去,MPVue時(shí)代,是把Vue組件也編譯成頁(yè)面模板,這帶來(lái)一個(gè)很大的性能問(wèn)題,在復(fù)雜頁(yè)面里(比如長(zhǎng)列表)使用組件,更新組件狀態(tài)會(huì)導(dǎo)致整個(gè)頁(yè)面的數(shù)據(jù)全部從JS邏輯層向視圖層通訊一次,大量數(shù)據(jù)通訊會(huì)非??D。
注意:小程序的邏輯層運(yùn)行在V8或JSCore下,和視圖層是分離的,通訊阻塞很容易引發(fā)性能問(wèn)題。
于是Taro把React組件編譯為新出的微信小程序自定義組件,這種組件在數(shù)據(jù)更新時(shí),只會(huì)更新組件內(nèi)部的數(shù)據(jù),而不是整個(gè)頁(yè)面更新數(shù)據(jù),從而大幅減少了數(shù)據(jù)通信量。
這一輪的后浪推前浪很猛,Taro在性能和多端支持上,都超越了MPVue。
看著React陣營(yíng)取得如此成績(jī),Vue陣營(yíng)自然會(huì)繼續(xù)追擊。
我們基于Vue開(kāi)發(fā)了uni-app,它實(shí)現(xiàn)了自定義組件編譯模式,并在算法上做了很多優(yōu)化。另外,之前MPVue對(duì)Vue的語(yǔ)法支持度不太完善,比如過(guò)濾器等不支持,在uni-app中我們進(jìn)行了解決。
同樣,uni-app也看到了前浪的其他問(wèn)題:Taro雖然邁出了多端的第一步,但多端支持能力比較弱,每個(gè)平臺(tái)仍然各自開(kāi)發(fā)大量代碼。核心原因,是Taro在H5端和App端,并不是一個(gè)完整的小程序技術(shù)架構(gòu),無(wú)法保持最大程度的統(tǒng)一。
于是uni-app在App端,使用了一個(gè)技術(shù)架構(gòu)相同的小程序引擎,本身就可以直接運(yùn)行小程序應(yīng)用,這個(gè)引擎搭配小程序代碼打包為App,開(kāi)發(fā)者一行代碼不用改,可以同時(shí)發(fā)布小程序和App。
當(dāng)然,其App引擎從Hybrid應(yīng)用起家,它提供的API要比小程序多很多,因?yàn)锳pp的需求會(huì)比小程序豐富,它還支持把WebView渲染引擎替換為Weex渲染引擎。
之后uni-app又發(fā)布了H5版的小程序引擎,原理與小程序的PC模擬器相同,實(shí)現(xiàn)了良好的跨H5版的發(fā)布。于是uni-app比較完美地實(shí)現(xiàn)了開(kāi)發(fā)一次,7個(gè)平臺(tái)發(fā)布。
第一層輪子就這樣迅速發(fā)展了起來(lái),Web世界里最成熟的Vue、React技術(shù)生態(tài)被導(dǎo)入了小程序開(kāi)發(fā)生態(tài)中。然后輪子之上的輪子開(kāi)始如火如荼的建設(shè)。
以UI庫(kù)為例,之前的UI庫(kù),有Vue庫(kù)、React庫(kù),有PC庫(kù)、H5庫(kù)和小程序庫(kù),種類(lèi)繁多,甚至說(shuō)混亂。
比如在Vue陣營(yíng)中,Vant和iView這兩個(gè)UI庫(kù),都是同時(shí)維護(hù)兩個(gè)版本,它們即有H5版,又有小程序版。
不止框架作者麻煩,開(kāi)發(fā)者想在多端使用這些UI庫(kù)時(shí),會(huì)發(fā)現(xiàn)在不同端還需要引入不同的UI庫(kù),寫(xiě)法都不一樣,這讓開(kāi)發(fā)者很崩潰。
既然已經(jīng)可以多端開(kāi)發(fā)應(yīng)用,于是在多端開(kāi)發(fā)的領(lǐng)域里,開(kāi)始出現(xiàn)輪子之上的輪子,多端UI庫(kù)。
首先是Taro推出了TaroUI,實(shí)現(xiàn)了H5和小程序UI庫(kù)的統(tǒng)一,不過(guò)可惜TaroUI不支持App端。
然后uni-app推出了uniUI,這個(gè)UI庫(kù)同時(shí)支持多家小程序、H5、App。
由于uni-app和MPVue同屬Vue陣營(yíng),它們的組件是互通的。于是這兩家聯(lián)合舉辦了一場(chǎng)插件大賽,建立了插件市場(chǎng)。
在中國(guó)的前端開(kāi)發(fā)者領(lǐng)域,有很多和國(guó)外不一樣的地方:一個(gè)是國(guó)內(nèi)有小程序,第二個(gè)是國(guó)內(nèi)Vue的開(kāi)發(fā)者體量遠(yuǎn)超過(guò)React和Angular。這里面很大的原因,是Vue.js的作者尤雨溪,是中國(guó)人。
Vue和React百度指數(shù)對(duì)比
在龐大的Vue用戶(hù)體量支持下,uni-app和MPVue的周邊生態(tài)迅速發(fā)展起來(lái),開(kāi)發(fā)工具、周邊輪子、教育培訓(xùn)等生態(tài)快速完善。目前在Vue陣營(yíng)下,開(kāi)發(fā)者在Web生態(tài)下所需的輪子,在多端開(kāi)發(fā)下基本也都有了。
短短兩年時(shí)間,小程序開(kāi)發(fā)生態(tài)里幾撥迭代,輪子之上的輪子不斷涌現(xiàn),快速進(jìn)入了成熟期。
產(chǎn)業(yè)還在繼續(xù)發(fā)展,每當(dāng)?shù)讓佑兄卮蠹夹g(shù)變更時(shí),上層框架世界就會(huì)發(fā)生新機(jī)會(huì)。
當(dāng)年HTML5標(biāo)準(zhǔn)不統(tǒng)一,瀏覽器兼容性問(wèn)題嚴(yán)重,誕生了jQurey的機(jī)會(huì)。而在移動(dòng)互聯(lián)網(wǎng)下半場(chǎng),瀏覽器兼容已經(jīng)不再是核心問(wèn)題,jQurey的地位被更適合移動(dòng)互聯(lián)網(wǎng)的Vue替代。
我們不知道未來(lái)還會(huì)有什么新的框架出世,但我們知道方向:
對(duì)于開(kāi)發(fā)者而言,總是會(huì)向著更高的開(kāi)發(fā)效率、更高的性能、更高的投入產(chǎn)出比前進(jìn)。
對(duì)于開(kāi)發(fā)商,目前的小程序,雖然發(fā)展了2年,但流量增長(zhǎng)空間仍然巨大,微信之外,很多超級(jí)App的勢(shì)能將逐漸釋放,整個(gè)小程序產(chǎn)業(yè)的日活總量有數(shù)億的提升空間。
如果開(kāi)發(fā)商能追上這撥紅利,就能獲得更多增長(zhǎng)。而多端框架的出現(xiàn),可以幫助開(kāi)發(fā)商更好的把握這撥紅利。
中國(guó)的技術(shù)發(fā)展,此刻正在經(jīng)歷一個(gè)分水嶺,從全面的技術(shù)進(jìn)口,到開(kāi)始建設(shè)自己的標(biāo)準(zhǔn)和開(kāi)發(fā)者生態(tài)。遲早,會(huì)開(kāi)始向外輸出,引領(lǐng)世界的進(jìn)步。
不管中美是否開(kāi)打貿(mào)易戰(zhàn),這一轉(zhuǎn)變都是必須做的事情。
中國(guó)的移動(dòng)支付、小程序、5G,很多領(lǐng)域已經(jīng)走在了全球前面。中國(guó)人發(fā)明的Vue已經(jīng)在影響全球。
雖然還有很多困難仍需克服,但我們每個(gè)開(kāi)發(fā)者,都是新時(shí)代的見(jiàn)證者,更是新生態(tài)的建設(shè)者!
作者簡(jiǎn)介:王安,DCloud公司創(chuàng)始人,HTML5中國(guó)產(chǎn)業(yè)聯(lián)盟秘書(shū)長(zhǎng)。2003年開(kāi)始從事移動(dòng)互聯(lián)網(wǎng)工作,十幾年編程和商業(yè)經(jīng)驗(yàn),連續(xù)創(chuàng)業(yè)者。
聲明:作者獨(dú)立觀點(diǎn),不代表CSDN立場(chǎng)
微信上沒(méi)有京東購(gòu)物小程序怎么辦?
你可以到設(shè)置>通用>發(fā)現(xiàn)頁(yè)管理>打開(kāi)朋友圈的開(kāi)關(guān)即可。
此外小程序是沒(méi)有開(kāi)關(guān)入口的,只要你使用了小程序,便不能會(huì)一直在發(fā)現(xiàn)頁(yè)。后續(xù)的版本應(yīng)該會(huì)設(shè)置一個(gè)開(kāi)關(guān)的
除非你的微信版本太低,要不然都會(huì)有的,打開(kāi)微信——發(fā)現(xiàn)——小程序,即可打開(kāi)小程序,在小程序里有兩個(gè)類(lèi)型,一個(gè)是“附近的小程序”,它會(huì)把附近5公里范圍內(nèi)的所有小程序展現(xiàn)出來(lái),并且可以導(dǎo)航地圖;二是可以根據(jù)服務(wù)類(lèi)型對(duì)小程序進(jìn)行分類(lèi),這樣在調(diào)用小程序的時(shí)候非常方便。
微信是騰訊公司于2011年1月21日推出的一款通過(guò)網(wǎng)絡(luò)快速發(fā)送語(yǔ)音短信、視頻、圖片和文字,支持多人群聊的手機(jī)聊天軟件。用戶(hù)可以通過(guò)微信與好友進(jìn)行形式上更加豐富的類(lèi)似于短信、彩信等方式的聯(lián)系。微信軟件本身完全免費(fèi),使用任何功能都不會(huì)收取費(fèi)用,微信時(shí)產(chǎn)生的上網(wǎng)流量費(fèi)由網(wǎng)絡(luò)運(yùn)營(yíng)商收取。
1、支持發(fā)送語(yǔ)音短信、視頻、圖片(包括靜/動(dòng)態(tài)表情)和文字
2、支持多人群聊;
3、支持查看所在位置附近使用微信的人;
5、搖一搖功能結(jié)識(shí)世界各地的朋友;
4、支持騰訊微博、QQ郵箱、漂流瓶、語(yǔ)音記事本、QQ離線消息等功能;
5、支持視頻聊天;
6、支持電腦網(wǎng)頁(yè)登錄;
7、把照片分享到朋友圈,可與好友進(jìn)行互動(dòng);
8、熱點(diǎn)新聞資訊;
9、隨時(shí)隨地收/寫(xiě)QQ郵件;
10、視頻聊天。
大家都在用什么ui庫(kù)
大家都在用什么ui庫(kù)
以上就是【墻裂推薦!京東小程序ui庫(kù)(京東ui組件庫(kù))】的全部?jī)?nèi)容。
評(píng)論