學科資源 | 畢業設計定做 | 畢業論文代寫 | 如何下載
QQ:1052602713
小程序學習資料畢業設計 > 小程序學習資料 >

王躍:關于微信小程序的技術,也許你想錯了

文章來源:www.byxolb.tw   發布者:畢業設計網   瀏覽量:

2017年1月9日,微信小程序正式發布。在近一年里,小程序一直在堅定的向前走。它的理念和模式受到廣泛認可,也被其他人所模仿。

微信小程序尚在內測之時,外界對它所采用的技術就有很多猜測,正式發布的小程序解答了人們的一些疑惑,但有些問題官方并未正式對外公開說過。InfoQ對微信小程序相關項目負責人王躍進行了采訪,了解了一些開發者關心的問題。

受訪嘉賓介紹

王躍(微信號:springwang),微信小程序相關項目負責人,擁有 10+ 年前端開發經驗,曾就職于搜狐和新浪,2013 年加入騰訊,負責互娛游戲營銷系統,道聚城等多個項目前端架構和開發。對小程序底層架構原理有深入的研究和理解,并且有騰訊多款小程序開發實戰經驗。

InfoQ:王老師好,您在負責小程序前端之前,做過哪些事情?

王躍:在微信小程序項目之前,我負責過騰訊互娛游戲高級營銷系統的前端架構和開發,它承載騰訊幾百款游戲業務的日常營銷活動,另外還有騰訊道聚城前端架構和開發,覆蓋像王者榮耀,LOL,CF游戲道具的交易,在騰訊之前我還負責過搜狐白社會SNS的前端核心框架和模塊開發,新浪微博的前端開發工作。

InfoQ:當時小程序還沒發布時,坊間傳說小程序使用了類似RN的技術,發布后人們發現它還是運行在WebView里的,不知道實際情況如何?

王躍:從技術實現的層面來說,不管是小程序,還是RN,或者Weex,都有共同點,比如JS和Native的通訊機制,比如JS直接調用原生組件的渲染,如在iOS平臺,小程序和RN都采用JavaScriptCore來執行JS。但是小程序和RN設計初衷和應對的場景不一樣,我們知道小程序的場景主要是在當前實際物理場景用戶可以即掃即用,用完即走,整個交互都是非常輕量級的,不涉及特別復雜的交互邏輯,所以在設計上考慮盡量簡單,首先是系統底層框架簡單,其次開發者開發簡單,再次用戶使用簡單,所以小程序大部分的UI組件還是H5的渲染方式,而不是像RN設計成Native的UI組件。

當然小程序本身為了解決部分組件性能的問題也采用了Native的方式,所以方案上的選項主要是基于實際場景考慮,不是純技術上的考量。

另外準確的說小程序不僅僅運行在Webview里,需要區分不同的部分,這個在我的分享里會有詳細的解釋。

InfoQ:在Android上小程序是運行在X5引擎上的,X5團隊有為小程序做一些特別的優化,或者添加特性嗎?

王躍:微信Android版的瀏覽服務用的確實是我們騰訊瀏覽器團隊提供的X5引擎,在性能方面小程序和X5團隊之間一直有保持溝通和協調,雙方都盡可能設法優化并持續提升用戶體驗。

InfoQ:剛發布時有人發現小程序的一些代碼和Vue的有點像,而單向數據流又讓人聯想到React,在當初開發小程序核心框架的時候有哪些思考?

王躍:這個跟問題2類似,首先小程序和Vue,React本質上還是不一樣的,小程序是需要特定的Native層支持,同時底層功能也更強大,而Vue和React運行在通用的WebView之上,不需要特定Native支持,但大家為什么覺得會有些類似呢,主要是指在數據綁定,事件綁定等部分的實現上會有一些類似,當然這幾種技術沒有好壞,主要還是看我們是解決什么場景下的什么問題。

InfoQ:iOS和Android平臺的小程序有一些區別,比如Android上可以把小程序圖標放到主屏,還有人發現微信小程序在Android下有單獨的進程,小程序是不是對Android進行過更多Native化的探索?

王躍:Android可以放到主屏幕而iOS不行這個主要是OS層面的限制,至于Android下的運行方式,主要是通過單獨的Activity來承載視圖,設置為單獨的進程主要是為了保證小程序的運行內存,跟Native化沒有直接的聯系。

前面問題也提到了,小程序本身已經有好幾個組件是使用Native方式實現的,主要目的還是為了保證小程序的執行效率,達到更好的用戶體驗,Native的組件也不是針對Android一個平臺,Android和iOS都有做,后續是否會有更多的Native化的實現,還是看實際組件在采用Web實現時是否符合我們對用戶體驗的標準。

InfoQ:前段時間有人發現小程序出了自己的腳本格式WXS,它是小程序新的DSL嗎?

#p#分頁標題#e#

王躍:目前,WXS對于小程序開發不是必須的,它的主要目的是為了增強WXML的數據處理能力而新引入一種技術實現,其實際解析的語言規范還是JS,并沒有引入新的語法,僅僅對JS做了上層的封裝和限制,所以學習上基本沒什么成本,大致了解下開發文檔馬上就能上手,這里WXS跟DSL也沒太大關系,沒有可對比性。

InfoQ:小程序和PWA可以說代表著移動Web的兩條不同的發展路線,從旁人的眼光來看,小程序更加務實,但人們也期待小程序更加開放一些。在這方面您是怎么看的?

王躍:這里我說下個人的想法,不代表官方意見,任何一種模式都是為了在特定環境下解決特定問題而設計的,所以PWA有它的應用場景,而小程序有小程序的應用場景,兩種模式都有其優勢和限制,這兩種模式的差異其實跟我們現在的Web和Native很像,Web提供相對常用和通用的功能(大部分功能和基本使用體驗),而個性定制(更流程復雜的功能和交互體驗)可以充分發揮當前平臺的能力,我個人覺得這兩種模式都會一直存在,關鍵是看能否為用戶提供價值,不過,未來這兩種模式一定會有越來越多的融合,就像web和Native的融合產生了Hybird模式一樣,想象一下,未來一定會有一種新的模式,可以像PWA一樣具有更通用的運行場景(提供核心功能),同時又可以根據當前的運行環境接入定制化的高級能力,實現Write Once,Run Anywhere的美好愿景。

評價本文

專業度

風格

此內容所在的主題為移動

關注 Topic

相關主題:

相關內容

相關廠商內容

用Kafka Streams搭建實時的廣告消費系統 OpenResty十年開源的歷程和思考 阿里巴巴Blink流計算平臺介紹與實踐 Apache Kafka的過去,現在,和未來

相關贊助商

您好,朋友! 您需要 注冊一個InfoQ賬號 或者 才能進行評論。在您完成注冊后還需要進行一些設置。

獲得來自InfoQ的更多體驗。

告訴我們您的想法


免費論文檢測 論文查重

本文原地址:http://www.byxolb.tw/a/xiaochengxu/11109.html

上一篇: 沒有了

下一篇: Keil C51對標準ANSIC的擴展學習資料

江苏时时彩走势