微信開放JS SDK,再次給瀏覽器們上了一課
2015年剛剛開始,微信JS SDK發(fā)布,驚爆眾人,HTML5產(chǎn)業(yè)好事連連。
JS SDK這個(gè)概念,其實(shí)微博和淘寶的開放平臺(tái)很早前就有,包括手機(jī)QQ前段時(shí)間也推出了幾個(gè)增強(qiáng)API,但都未產(chǎn)生很大的影響。小巫之后終見大巫,這次微信開放的SDK,站在了另一個(gè)高度,web到底能有多強(qiáng)?
HTML5的逆襲
其實(shí)之前微信也是有一些JS API的,比如分享。但這次一股腦開放了拍攝、錄音、語音識(shí)別、二維碼、地圖、支付、分享、卡券等幾十個(gè)API,這條消息不需宣傳,瞬間就占滿了HTML5從業(yè)者的朋友圈。
因?yàn)槲⑿沤o所有做web開發(fā)的人打開一扇新窗戶:使用js,你也可以調(diào)用各種強(qiáng)大的原生能力了!
客觀的講,微信的很多能力組件非常強(qiáng),比如掃碼,很多原生應(yīng)用的掃碼效果都不如微信。現(xiàn)在HTML5開發(fā)者瞬間成功逆襲,他們?cè)緹o法實(shí)現(xiàn)掃碼,現(xiàn)在卻能輕松的開發(fā)掃碼應(yīng)用,而且效果比很多原生應(yīng)用都好(當(dāng)然前提是你的web應(yīng)用運(yùn)行在微信的管理之下)。
首先受益的是微信內(nèi)置的騰訊系A(chǔ)pp,比如大眾點(diǎn)評(píng)、滴滴打車、京東購物等。
以前微信在錢包欄目下以很別扭的方式內(nèi)嵌了滴滴打車的HTML5版本,那個(gè)版本的體驗(yàn)比滴滴的原生版本差太多,不能說話只能打字,沒有地圖看不到司機(jī)在哪。在體驗(yàn)為王的移動(dòng)互聯(lián)網(wǎng)時(shí)代,這個(gè)將就能用的版本出現(xiàn)在微信的錢包分類下,其實(shí)是微信的敗筆。
但如今不同了,滴滴打車的微信版本,將擁有不輸于其原生App的能力。而且不用下載App就可以秒開應(yīng)用。
大眾點(diǎn)評(píng)的受益就更大了,不止是其微信內(nèi)嵌版本的能力將大幅增強(qiáng)。因?yàn)槭褂脠?chǎng)景的不同,滴滴在朋友間分享的只能是紅包,離打車這個(gè)業(yè)務(wù)場(chǎng)景有點(diǎn)遠(yuǎn);而大眾點(diǎn)評(píng)在朋友間可以分享優(yōu)惠或推薦商家,直接形成消費(fèi),通過關(guān)系鏈導(dǎo)流的效果會(huì)非常明顯。
HTML5定稿時(shí),我寫過的一篇文章,提到過HTML5的一大優(yōu)勢(shì)就是打破App孤島,直穿應(yīng)用子頁面。一張大眾點(diǎn)評(píng)的優(yōu)惠券,通過朋友分享,就可以通過點(diǎn)擊分享內(nèi)容直接到達(dá)這個(gè)商戶的界面,進(jìn)而直接購買,這點(diǎn)連大眾點(diǎn)評(píng)的原生App也做不到。
微信給我們展示了一個(gè)新的web世界:能力和原生一樣強(qiáng),但在應(yīng)用的獲取、流量的轉(zhuǎn)換上進(jìn)一步領(lǐng)先于原生應(yīng)用。
很快,我們就會(huì)看到各種公眾號(hào)、微店全面升級(jí)支持微信JS SDK。然后我們就會(huì)發(fā)現(xiàn),原來市占率***的手機(jī)瀏覽器,是這個(gè)沒有地址欄的微信。
瀏覽器的傳統(tǒng)思維被突破
微信這個(gè)巴掌把瀏覽器廠商拍的不輕。但是瀏覽器廠商又很難還擊,因?yàn)檫@挑戰(zhàn)了他們的思維傳統(tǒng)。
在HTML5規(guī)范制定時(shí),很多人都有一種思維:web是開放的,地址欄和超鏈接可能帶來任意惡意網(wǎng)頁,所以我們不能把HTML5的能力做到太強(qiáng),會(huì)引發(fā)安全問題。
微信給了這些人不同的答案。
首先微信開放的能力沒有涉及過于隱私的API,比如個(gè)人敏感信息或好友關(guān)系,當(dāng)然這個(gè)估計(jì)永遠(yuǎn)也不會(huì)開放。最關(guān)鍵的是,所有使用微信JS SDK的網(wǎng)站,都必須實(shí)名到微信認(rèn)證、繳費(fèi)。它采取了類似Apple App Store的策略,由系統(tǒng)運(yùn)營(yíng)方來保障用戶的安全。
這個(gè)由微信構(gòu)建的新web世界,不再開放,由微信所管理,他根本就沒有地址欄,所有能使用微信增強(qiáng)能力的網(wǎng)頁都是經(jīng)過認(rèn)證權(quán)限的。
其實(shí)HTML5強(qiáng)化這個(gè)領(lǐng)域已經(jīng)發(fā)展多年,也已經(jīng)有了行業(yè)規(guī)范,HTML5Plus.org,微信此次把這些標(biāo)準(zhǔn)都拋在一邊,就是一心建設(shè)自己的生態(tài)系統(tǒng)。
除了管理模式不同,微信的設(shè)計(jì)體現(xiàn)了他對(duì)于用戶體驗(yàn)的不同理解。其實(shí)我們大多數(shù)人都會(huì)認(rèn)可一點(diǎn),在手機(jī)瀏覽器里輸入url是一個(gè)體驗(yàn)比較糟的事情,但是瀏覽器廠商卻一直墨守成規(guī)。
我們來解構(gòu)下微信的設(shè)計(jì)。
在微信里,既然沒有地址欄,那么如何到達(dá)一個(gè)web應(yīng)用,它有幾個(gè)web入口?答案是5個(gè)。
- 消息內(nèi)容里的超鏈接;
- 公眾號(hào)的文章;
- 朋友圈;
- 掃一掃;
- 預(yù)置入口的web應(yīng)用,如錢包、購物等欄目。
這5個(gè)入口里,沒有傳統(tǒng)的地址欄,甚至也沒有搜索。
web初生時(shí),人們獲取web信息是主動(dòng)式的,通過地址欄訪問網(wǎng)站,網(wǎng)站太多后開始使用搜索引擎。Google的page rank算法告訴網(wǎng)民,被鏈接的網(wǎng)頁越多,這個(gè)網(wǎng)頁的價(jià)值越高。微信的理解里,大多數(shù)人們獲取web信息是被動(dòng)的,這里沒有地址欄、沒有搜索、沒有page rank,朋友發(fā)給你的、你訂閱的公眾號(hào)發(fā)給你的,就是你需要的web內(nèi)容。
如果你真的想要主動(dòng)獲得內(nèi)容,那也沒有地址欄,但是有掃一掃。
可是掃一掃就不在微信的管理之下了嗎?當(dāng)然不會(huì)。很多App開發(fā)者頭疼的就是他們的APK地址變成二維碼后,微信是不能下載安裝的,這可是瀏覽器不會(huì)干的事情,用戶要下載什么那就允許下,最多給一個(gè)可能不安全的提示。但是微信說,APK只能是來自應(yīng)用寶的鏈接才可以下載。你不接受?那就別用掃一掃。
就這樣,微信構(gòu)建了一個(gè)獨(dú)特的web生態(tài)系統(tǒng)。它有關(guān)系鏈推薦,不需要搜索引擎;它有消息系統(tǒng),不需要電子郵件;它有增強(qiáng)的瀏覽器,有支付等業(yè)務(wù)閉環(huán)手段。最終一個(gè)完整而又封閉的web世界出現(xiàn)在微信里。信息在這里產(chǎn)生、在這里流轉(zhuǎn)、在這里變現(xiàn)。手機(jī)上只需一個(gè)微信就夠了,什么都能干了。
騰訊的戰(zhàn)略
微信是僅僅強(qiáng)化了一批能力API嗎?不是,大家還記得前段時(shí)間騰訊發(fā)布的X5瀏覽器內(nèi)核嗎?
X5內(nèi)核內(nèi)置于QQ瀏覽器,在安裝了QQ瀏覽器后,微信有著不同的表現(xiàn),它將調(diào)起X5內(nèi)核,與JS SDK協(xié)作實(shí)現(xiàn)更好的體驗(yàn)。X5和JS SDK,這究竟是一盤什么棋呢?
微信其實(shí)很早就能開放這些JS SDK,甚至一度曾開放幾個(gè)又收了回去,為何此時(shí)如此大力發(fā)展web生態(tài)系統(tǒng)?
我想到了前段時(shí)間馬化騰的話,微信只是張“站票”,他還給騰訊提出的一個(gè)新愿景:連接一切。張小龍也曾仔細(xì)研讀KK的《失控》,提出微信要營(yíng)造一個(gè)森林,而不是造一個(gè)宮殿。
其實(shí)這些事情是相關(guān)聯(lián)的。有戰(zhàn)略需求,才會(huì)出現(xiàn)X5、微信JS SDK這些支撐戰(zhàn)略的產(chǎn)品。要論站票和臥鋪的區(qū)別,那就是一個(gè)可以躺著掙錢。如何才能躺著掙錢,看看阿里巴巴就知道了。在阿里建立的龐大生態(tài)系統(tǒng)里,每天無數(shù)人努力賺錢,阿里坐享其成。
騰訊曾經(jīng)數(shù)次努力電商,但怎么也賺不到阿里的錢。它只能走自己的路。就是馬化騰所說的,回歸本源,連接一切。
電商搞不定,那就不搞了,剝離和注資給京東。搜索搞不定,那就不搞了,剝離和注資給搜狗。不再天天盯著阿里、百度,騰出全部精力,在移動(dòng)互聯(lián)網(wǎng)時(shí)代,達(dá)成連接一切的愿景。
沒錯(cuò),基于微信這張站票,騰訊最終要打造出一個(gè)由他掌控的生態(tài)系統(tǒng),而對(duì)于一個(gè)工具而言,構(gòu)建生態(tài)系統(tǒng)的***技術(shù)路線就是web,強(qiáng)化HTML5是打造更優(yōu)質(zhì)生態(tài)系統(tǒng)的必由之路。
而此時(shí)能做這事,還恰逢HTML5即將崛起的機(jī)會(huì)。一方面手機(jī)硬件的不斷提升使得HTML5表現(xiàn)更好,另一方面,就是Apple對(duì)HTML5的態(tài)度在開放,或者說Apple整體都在開放。一方面iOS設(shè)備的市場(chǎng)份額遠(yuǎn)低于Android,另一方面庫克確實(shí)沒有喬布斯強(qiáng)勢(shì),所以目前Apple的整體態(tài)度是開放的。前段時(shí)間iOS8發(fā)布,Apple給第三方廠商開放了自己的js加速引擎Nitro,以強(qiáng)化iOS設(shè)備上HTML5的表現(xiàn)。此時(shí)的微信JS SDK上線,不必再像以前那樣擔(dān)心無法通過Appstore審核。
而且事實(shí)實(shí)際上是反過來的,帶有微信JS SDK的版本其實(shí)早已更新到Appstore了,只是前幾天才給開發(fā)者公布了調(diào)用接口。
但是不管怎么樣,這帶有試探Apple底線的味道。如果僅僅在中國(guó)倒也是區(qū)域行為,但微信事實(shí)上已經(jīng)遍布全球,當(dāng)海外開發(fā)者也大量開發(fā)微信專屬的增強(qiáng)web時(shí),Apple和Google會(huì)如何看待這個(gè)新的跨平臺(tái)霸主?
開發(fā)者的機(jī)會(huì)
whatever,巨頭們的煩惱讓他們自己操作吧,我等創(chuàng)業(yè)者和開發(fā)者還是要抓緊這個(gè)機(jī)會(huì)快速發(fā)展自己,快速利用微信JS SDK開發(fā)出驚艷的HTML5應(yīng)用,搶先占有用戶。后面的比較技術(shù),有興趣開發(fā)JS SDK的開發(fā)者可以繼續(xù)往下看。微信本次開放的JS SDK分類清單如下:
- 分享類接口;
- 圖像類接口;
- 音頻類接口;
- 智能類接口;
- 設(shè)備信息類接口;
- 地理位置類接口;
- 界面操作類接口;
- 微信掃一掃接口;
- 微信小店接口;
- 微信卡券接口;
- 微信支付接口。
滴滴打車、大眾點(diǎn)評(píng)這些微信內(nèi)置應(yīng)用的增強(qiáng)路線,將基本照著其原生App的模樣演進(jìn)。其他的開發(fā)者,還是要運(yùn)營(yíng)好自己的公眾號(hào),目前公眾號(hào)分為訂閱號(hào)和服務(wù)號(hào)。
訂閱號(hào)的開發(fā)者提供的大多是資訊,那么對(duì)于資訊而言,可以利用JS SDK做的事情什么?
豐富內(nèi)容形式,即除了圖文,新增音頻能力。類似電臺(tái)的訂閱號(hào)將有機(jī)會(huì)興起。但微信暫時(shí)還沒有開放視頻能力,朋友圈里的小視頻是原生實(shí)現(xiàn)的。在Android4.0以上的手機(jī),安裝了QQ瀏覽器后,微信網(wǎng)頁里的視頻播放才能被X5引擎優(yōu)化。而目前使用HTML5標(biāo)準(zhǔn)的視頻,會(huì)在低端手機(jī)上遭遇性能問題。所以視頻還是緩緩再搞。
不管是做圖文還是做音頻,都應(yīng)該利用新提供的設(shè)備API獲取網(wǎng)絡(luò)狀態(tài),WIFI和2G下應(yīng)該給予用戶不同的內(nèi)容以增強(qiáng)用戶體驗(yàn)。
根據(jù)地域分發(fā)信息。資訊也是有地域性的,類似地方臺(tái)的訂閱號(hào)以后也會(huì)占有一席之地,而這也非常符合微信打造森林的生態(tài)初衷。
服務(wù)號(hào)就五花八門了,很多大企業(yè)有自己的掌上客服App,這回可以整體搬遷到微信上了,這也給企業(yè)服務(wù)開發(fā)商很多新商機(jī);
對(duì)于可線上交易的微店,微信小店和支付這些API必不可少。微店的商品,這下可以直接被分享出去,只要東西好,傳播更容易、銷量也會(huì)高升;
對(duì)于線下消費(fèi)的O2O,地圖和卡券很重要。卡券對(duì)微信而言是個(gè)新東西,之前iOS已經(jīng)有了passport,大眾點(diǎn)評(píng)也有自己的會(huì)員卡體系,但微信自己做了一套,相信體量會(huì)做的更大,以后大家出門不用在錢包里塞那么多卡了,都在微信里了。
微信官方還推薦了幾個(gè)App供開闊思路。
印美圖是一個(gè)云打印App,自拍的美圖,可以直接提交給這個(gè)App的后臺(tái),運(yùn)營(yíng)方打印好照片快遞給你。微郵筒是一個(gè)語音明信片,在明信片里留下自己的聲音,再發(fā)給朋友,并且可以長(zhǎng)期保存在服務(wù)器。
微信官方?jīng)]有提供開發(fā)和調(diào)試配套的服務(wù),客觀地講,開發(fā)和調(diào)試的便利性很不好。推薦一個(gè)免費(fèi)開發(fā)工具HBuilder,可以***支持微信JS SDK的語法提示,大幅提升開發(fā)效率。下圖中敲wxc回車就能生成一段完整的微信API初始化的長(zhǎng)長(zhǎng)代碼,還能給予各種參數(shù)的值域提示。
接下來會(huì)如何
我們都很確信,JS SDK的這個(gè)版本只是一個(gè)開始,未來騰訊還為了強(qiáng)化其web生態(tài)系統(tǒng)建設(shè)而不停升級(jí)產(chǎn)品。
1.會(huì)顛覆原生App嗎?
微信JS SDK繼續(xù)升級(jí)下去,真的會(huì)顛覆原生App嗎?目前的微信JS SDK,屬于web增強(qiáng),它依然還不能離線使用,還沒有解決網(wǎng)頁跳轉(zhuǎn)間白屏的體驗(yàn),也不能在手機(jī)桌面創(chuàng)建快捷方式,暫時(shí)它并沒有向著努力做到和原生一模一樣體驗(yàn)而前進(jìn)。
就騰訊連接一切的愿景而言,它應(yīng)該沒有顛覆原生這個(gè)戰(zhàn)略目標(biāo)。但是這個(gè)月活4億的平臺(tái)勢(shì)必會(huì)更大程度占有用戶使用手機(jī)的時(shí)間,自然也會(huì)大幅影響原生App的流量。對(duì)于普通用戶而言,每天使用手機(jī)的時(shí)間是有限的,之前每天看著手機(jī)屏幕的總時(shí)長(zhǎng)里可能60%是被微信占去的,那么微信未來可能會(huì)占去80%的時(shí)間。
另外微信雖然沒有顛覆原生App的愿景,不代表其他人不會(huì)做這件事。IT行業(yè)總是在持續(xù)創(chuàng)新和突破的,除了微信,還會(huì)有其他大型HTML5的平臺(tái)出現(xiàn),可以預(yù)見HTML5成為主流已是不可阻擋的趨勢(shì)。
2.微信會(huì)重構(gòu)移動(dòng)搜索嗎?
這個(gè)概率其實(shí)很高。在微信現(xiàn)在的API里,有一個(gè)智能語義的接口,傳入“查一下明天從北京到上海的南航機(jī)票”,就會(huì)返回結(jié)果。很像siri是不是?其實(shí)微信完全可以現(xiàn)在就在掃一掃下面加一個(gè)說一說,但是他目前沒有這么做,是因?yàn)樗压愤€不夠強(qiáng)大?還是因?yàn)椴幌脒^早刺激百度?
確實(shí)相比起來,騰訊在手機(jī)上搶奪百度份額的勝算是遠(yuǎn)高于搶奪阿里的。但是手機(jī)端廣告市場(chǎng)一直沒起來,搶掉搜索份額又如何?
3.微信會(huì)重構(gòu)移動(dòng)電商嗎?
其實(shí)單純的套PC互聯(lián)網(wǎng)的模式給移動(dòng)互聯(lián)網(wǎng)是不對(duì)的。騰訊最關(guān)心的不是移動(dòng)電商,它更關(guān)心移動(dòng)支付。所以易迅才會(huì)被剝離給京東。騰訊十年總結(jié)時(shí)曾說,是互聯(lián)網(wǎng)網(wǎng)民的高速增長(zhǎng)紅利造就了騰訊的今天。其實(shí)類似于雷軍風(fēng)口的理念。
移動(dòng)支付,是一個(gè)大風(fēng)口,是未來若干年高速增長(zhǎng)的產(chǎn)業(yè)。
我們可以預(yù)見,未來移動(dòng)支付的用戶數(shù)會(huì)越來越多,交易額會(huì)越來越多,直到顛覆現(xiàn)金的地位。但移動(dòng)支付可不只是在電商網(wǎng)站買東西付款,更多場(chǎng)景在O2O范疇里。
移動(dòng)支付大戰(zhàn)里,騰訊一方面通過微信紅包發(fā)展用戶,另一方面通過資本手段控制支付場(chǎng)景,其投資的滴滴打車、大眾點(diǎn)評(píng)、京東電商,這些合作伙伴的業(yè)務(wù)都是高頻的支付場(chǎng)景,其成功的幫助騰訊發(fā)展了移動(dòng)支付體系。
當(dāng)然阿里也不甘示弱的支持快的和美團(tuán)。滴滴和快的的補(bǔ)貼大戰(zhàn)、大眾點(diǎn)評(píng)和美團(tuán)補(bǔ)貼大戰(zhàn),看似瘋狂,其實(shí)都是為了移動(dòng)支付這張船票,為了未來十年的繼續(xù)高速增長(zhǎng)是任何一個(gè)巨頭都不愿錯(cuò)過的。
在未來人們的衣食住行里,買衣服花錢用阿里和騰訊,吃飯花錢用阿里和騰訊,出門打車結(jié)帳用阿里和騰訊,就是買房好像不太好做移動(dòng)支付。
另外近期在醫(yī)療領(lǐng)域,移動(dòng)支付之爭(zhēng)也打響了,那意味著以后看病,也用移動(dòng)支付。
微信的JS SDK,其實(shí)很大程度上就是為了把這些需要花錢的App控制在自己的生態(tài)下,微信給這些App提供流量、提供更強(qiáng)大的運(yùn)行環(huán)境,大家努力掙錢,然后微信躺著分錢。
4.不管怎么樣,HTML5會(huì)大火特火
騰訊的這條構(gòu)建web生態(tài)系統(tǒng)的路,還是有很多高手已經(jīng)看懂了的。很快各大互聯(lián)網(wǎng)巨頭都會(huì)有自己的對(duì)策。但不管是什么對(duì)策,都是要基于HTML5來做了。
對(duì)于HTML5的開發(fā)者和從業(yè)者,這都將是一個(gè)***的時(shí)代。