微信小程序背后的思考

1月9日,萬眾期待的微信小程序正式發布;朋友圈早早地被微信小程序的相關信息所刷屏,極客人也耐不住心里的好奇心,也關注了幾個微信小程序嘗了嘗鮮兒。從技術的角度上,微信小程序個人認為談不上有什么可圈點的創新;但是在軟件應用的生態上,可能會產生巨大的影響。

微信公眾號

大一統

早在一年多前,那時候還沒有人任何微信小程序的風聲,極客人在和同學的交流過程中,就曾“預言”了“小程序”的出現。那時候微信公眾號只有 訂閱號和服務號,我說,微信公眾號應該可以加一個“應用號”,一年多以后,微信小程序橫空出世,微信公眾號也真的多了一個類型 “應用號”,名字和我當初起的都一模一樣。當然,我在這里并不是想炫耀自己前瞻眼光,而是想表明,微信小程序的出現是軟件開發中一個很正常的產物。

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

軟件開發百花齊放的今天,無論是程序員,還是軟件廠商,都希望能夠有一個“大一統”來結束這個既繁榮又混亂的局面。前幾年,HTML5開發移動APP企圖基于各平臺的瀏覽器實現跨平臺;Web中的前端開發中的“響應式布局”實現一套代碼在 PC、平板、手機上智能化顯示最適合的界面;QT開發工具希望用一套C++代碼開發出在Windows、Linux、Android、IOS的原生APP;最近,React 正在用JS統治Web、IOS、Android的路上越走越遠……

微信小程序要做的,就是開發一套代碼,在IOS、Android擁有相同的用戶體驗,而它基于的是HTML。HTML無疑在各個平臺擁有最好的兼容性,哪里有瀏覽器,哪里就可以解析HTML。

虛擬化

如果讓我用一些關鍵詞來概括軟件開發的特點的話,在我的答案中一定有一個詞就是“虛擬化”。操作系統完成了底層硬件的虛擬化,讓上層應用不需要關心底層硬件的操作細節和差異。雖然運行著windows操作系統的計算機數以億計,它們的CPU、網卡、磁盤等都各不相同,通過Windows系統的Win32 API,程序員和上層應用不必理會底層環境的差異性,程序員運用相同的代碼就可以對不同型號的硬件進行操作。同理的還有Java虛擬機。

可以這么說,微信的小程序,就是以微信為平臺,通過相同的代碼,可以在IOS和Android上擁有相同的操作,比如布局、支付、定位等等,微信虛擬化了布局、支付、定位這一層在Android和IOS上的細節 。在這個意義上,可以說微信是個“操作系統”。當然這樣就把操作系統說的太簡單,更準確的是微信應該是一個虛擬機。

插件化帶來的思考

能預言到“微信小程序”的出現,是不足為奇的,現在許多軟件在完成各自職能的同時,往往自身也作為平臺出現。

平臺是什么?牛頓說,“如果說我看得比別人更遠些,那是因為我站在巨人的肩膀上。”。那么這個巨人就是牛頓的平臺了。虛擬化帶來的結果,就是為上層應用帶來更堅實的平臺。在平臺之上,我們可以忽略平臺下面的實現細節。

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

插件是平臺之外的擴展,基于平臺的插件,忽略了底層細節,同時讓平臺的功能更加豐富,走得更遠。同時,開放的平臺,也讓平臺更加活躍,為自己的生存灌輸了青春。

微信小程序在某種意義上也是微信的插件,在極客人嘗試了用wordpress、Chrome裝插件后,我想,預知“應用號”的出現不會是什么難事。

用完就想卸載

曾經看過一篇文章,每個軟件廠商都希望讓自己開發的軟件在用戶的PC、手機上不被卸載,而其中的關鍵就是占領用戶的桌面和狀態欄。然而現在的應用市場上的APP千千萬,由于過多的APP會導致手機的速度變慢、可用ROM變小,許多用戶都是裝完一個APP就馬上卸載。

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

姍姍來遲的谷歌Instant App

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

我們如今手機安裝的應用,占用內存動輒百兆起步,許多應用添加了我們根本不需要的功能,應用間的相互串聯也是讓我們苦不堪言。如今Instant Apps為我們開啟了一扇新的大門,我們手機目前也有點擊網頁跳轉應用的功能,與此不同的是,Instant Apps的跳轉直接并非轉往完整的應用,而是根據用戶的需要,跳轉至擁有某個特定功能的APP,比如說我們在網頁觀看視頻,需要轉往應用觀看,然而該視頻應用十分卡頓,經常推送一些無用信息,若該視頻應用開發了Instant Apps,那么我們會跳轉到該視頻的Instant Apps界面,該界面僅包含視頻播放的相關功能,十分簡潔流暢。
這么一來,若許多購物應用和社交應用都開發了Instant Apps,那么我們的用戶體驗將會有很大提升,手機的負擔也不會那么沉重。從開發者的角度講,這類應用的推廣難度降低,甚至不需提交至應用商店,僅需分享應用的相關連接即可,十分省心。用戶點擊即用,倒也快捷

基本應用場景和微信小程序類似,個人認為的最大優點可能是原生開發性能會優于微信。但是由于微信小程序擁有微信這個大流量的入口,而且已經先發制人地發布了,我想,Instant APP至少在中國地區胎死腹中。

目測騰訊廣告收入不久會出現一個高潮

目前微信小程序里里面還沒有廣告,但是不久的將來,目測微信很快就會提供財付通的廣告SDK方便開發者接入,這么應用轉向微信小程序,騰訊的廣告收入必定迎來一波大幅度增長。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 173,033評論 25 708
  • Spring Cloud為開發人員提供了快速構建分布式系統中一些常見模式的工具(例如配置管理,服務發現,斷路器,智...
    卡卡羅2017閱讀 134,868評論 18 139
  • 越是在乎,受傷總會越深!若即若離的感情真的有點受不了。從前的瀟灑到如今的死纏爛打轉變得自己都不認識,有時候那么執著...
    墮落的羽毛閱讀 205評論 0 0
  • 人本主義心理流派的相關理論是我比較感興趣的,因為它更強調人的主觀意志,認為人是可以憑著自己的意愿做出選擇的。每...
    tanxiuyuan閱讀 100評論 0 0
  • 姓名:趙麗萍 公司:寧波大發化纖有限公司 組別:第264期努力二組 【日精進打卡第35天】 【知~學習】 《六項精...
    zhaoliping閱讀 110評論 0 0