馮雨
新生代“輕語者”:更靈活的組織形態
微信小程序,是基于微信推出的全新平臺,開發者們可以自行開發出在微信上面運行的程序,用戶可以通過搜索或者聊天分享的方式獲取并直接運行它們。
作為互聯網時代的“輕語者”,微信小程序有著自己鮮明的個性:首先是無需安裝便可以直接使用;第二點是“觸手可及”,比如我們看到一盞燈,想要控制它,只需要用智能手機對著它掃一下,然后控制這盞燈的應用程序就已經啟動起來了;而“用完即走”則是微信小程序的第三個特點,用完后當它不存在就可以了;最后一個特點是無需下載,你訪問過的服務,并不需要另外一個程序管理器去處理它,省去了卸載清理的過程。
通過這四個特點,我們可以看到,小程序看起來是程序,但是它卻以完全不同于App的形態出現,擁有更靈活的應用組織形態。不過,盡管有許多新奇之處,但小程序開發的過程卻并沒有背離互聯網技術開發的基本路線。
鏈接平臺:同一個服務器,千萬種客戶端
對互聯網開發而言,服務器與客戶端是必不可少的存在。舉個例子,常打游戲的人都知道,一個游戲必須有“客戶端”才能玩。而網絡游戲和單機游戲的一個巨大區別正是網絡游戲需要用“客戶端”去連接“服務器”,此時客戶端就需要工程師進行研發。根據分工不同,工程師分為前端工程師與后端工程師,籠統地講,前端工程師開發的是用戶機器上運行的“客戶端”,而后端工程師開發的則是服務器上運行的“服務器端”。可以說,后端工程師總是守著自家的服務器過日子,而前端工程師則各有各的分工。
電腦游戲客戶端的開發還算輕松,但要是加上現在各式各樣的移動客戶端,前端開發的情況就復雜許多了。廣義上的前端開發,幾乎包括了PC、iOS、Android、Windows Phone等全部操作系統平臺,除此之外還有與瀏覽器對應的跨平臺 Web開發。而由于各大操作系統本身就無比復雜,工程師們又要再次分工,例如iOS 開發工程師、Android 開發工程師等。
主要的平臺已經有許多不同,再加上 Android 的開放性和各式定制版本的不同,以及各類手機尺寸,前端工程師面臨的任務就更加艱巨。而微信小程序,就能夠通過一個服務器,解決不同客戶端的問題,讓工程師們的工作變得更加輕松。
技術圖譜:一次編寫,多處運行
于是,小程序為了達到工程師們“一次編寫,多處運行”的目的,就開始了所謂的“跨平臺”操作。那么小程序是怎樣在Web和App的技術基礎上實現自己的目標的呢?
首先來說說基于瀏覽器的 Web技術。Web 也就是網頁,幾乎每一個系統上都有瀏覽器,所以網頁自帶跨平臺屬性。網頁可以通過程序來與用戶互動,于是工程師在 PC 端使用了大量的網頁程序,小到點擊一下把商品加入購物車,大到美圖秀秀的網頁版。
現在再來說說App,我們通常把直接運行在各大系統上的App叫作Native App,由 Web技術做出來的,在網頁上運行的 App 叫 Web App。可是網頁有一個問題,因為它本身是針對“展示”設計的,所以 Web App 和系統之間的交互往往十分不便,比如你很難讓一個網頁像 App一樣讀取你的聯系人、相冊、本地文件,而且它的運行速度也比 Native App慢。為了解決這個問題,一些人就想到了先安裝一個Native App ,在里面運行 Web App,當需要系統級別的功能或者加快運行速度時,它便當作網頁和操作系統之間的橋梁。這種運行模式被稱為混合模式,學名叫Hybrid App,大家熟悉的淘寶就是一個范例。
而微信小程序使用的則是類 Hybrid 技術。微信在運行小程序的時候,就像是上面提到的那個“橋梁”Native App,而我們編寫的小程序,就像是在里面運行的 Web App,無論是編寫還是運行過程兩者都很相似。但是和 Hybrid App 有所不同的是,原來每一個開發者都需要用戶把“橋梁”先安裝到系統上,而微信則被大多數用戶提前安裝好了,這個“橋梁”的安裝便可省略,當開發者們共用一個橋梁,我們就可以直接從網上“打開”一個應用了。
小程序的本質:信息即是服務
微信小程序的出現,讓我們以一種新的角度審視互聯網——程序本身也是信息。這些程序信息通過聊天窗口的氣泡流動在互聯網上,通過二維碼流轉于虛擬和現實之間,程序演變為信息,信息演變為服務。
當 App 被拆解成一個又一個的使用場景,就像我們可以在閱讀應用里把一本書的某一頁寫好評注發給朋友,而他們則添加到自己的閱讀清單應用里面,他讀完后可以用語音或者文字對這一頁文章加以評論,你會馬上收到提醒。如果你們愿意,你們之間的討論也能被更多朋友乃至陌生人看到。
現在,我們已經開始通過互聯網捕捉大量的信息,并利用人工智能對這些信息進行處理和利用。而在未來,伴隨著微信小程序數量的增加及質量的提升,小程序覆蓋的設備種類及線下區域將越來越多,它對使用者的價值也將越來越高。當小程序完全滲透進我們的生活后,我們的雙眼所見之處,雙足所到之處,都將會是信息與服務的所在之處。