摘要:目前支持哪些平臺的搬家目前對外開放版本釋放了微信小程序轉支付寶小程序的功能,這也是我們在調研中發現需求最多的。從筆者的了解來看,微信小程序框架原理更接近于,而支付寶小程序更接近于。
原文地址: https://ant-move.github.io/we...
螞蟻搬家工具(Antmove)是一個小程序開發輔助工具,致力于解決小程序跨平臺開發的難題,借助于 Antmove,你只需要編寫一套微信小程序代碼(或是支付寶小程序代碼)就可以達到運行于多平臺的目的,無需關心如何適配多平臺的難題。
who?Antmove 起源于高德小程序團隊的一個內部項目,在高德小程序平臺建立之初,有許多的企業合作商希望將他們的小程序應用上線到高德小程序平臺(支付寶小程序平臺),但他們已經有了自己的微信小程序應用,再開發一套高德的(或是支付寶的)對企業來說是一種資源的負擔。基于這個需求,內部實現了一個微信小程序到高德小程序的轉換工具,通過這個工具幫助這些企業用戶快速的將他們的應用上線到高德上。
基于初始的微信小程序到高德小程序轉換的需求,我們發現雖然解決了用戶的第一步需求,但還沒有完全解決他們的痛點,去真正的實現小程序的跨平臺開發,提供小程序跨平臺能力解決方案,這也是螞蟻搬家的目標,要去解決的問題。
what?螞蟻搬家工具,提供一種小程序跨平臺開發統一解決方案
Antmove 的目標是提供一套成熟穩定的小程序跨平臺開發解決方案,那么它到底是什么樣的一個工具,適合什么樣的場景?
如果你沒有小程序跨平臺的需求,那么你是不需要用到 Antmove 的
Antmove 做的是將小程序應用編譯為其它平臺的小程序應用,它不是一個小程序框架,不定義新的小程序語法,我們認為目前的小程序框架發展的已經很成熟,功能完備。基于原生的小程序就已經足夠開發者去開發小程序應用,引入第三方的庫,框架反而會增加技術風險,是應用變得過于復雜。小程序就應該小而美,技術層也應該是這樣。
目前支持哪些平臺的搬家
目前 Antmove 對外開放版本釋放了微信小程序轉支付寶小程序的功能,這也是我們在調研中發現需求最多的。支付寶到微信以及支付寶到百度頭條的轉換目前正在測試中,很快就會與大家見面。
為什么是支付寶到百度頭條?而不是微信到百度頭條的直接轉換?
如下的轉換鏈路圖可以讓我們更加清晰直觀的了解 Antmove 的跨平臺支持情況
在 Antmove 的轉換鏈路中,我們實現了微信小程序與支付寶小程序的雙向轉換,從而實現了以微信小程序為核心或者支付寶小程序為核心的跨平臺解決方案。
微信小程序與支付寶小程序的作為可選轉換鏈路的設計
支付寶小程序的推出要落后于微信小程序,所以在整個框架能力支持上,支付寶是向微信小程序對齊的,然后在框架的底層設計上,兩者是有差異的。從筆者的了解來看,微信小程序框架原理更接近于 Vue.js,而支付寶小程序更接近于 React.js。基于此,在開發體驗上,兩個平臺也有許多的不同。這也是 Antmove 支持兩者作為轉換支持核心的原因之一,讓用戶可以選擇自己或是自己團隊搭的開發體驗。
Antmove 能做到百分百的轉換支持嗎?
很遺憾的是,經過整個團隊的努力,還是有部分差異是工具無法解決或是我們不想解決的,無法解決的部分是不同小程序平臺的能力差異化導致的;而工具沒有去刻意支持的部分是因為我們不希望過多的去影響編譯輸出的代碼,我們希望編譯輸出的還是可編程的、人性化的原生的小程序代碼,盡量低的性能損耗。why?
雖然有部分需要開發者自行去處理,不過完全不用擔心,工具提供了一套機制,讓開發者可用盡量低成本的實現差異化的兼容
從小程序發展至今,社區也出現了許多的小程序相關的框架、工具等生態工具,比如 mpvue、taro、uni-app等工具。它們也提供了跨平臺的解決方案,Antmove 與它們相比有什么異同,有什么優勢呢?
采用原生小程序的開發方式第三方框架與原生微信小程序開發框架性能之比較
wepy、mpvue 小程序框架最初的目的是提升小程序的開發體驗,它們是最早的一批框架,因為那時候微信小程序剛推出不久,功能不穩定,API 經常變更,功能也不夠完善(不支持組件式開發)。所以那時迫切的需要提升小程序的開發體驗,不過到目前為止,小程序框架已經發展的很成熟而且推出了許多小程序場景的功能。
原生小程序的開發體驗已經足夠好,語法擴展功能就顯得有些雞肋,這也是 Antmove 選擇原生小程序開發方式的原因。能夠享受小程序框架的完整的功能特性,同時無需額外的學習成本。
簡化開發流程從技術工程的角度來看,引入第三方框架是有風險的,如果對框架有了強依賴,比必須保證對框架有足夠的了解,否則就會出現框架層引入潛在 bug 的可能。開發流程的增加,開發體驗也會下降,開發調試變得困難。這也是 Antmove 與框架類小程序跨平臺解決方案相比的優勢,無論是轉換前還是轉換后得到的都是原生的小程序代碼,只需要引入部分的 polyfill 代碼即可。
應用性能基于 Antmove 的跨平臺方案,基本可以達到和原生小程序一樣的性能體驗。而如果使用了第三方框架的話,無論框架再怎么優化,與不引人相比,性能肯定會有損耗。
使用體驗Antmove 基本可以達到一鍵轉換的使用體驗,同時還配套了開發模式的編譯日志、運行時日志幫助用戶完善應用,了解不同平臺之間的差一點,得到很適合目標平臺的代碼。
團隊有資源優勢,對支付寶小程序框架從外到內有深入的了解,可以做出更多的優化。how?
Antmove 工具為了提供更好的跨平臺解決方案,主要在編譯時、運行時以及編譯運行時的結合處理,做了許多的轉換處理工作。
如下以微信小程序轉支付寶小程序為例,對應 Antmove 的 wx-alipay-plugin。編譯時處理
Antmove 在編譯時會將整個應用的目錄結構、文件結構等轉換為對應平臺的結構,對文件命名規范、樣式、模板、邏輯文件、配置文件等按照特定平臺輸出。
框架相關的特定語法如 wxs 語法、模塊依賴系統(路徑解析規則差異處理)也會在編譯的過程中處理為目標平臺語法。
編譯示例微信小程序
{{userInfo.nickName}} {{motto}}
支付寶小程序
運行時處理{{userInfo.nickName}} {{motto}}
運行時處理主要是對 API,開放能力以及 App/Page/Component 構造函數進行差異抹平處理。
編譯運行時結合處理有許多功能是編譯時和運行時多帶帶無法處理的,以自定義組件事件傳遞為例,微信是以 triggerEvent 的形式,類似于自定義事件,而支付寶則是類似于 react 的機制,基于 props 的形式來實現組件之間的方法傳遞,這就需要在編譯時將事件轉換為支付寶 props 的形式,并需要在運行時對 props 函數更改為 triggerEvent 調用的形式。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/106353.html
摘要:所以在小程序出現之后,一股框架之風也很快的出現,微信小程序剛推出之后,就出現了兩個比較出名的小程序開發框架,。 原文地址:https://ant-move.github.io/we... 這里說的去除小程序框架其實并不嚴謹,因為小程序本身也算是一個框架,而且是一個功能更加完善的框架系統。在前端的概念中,我們一般說一個框架是指一個用來幫助開發者構建用戶界面的框架,而小程序框架本身不僅僅包...
摘要:繼微信正式推出微信小程序后,各個大廠陸續發布了各自的小程序平臺支付寶小程序百度小程序頭條小程序,跨小程序平臺開發也成為了眾多小程序開發者要面臨的問題。 繼微信正式推出微信小程序后,各個大廠陸續發布了各自的小程序平臺 —— 支付寶小程序、百度小程序、頭條小程序,跨小程序平臺開發也成為了眾多小程序開發者要面臨的問題。 Antmove - 小程序跨平臺解決方案 小程序開發血淚史 小程序發展初...
摘要:跨端框架壹個理想主義團隊的開源作品歷經近個月打磨,滴滴跨端方案終于開源了真正專注于一套代碼運行多端。這時候我們專門成立了一個人的小項目組,完成一個名為的項目,一期目標是不影響用戶發揮,不依賴框架方的原則性實現一套代碼運行和微信小程序。 Chameleon跨端框架——壹個理想主義團隊的開源作品 歷經近20個月打磨,滴滴跨端方案chameleon終于開源了https://github.co...
摘要:中國互聯網絡信息中心發布的中國互聯網絡發展狀況統計報告顯示,截至年月,我國網民規模達億人,微信月活億支付寶月活億百度月活億另一方面,中國手機占智能手機整體的比例超過,月活約億。在年末正式發布了面向未來的跨端的。 開源中國專訪:Chameleon原理首發,其它跨多端統一框架都是假的? 原創: 嘉賓-張楠 開源中國 以往我們說某一功能跨多端,往往是指在諸如 PC、移動等不同類型的設備之...
閱讀 1138·2021-08-12 13:24
閱讀 2985·2019-08-30 14:16
閱讀 3310·2019-08-30 13:01
閱讀 2074·2019-08-30 11:03
閱讀 2773·2019-08-28 17:53
閱讀 3089·2019-08-26 13:50
閱讀 2269·2019-08-26 12:00
閱讀 949·2019-08-26 10:38