微信小程序背后的思考

1月9日,萬(wàn)眾期待的微信小程序正式發(fā)布;朋友圈早早地被微信小程序的相關(guān)信息所刷屏,極客人也耐不住心里的好奇心,也關(guān)注了幾個(gè)微信小程序嘗了嘗鮮兒。從技術(shù)的角度上,微信小程序個(gè)人認(rèn)為談不上有什么可圈點(diǎn)的創(chuàng)新;但是在軟件應(yīng)用的生態(tài)上,可能會(huì)產(chǎn)生巨大的影響。

微信公眾號(hào)

大一統(tǒng)

早在一年多前,那時(shí)候還沒(méi)有人任何微信小程序的風(fēng)聲,極客人在和同學(xué)的交流過(guò)程中,就曾“預(yù)言”了“小程序”的出現(xiàn)。那時(shí)候微信公眾號(hào)只有 訂閱號(hào)和服務(wù)號(hào),我說(shuō),微信公眾號(hào)應(yīng)該可以加一個(gè)“應(yīng)用號(hào)”,一年多以后,微信小程序橫空出世,微信公眾號(hào)也真的多了一個(gè)類型 “應(yīng)用號(hào)”,名字和我當(dāng)初起的都一模一樣。當(dāng)然,我在這里并不是想炫耀自己前瞻眼光,而是想表明,微信小程序的出現(xiàn)是軟件開(kāi)發(fā)中一個(gè)很正常的產(chǎn)物。

在軟件開(kāi)發(fā)繁榮的今天,編程語(yǔ)言越來(lái)越多,軟件開(kāi)發(fā)的平臺(tái)不盡相同,軟件開(kāi)發(fā)商為了迎合不同使用平臺(tái)的用戶,不得不開(kāi)發(fā)各個(gè)平臺(tái)上的應(yīng)用,IOS、Android作為移動(dòng)操作系統(tǒng)的兩大巨頭,每個(gè)都有巨大的用戶群,這意味著軟件廠商要做一個(gè)同樣的軟件,都要編寫兩套代碼:Android上的JAVA,IOS上的Object C/Swift,這無(wú)疑提高了成本。從近幾年的軟件開(kāi)發(fā)的趨勢(shì)來(lái)看,雖然大家都以標(biāo)榜自己“全棧開(kāi)發(fā)工程師”為榮,但是我卻認(rèn)為這也只是無(wú)奈之舉,如果有一套代碼在所有平臺(tái)都能跑的話而且都擁有絕佳的性能的話,沒(méi)人吃飽著撐著,造出各種開(kāi)發(fā)語(yǔ)言。

軟件開(kāi)發(fā)百花齊放的今天,無(wú)論是程序員,還是軟件廠商,都希望能夠有一個(gè)“大一統(tǒng)”來(lái)結(jié)束這個(gè)既繁榮又混亂的局面。前幾年,HTML5開(kāi)發(fā)移動(dòng)APP企圖基于各平臺(tái)的瀏覽器實(shí)現(xiàn)跨平臺(tái);Web中的前端開(kāi)發(fā)中的“響應(yīng)式布局”實(shí)現(xiàn)一套代碼在 PC、平板、手機(jī)上智能化顯示最適合的界面;QT開(kāi)發(fā)工具希望用一套C++代碼開(kāi)發(fā)出在Windows、Linux、Android、IOS的原生APP;最近,React 正在用JS統(tǒng)治Web、IOS、Android的路上越走越遠(yuǎn)……

微信小程序要做的,就是開(kāi)發(fā)一套代碼,在IOS、Android擁有相同的用戶體驗(yàn),而它基于的是HTML。HTML無(wú)疑在各個(gè)平臺(tái)擁有最好的兼容性,哪里有瀏覽器,哪里就可以解析HTML。

虛擬化

如果讓我用一些關(guān)鍵詞來(lái)概括軟件開(kāi)發(fā)的特點(diǎn)的話,在我的答案中一定有一個(gè)詞就是“虛擬化”。操作系統(tǒng)完成了底層硬件的虛擬化,讓上層應(yīng)用不需要關(guān)心底層硬件的操作細(xì)節(jié)和差異。雖然運(yùn)行著windows操作系統(tǒng)的計(jì)算機(jī)數(shù)以億計(jì),它們的CPU、網(wǎng)卡、磁盤等都各不相同,通過(guò)Windows系統(tǒng)的Win32 API,程序員和上層應(yīng)用不必理會(huì)底層環(huán)境的差異性,程序員運(yùn)用相同的代碼就可以對(duì)不同型號(hào)的硬件進(jìn)行操作。同理的還有Java虛擬機(jī)。

可以這么說(shuō),微信的小程序,就是以微信為平臺(tái),通過(guò)相同的代碼,可以在IOS和Android上擁有相同的操作,比如布局、支付、定位等等,微信虛擬化了布局、支付、定位這一層在Android和IOS上的細(xì)節(jié) 。在這個(gè)意義上,可以說(shuō)微信是個(gè)“操作系統(tǒng)”。當(dāng)然這樣就把操作系統(tǒng)說(shuō)的太簡(jiǎn)單,更準(zhǔn)確的是微信應(yīng)該是一個(gè)虛擬機(jī)。

插件化帶來(lái)的思考

能預(yù)言到“微信小程序”的出現(xiàn),是不足為奇的,現(xiàn)在許多軟件在完成各自職能的同時(shí),往往自身也作為平臺(tái)出現(xiàn)。

平臺(tái)是什么?牛頓說(shuō),“如果說(shuō)我看得比別人更遠(yuǎn)些,那是因?yàn)槲艺驹诰奕说募绨蛏?。”。那么這個(gè)巨人就是牛頓的平臺(tái)了。虛擬化帶來(lái)的結(jié)果,就是為上層應(yīng)用帶來(lái)更堅(jiān)實(shí)的平臺(tái)。在平臺(tái)之上,我們可以忽略平臺(tái)下面的實(shí)現(xiàn)細(xì)節(jié)。

作為平臺(tái)出現(xiàn)的軟件,可以實(shí)現(xiàn)諸多的擴(kuò)展。極客人的博客是使用wordpress CMS平臺(tái)搭建的,在wordpress上面,我們可以利用安裝插件的方式實(shí)現(xiàn)防垃圾評(píng)論等等功能;在Chrome瀏覽器上,我們通過(guò)安裝插件實(shí)現(xiàn)了廣告屏蔽;而QQ內(nèi)置查看word文檔的功能,也是通過(guò)插件實(shí)現(xiàn)的(極客人實(shí)習(xí)的時(shí)候看過(guò)QQ的源代碼)。

插件是平臺(tái)之外的擴(kuò)展,基于平臺(tái)的插件,忽略了底層細(xì)節(jié),同時(shí)讓平臺(tái)的功能更加豐富,走得更遠(yuǎn)。同時(shí),開(kāi)放的平臺(tái),也讓平臺(tái)更加活躍,為自己的生存灌輸了青春。

微信小程序在某種意義上也是微信的插件,在極客人嘗試了用wordpress、Chrome裝插件后,我想,預(yù)知“應(yīng)用號(hào)”的出現(xiàn)不會(huì)是什么難事。

用完就想卸載

曾經(jīng)看過(guò)一篇文章,每個(gè)軟件廠商都希望讓自己開(kāi)發(fā)的軟件在用戶的PC、手機(jī)上不被卸載,而其中的關(guān)鍵就是占領(lǐng)用戶的桌面和狀態(tài)欄。然而現(xiàn)在的應(yīng)用市場(chǎng)上的APP千千萬(wàn),由于過(guò)多的APP會(huì)導(dǎo)致手機(jī)的速度變慢、可用ROM變小,許多用戶都是裝完一個(gè)APP就馬上卸載。

由于微信小程序的即用即刪性,符合了用戶的“潔癖”心理,在一些不常用的應(yīng)用上,微信小程序必定大受歡迎。

姍姍來(lái)遲的谷歌Instant App

在微信小程序發(fā)布之前,谷歌在2016年谷歌大會(huì)上,曾計(jì)劃推出一種類似的"小程序"—Android Instant APP;通過(guò)谷歌Deep link,用戶點(diǎn)擊一下鏈接即可以運(yùn)行應(yīng)用,目前僅支持比較簡(jiǎn)單而基礎(chǔ)的應(yīng)用,可以說(shuō)它介于純粹的Web應(yīng)用和應(yīng)用程序之間,“Instant Apps”將應(yīng)用下載大小限制為最高4MB,并向下兼容到安卓4.1操作系統(tǒng)。

我們?nèi)缃袷謾C(jī)安裝的應(yīng)用,占用內(nèi)存動(dòng)輒百兆起步,許多應(yīng)用添加了我們根本不需要的功能,應(yīng)用間的相互串聯(lián)也是讓我們苦不堪言。如今Instant Apps為我們開(kāi)啟了一扇新的大門,我們手機(jī)目前也有點(diǎn)擊網(wǎng)頁(yè)跳轉(zhuǎn)應(yīng)用的功能,與此不同的是,Instant Apps的跳轉(zhuǎn)直接并非轉(zhuǎn)往完整的應(yīng)用,而是根據(jù)用戶的需要,跳轉(zhuǎn)至擁有某個(gè)特定功能的APP,比如說(shuō)我們?cè)诰W(wǎng)頁(yè)觀看視頻,需要轉(zhuǎn)往應(yīng)用觀看,然而該視頻應(yīng)用十分卡頓,經(jīng)常推送一些無(wú)用信息,若該視頻應(yīng)用開(kāi)發(fā)了Instant Apps,那么我們會(huì)跳轉(zhuǎn)到該視頻的Instant Apps界面,該界面僅包含視頻播放的相關(guān)功能,十分簡(jiǎn)潔流暢。
這么一來(lái),若許多購(gòu)物應(yīng)用和社交應(yīng)用都開(kāi)發(fā)了Instant Apps,那么我們的用戶體驗(yàn)將會(huì)有很大提升,手機(jī)的負(fù)擔(dān)也不會(huì)那么沉重。從開(kāi)發(fā)者的角度講,這類應(yīng)用的推廣難度降低,甚至不需提交至應(yīng)用商店,僅需分享應(yīng)用的相關(guān)連接即可,十分省心。用戶點(diǎn)擊即用,倒也快捷

基本應(yīng)用場(chǎng)景和微信小程序類似,個(gè)人認(rèn)為的最大優(yōu)點(diǎn)可能是原生開(kāi)發(fā)性能會(huì)優(yōu)于微信。但是由于微信小程序擁有微信這個(gè)大流量的入口,而且已經(jīng)先發(fā)制人地發(fā)布了,我想,Instant APP至少在中國(guó)地區(qū)胎死腹中。

目測(cè)騰訊廣告收入不久會(huì)出現(xiàn)一個(gè)高潮

目前微信小程序里里面還沒(méi)有廣告,但是不久的將來(lái),目測(cè)微信很快就會(huì)提供財(cái)付通的廣告SDK方便開(kāi)發(fā)者接入,這么應(yīng)用轉(zhuǎn)向微信小程序,騰訊的廣告收入必定迎來(lái)一波大幅度增長(zhǎng)。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,323評(píng)論 25 708
  • Spring Cloud為開(kāi)發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,694評(píng)論 19 139
  • 越是在乎,受傷總會(huì)越深!若即若離的感情真的有點(diǎn)受不了。從前的瀟灑到如今的死纏爛打轉(zhuǎn)變得自己都不認(rèn)識(shí),有時(shí)候那么執(zhí)著...
    墮落的羽毛閱讀 213評(píng)論 0 0
  • 人本主義心理流派的相關(guān)理論是我比較感興趣的,因?yàn)樗鼜?qiáng)調(diào)人的主觀意志,認(rèn)為人是可以憑著自己的意愿做出選擇的。每...
    tanxiuyuan閱讀 144評(píng)論 0 0
  • 姓名:趙麗萍 公司:寧波大發(fā)化纖有限公司 組別:第264期努力二組 【日精進(jìn)打卡第35天】 【知~學(xué)習(xí)】 《六項(xiàng)精...
    zhaoliping閱讀 138評(píng)論 0 0

友情鏈接更多精彩內(nèi)容