發現一個神奇的移動跨平臺開發框架

相當多的小夥伴對我的印象都是——Qt,嘿嘿,這是因爲我憑一己之蠻力寫作並出版了兩本Qt方面的書《Qt on Android核心編程》和《Qt Quick核心編程》,在當時的Qt圈子裏砸出了一點小浪花。

很少有人知道,我還做過Android開發和iOS開發,是使用Qt這個跨平臺框架哦——Qt從2013年開始支持移動平臺了。

不過用Qt開發移動端APP,有兩個不大好的地方:1)安裝包體積太大,會比原生APP增加40M左右;2)界面風格與原生平臺適配較爲麻煩。

鑑於這兩個原因,強大的Qt在移動端的發展有些緩慢,後來我自己也沒怎麼用Qt開發移動端應用了,不過移動端跨平臺開發真的是非常方便,對小公司、小團隊來講也真的是非常經濟的選擇,所以我一直在關注各種跨平臺開發框架,比如Cordova、React Native、Weex、Flutter、Xamarin等,都有所瞭解。

最近在GitHub上浪的時候,忽然發現了一個新的框架——MLN,項目頁面上介紹說MLN是一個高性能、小巧、易上手的移動跨平臺開發框架。而且神奇的是,它居然是基於Lua語言的框架!

你知道嗎?我在2008年時用過Lua ,還在CSDN上寫了一系列的博客。

當時還採用Lua作爲腳本化的語言爲我們的WebOS系統設計了一個熱更新的插件框架。

所以當我看到MLN可以使用Lua開發時,興趣一下子被調動起來,趕緊瀏覽它的GitHub主頁,發現項目的README這麼介紹MLN:

MLN是一個移動跨平臺開發框架,讓開發者用一套代碼構建Android、iOS應用。MLN設計思路貼近原生開發,客戶端開發者的經驗,可以迅速遷移到MLN上,輕易構建出跨平臺移動應用。

  • 易上手,MLN專爲客戶端開發者設計,iOS、Android程序員非常容易上手。使用MLN不需要學習Node.js、npm、vue、ES6這些對客戶端開發陌生的前端技術,也不強迫使用響應式框架。花幾個小時瞭解下lua語言和文檔就能輕鬆上手,客戶端開發者的整個技術棧在這裏都派得上用場。
  • 增加包體積極小,1.2M。
  • 真正的原生性能。跨平臺往往意味着性能受損,得益於lua虛擬機的高性能和MLN優化,我們極大減少了中間介質影響,即使在低端安卓手機加載頁面也極快。
  • 支持熱更新。

簡單講,就是跨平臺、易上手、性能高、熱更新、增加包體積超小。

想想我之前用的Qt,安裝包體積增加幾十兆,想想RN性能優化時的各種槽點,我對MLN到底怎麼樣,起了強烈的好奇心。剛好我手上有一個媳婦淘汰下來的iPhone 6,還有一個之前移動充話費送的OPPO A3,都是過時的機子,正好可以用來測試MLN。於是我就找了兩個朋友,參照MLN項目主頁上給出的DEMO,用MLN、Weex(0.28.0)、Flutter(1.13.2)、React Native(0.61.5)各整了一個DEMO,分增加包體積大小、頁面加載速度、頁面刷新幀率(fps)、內存佔用四個方面進行了測試。

先說Android手機OPPO A3上的測試結果。

安裝包大小測試結果(增量):

頁面加載速度測試結果:

頁面刷新幀率(fps)測試結果:

內存佔用測試結果:

測試結果整理成表格如下:

由此可見,在安卓平臺上,相比Weex、Flutter、React Native,使用MLN開發的APP,安裝包體積增量最小,fps和頁面加載速度都更接近原生APP。

再來看iPhone 6 的測試結果。

安裝到手機後包大小測試結果(增量):

頁面加載速度測試結果:

頁面刷新幀率(fps)測試結果:

內存佔用測試結果:

測試結果整理成表格如下:

由此可見,在iOS平臺上,相比Weex、Flutter、React Native,使用MLN開發的APP,安裝到手機後包大小增量最小,頁面加載速度和內存佔用都更接近原生APP。

綜合兩個平臺,可以發現,採用MLN框架開發的APP,的確具有其項目首頁(https://github.com/momotech/MLN)上所說的易上手、性能高、增加包體積超小等特點。

除了顯著性能優勢,MLN上手門檻也不高,甚至可以說非常低——它從頁面佈局方式到開發模式,都貼近客戶端程序員開發習慣,通常一天就能上手。

說到這裏可能有小夥伴會有疑問,這麼好的移動跨平臺開發框架,適合在什麼場景下使用呢?

一個典型的場景是,MLN更適合嵌入到已有開發工程裏使用,進行混合式開發。這種模式下,它能實現熱更新並顯著提高開發效率。

第二個典型場景是,使用MLN獨立開發完整APP。這個也經過驗證,可以明顯節省人力並能達到原生一樣的高性能。

到這裏,又有小夥伴會問:有沒有App在用呢?

其實推出MLN的陌陌公司,其App就有多處是用MLN開發的,包括陌陌APP的首頁(陌陌第一幀)、直播幀(陌陌第二幀)、直播頁面在線榜單等,陌陌裏面的附近羣組、殭屍派對、聊天室等,也是用MLN開發的。

可能很多人對陌陌的印象還停留在陌生人社交軟件這個標籤上,而實際上,陌陌的產品最近幾年有很多變化,短視頻、直播、遊戲等,都有涉獵,而這些產品的發展,也打磨出一支實力雄厚的研發技術團隊。

MLN就是陌陌技術團隊的對外技術輸出,已經在陌陌的商業化場景下驗證過,是經得起考驗的框架,值得一試。

如果你對MLN感興趣,可以訪問 https://github.com/momotech/MLN 瞭解更多。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章