技德发布了可在Linux系统中无缝运行的移动应用——JStack 2.0
扫描二维码
随时随地手机看文章
Jide Systems最近推出了融合桌面产品JStack 2.0。在先前版本的基础上,JStack 2.0实现了一项重大突破,即可以在Linux环境中同时打开和执行Linux应用程序和移动应用程序。
“JStack” 是技德系统基于Linux平台设计的跨平台应用兼容层技术。开发该项目的目的是为了帮助基于Linux平台发展的国产操作系统解决应用生态不足的困境。
我国国产操作系统都是基于Linux平台发展的,在桌面操作系统的市场占有率层面,Linux与Windows相距甚远,这也导致Linux的应用生态在数量和质量上都很难获得快速与繁荣的发展。在移动端操作系统方面,安卓与iOS两大操作系统的主导地位则几乎不可能被其他后来者撼动。迄今为止,移动端的应用生态已经成为世界上最大的业界生态。将移动应用生态引入到Linux,是解决Linux平台生态薄弱的最有效途径,但这并不容易。
异构系统之间的兼容层技术目前是国内外基于Linux平台发展的操作系统都希望解决的一个技术难题。在国外市场,一直以来有不同的开发团队在该技术领域不断地进行尝试,前者有提供诸如BlueStacks和Genymotion之类的虚拟机/模拟器,后者有Anbox( Android in a box)开源系统,可让用户在本地Linux内核的PC上运行移动应用程序,不依赖全虚拟机方式运行。
不过,目前诸多技术解决方案都各有各的优缺点,以采用虚拟机方式运行移动应用环境的兼容层技术为例,由于技术难度不高,比较容易实现,该方案被大多数开发团队所采用,但该方案整体性能损耗很大,对宿主OS机器的CPU有很高的性能要求,同时因为宿主OS能提供的硬件和外设与移动操作系统本身的外设有较大的区别,所以存在难以克服的应用兼容性问题,比如部分应用无法运行、运行死机等等,再加上原生移动应用大多是手机生态,因此能运行的应用还存在屏幕旋转等诸多易用性问题。
Anbox的技术核心则是基于Linux上的“容器(Container)”技术来实现的一种技术方案。相比虚拟机方案,Anbox总体性能开销少了很多,不像上一种方案一个窗口就是一个完整的异构操作系统,无法同时开启运行多个应用。Anbox技术支持多个应用程序共同使用一套运行环境。然而它的缺点也很明显,Anbox不支持目前最新的OpenGL ES 3.0接口,因此有很多应用是无法运行的,同时Anbox的多窗口是通过原生安卓的Freefrom机制来实现的,而原生安卓对多窗口本身支持的就不好,因此有较大的运行稳定性问题,此外还有移动应用的部分兼容性问题。到目前为止,该产品仍然处于Alpha状态,并非所有Linux用户都可以轻松安装Anbox。总的来说,这些方案离产品化还比较远。
为了避开现存方案中的诸多缺点,真正实现融合的、多窗口化的Linux和移动应用兼容,技德 JStack应用兼容层技术采用了完全不同的技术路线。JStack兼容层技术拥有四个核心组件:
1.轻量虚拟化组件,解决了异构操作系统在Linux环境中平稳运行问题,有效的减少了虚拟机带来的系统开销;
2.虚拟合成显示技术,解决了OpenGL/ES带来的图形渲染兼容问题,以及Linux环境中的PC应用和移动应用兼容图形显示问题,包括多屏和单屏融合显示;
3.移动应用的窗口化及裁剪,解决了移动应用窗口化显示和系统进程调用开销的问题;
4.虚拟外设启动技术,解决了不同类型的应用同时开启,对同一硬件外设竞争使用和调度问题。
在稳定性方面,JStack兼容层技术可以使大多数移动应用(包括部分大型3D游戏)与Linux平台操作系统一体化融合。在兼容性方面,JStack优先针对ARM架构的国产飞腾芯片、鲲鹏芯片的机型进行了适配与支持,未来JStack将适配支持X86架构,并计划对市场开放下载。
去年发布的JStack1.0实现了移动应用以多窗口的形式出现在Linux平台操作系统的屏幕上。技德联合麒麟软件,将这一版本兼容层技术应用在麒麟软件的Kydroid 2.0中,开启了在信息技术应用创新市场的产品化路径。
与上一版本相比,最新发布的JStack2.0的重大突破在于,异构操作系统不再以双桌面的形式呈现,而是以单桌面形式,使移动应用直接运行在Linux环境中。
用户可以同时开启并运行Linux应用与移动应用,在安全的内存共享与数据共享基础上,实现了真正的系统级融合。其界面管理更加简洁顺畅,显示共享、内存等方面也得到了进一步优化,用户的使用体验得到大幅度提升。
据悉,JStack 2.0兼容层技术将应用于麒麟软件Kydroid3.0产品中,以使移动应用可以无缝运行在银河麒麟桌面操作系统中。此举也意味着,Linux兼容运行移动应用这一技术分支已经全面走向了商业化,未来将在信创市场中得到更广泛的应用。