技德發(fā)布了可在Linux系統(tǒng)中無(wú)縫運(yùn)行的移動(dòng)應(yīng)用——JStack 2.0
Jide Systems最近推出了融合桌面產(chǎn)品JStack 2.0。在先前版本的基礎(chǔ)上,JStack 2.0實(shí)現(xiàn)了一項(xiàng)重大突破,即可以在Linux環(huán)境中同時(shí)打開(kāi)和執(zhí)行Linux應(yīng)用程序和移動(dòng)應(yīng)用程序。
“JStack” 是技德系統(tǒng)基于Linux平臺(tái)設(shè)計(jì)的跨平臺(tái)應(yīng)用兼容層技術(shù)。開(kāi)發(fā)該項(xiàng)目的目的是為了幫助基于Linux平臺(tái)發(fā)展的國(guó)產(chǎn)操作系統(tǒng)解決應(yīng)用生態(tài)不足的困境。
我國(guó)國(guó)產(chǎn)操作系統(tǒng)都是基于Linux平臺(tái)發(fā)展的,在桌面操作系統(tǒng)的市場(chǎng)占有率層面,Linux與Windows相距甚遠(yuǎn),這也導(dǎo)致Linux的應(yīng)用生態(tài)在數(shù)量和質(zhì)量上都很難獲得快速與繁榮的發(fā)展。在移動(dòng)端操作系統(tǒng)方面,安卓與iOS兩大操作系統(tǒng)的主導(dǎo)地位則幾乎不可能被其他后來(lái)者撼動(dòng)。迄今為止,移動(dòng)端的應(yīng)用生態(tài)已經(jīng)成為世界上最大的業(yè)界生態(tài)。將移動(dòng)應(yīng)用生態(tài)引入到Linux,是解決Linux平臺(tái)生態(tài)薄弱的最有效途徑,但這并不容易。
異構(gòu)系統(tǒng)之間的兼容層技術(shù)目前是國(guó)內(nèi)外基于Linux平臺(tái)發(fā)展的操作系統(tǒng)都希望解決的一個(gè)技術(shù)難題。在國(guó)外市場(chǎng),一直以來(lái)有不同的開(kāi)發(fā)團(tuán)隊(duì)在該技術(shù)領(lǐng)域不斷地進(jìn)行嘗試,前者有提供諸如BlueStacks和Genymotion之類(lèi)的虛擬機(jī)/模擬器,后者有Anbox( Android in a box)開(kāi)源系統(tǒng),可讓用戶(hù)在本地Linux內(nèi)核的PC上運(yùn)行移動(dòng)應(yīng)用程序,不依賴(lài)全虛擬機(jī)方式運(yùn)行。
不過(guò),目前諸多技術(shù)解決方案都各有各的優(yōu)缺點(diǎn),以采用虛擬機(jī)方式運(yùn)行移動(dòng)應(yīng)用環(huán)境的兼容層技術(shù)為例,由于技術(shù)難度不高,比較容易實(shí)現(xiàn),該方案被大多數(shù)開(kāi)發(fā)團(tuán)隊(duì)所采用,但該方案整體性能損耗很大,對(duì)宿主OS機(jī)器的CPU有很高的性能要求,同時(shí)因?yàn)樗拗鱋S能提供的硬件和外設(shè)與移動(dòng)操作系統(tǒng)本身的外設(shè)有較大的區(qū)別,所以存在難以克服的應(yīng)用兼容性問(wèn)題,比如部分應(yīng)用無(wú)法運(yùn)行、運(yùn)行死機(jī)等等,再加上原生移動(dòng)應(yīng)用大多是手機(jī)生態(tài),因此能運(yùn)行的應(yīng)用還存在屏幕旋轉(zhuǎn)等諸多易用性問(wèn)題。
Anbox的技術(shù)核心則是基于Linux上的“容器(Container)”技術(shù)來(lái)實(shí)現(xiàn)的一種技術(shù)方案。相比虛擬機(jī)方案,Anbox總體性能開(kāi)銷(xiāo)少了很多,不像上一種方案一個(gè)窗口就是一個(gè)完整的異構(gòu)操作系統(tǒng),無(wú)法同時(shí)開(kāi)啟運(yùn)行多個(gè)應(yīng)用。Anbox技術(shù)支持多個(gè)應(yīng)用程序共同使用一套運(yùn)行環(huán)境。然而它的缺點(diǎn)也很明顯,Anbox不支持目前最新的OpenGL ES 3.0接口,因此有很多應(yīng)用是無(wú)法運(yùn)行的,同時(shí)Anbox的多窗口是通過(guò)原生安卓的Freefrom機(jī)制來(lái)實(shí)現(xiàn)的,而原生安卓對(duì)多窗口本身支持的就不好,因此有較大的運(yùn)行穩(wěn)定性問(wèn)題,此外還有移動(dòng)應(yīng)用的部分兼容性問(wèn)題。到目前為止,該產(chǎn)品仍然處于Alpha狀態(tài),并非所有Linux用戶(hù)都可以輕松安裝Anbox。總的來(lái)說(shuō),這些方案離產(chǎn)品化還比較遠(yuǎn)。
為了避開(kāi)現(xiàn)存方案中的諸多缺點(diǎn),真正實(shí)現(xiàn)融合的、多窗口化的Linux和移動(dòng)應(yīng)用兼容,技德 JStack應(yīng)用兼容層技術(shù)采用了完全不同的技術(shù)路線(xiàn)。JStack兼容層技術(shù)擁有四個(gè)核心組件:
1.輕量虛擬化組件,解決了異構(gòu)操作系統(tǒng)在Linux環(huán)境中平穩(wěn)運(yùn)行問(wèn)題,有效的減少了虛擬機(jī)帶來(lái)的系統(tǒng)開(kāi)銷(xiāo);
2.虛擬合成顯示技術(shù),解決了OpenGL/ES帶來(lái)的圖形渲染兼容問(wèn)題,以及Linux環(huán)境中的PC應(yīng)用和移動(dòng)應(yīng)用兼容圖形顯示問(wèn)題,包括多屏和單屏融合顯示;
3.移動(dòng)應(yīng)用的窗口化及裁剪,解決了移動(dòng)應(yīng)用窗口化顯示和系統(tǒng)進(jìn)程調(diào)用開(kāi)銷(xiāo)的問(wèn)題;
4.虛擬外設(shè)啟動(dòng)技術(shù),解決了不同類(lèi)型的應(yīng)用同時(shí)開(kāi)啟,對(duì)同一硬件外設(shè)競(jìng)爭(zhēng)使用和調(diào)度問(wèn)題。
在穩(wěn)定性方面,JStack兼容層技術(shù)可以使大多數(shù)移動(dòng)應(yīng)用(包括部分大型3D游戲)與Linux平臺(tái)操作系統(tǒng)一體化融合。在兼容性方面,JStack優(yōu)先針對(duì)ARM架構(gòu)的國(guó)產(chǎn)飛騰芯片、鯤鵬芯片的機(jī)型進(jìn)行了適配與支持,未來(lái)JStack將適配支持X86架構(gòu),并計(jì)劃對(duì)市場(chǎng)開(kāi)放下載。
去年發(fā)布的JStack1.0實(shí)現(xiàn)了移動(dòng)應(yīng)用以多窗口的形式出現(xiàn)在Linux平臺(tái)操作系統(tǒng)的屏幕上。技德聯(lián)合麒麟軟件,將這一版本兼容層技術(shù)應(yīng)用在麒麟軟件的Kydroid 2.0中,開(kāi)啟了在信息技術(shù)應(yīng)用創(chuàng)新市場(chǎng)的產(chǎn)品化路徑。
與上一版本相比,最新發(fā)布的JStack2.0的重大突破在于,異構(gòu)操作系統(tǒng)不再以雙桌面的形式呈現(xiàn),而是以單桌面形式,使移動(dòng)應(yīng)用直接運(yùn)行在Linux環(huán)境中。
用戶(hù)可以同時(shí)開(kāi)啟并運(yùn)行Linux應(yīng)用與移動(dòng)應(yīng)用,在安全的內(nèi)存共享與數(shù)據(jù)共享基礎(chǔ)上,實(shí)現(xiàn)了真正的系統(tǒng)級(jí)融合。其界面管理更加簡(jiǎn)潔順暢,顯示共享、內(nèi)存等方面也得到了進(jìn)一步優(yōu)化,用戶(hù)的使用體驗(yàn)得到大幅度提升。
據(jù)悉,JStack 2.0兼容層技術(shù)將應(yīng)用于麒麟軟件Kydroid3.0產(chǎn)品中,以使移動(dòng)應(yīng)用可以無(wú)縫運(yùn)行在銀河麒麟桌面操作系統(tǒng)中。此舉也意味著,Linux兼容運(yùn)行移動(dòng)應(yīng)用這一技術(shù)分支已經(jīng)全面走向了商業(yè)化,未來(lái)將在信創(chuàng)市場(chǎng)中得到更廣泛的應(yīng)用。