当前位置: 首页 > news >正文

Gluon公布完整的Java 9 Mobile创新举措

Gluon最近公布的Gluon VM项目为移动开发者提供了Java 9支持以及所有可用的OpenJDK API。

\\

作为一种完整的OpenJDK实现,该公司称Gluon VM将成为Gluon mobile后续新版本的基础,使企业开发者能够从最新的Java 8和Java 9 开发工作中获益。

\\

18个月前发布的Gluon mobile提供了适用于Java主要IDE的插件,可通过一套代码库为Android和iOS平台开发Java应用程序。根据该公司共同创始人John Vos所称,Gluon Mobile对底层硬件进行抽象,可提供用于访问硬件和构建动态用户界面的通用API。

\\

为了在移动设备上执行Java代码,设备必须能够解析Java字节代码,而难就难在这里。目前Android设备上的Gluon Mobile部署可以通过捆绑的方式针对Android以及开发者的应用程序提供优化的JavaFX,并可由Dalvik或ART运行时将其转换为原生Android代码。iOS中的部署是通过另一种方式实现的,需要通过RoboVM AOT编译器将所有应用程序和库文件转换为原生iOS代码。这两种情况下均用到了早已退役的Apache Harmony,这是一种移植版Java SE,并且仅仅是Java 7的一个子集。这意味着开发者无法使用Java 8和Java 9中最新的API和语言特性,例如lambdas、streams,以及modules。

\\

Vos向InfoQ提到:

\\
\

Xamarin被RoboVM收购,并在随后被Microsoft收购后,关于RoboVM的所有开发工作均已停止。

\\

由于RoboVM缺乏后续开发而只能继续使用已被放弃的Apache Harmony项目,Gluon决定做些事情。随后Devoxx UK在本周公布了Gluon VM项目。

\
\\

Gluon VM通过OpenJDK官方项目提供的完整类库取代了过时的Apache Harmony API。

\\

Vos向InfoQ提到:

\\
\

Gluon VM还充分利用了Oracle在OpenJDK Mobile项目中的成果。Gluon VM可以通过预编译器(ahead-of-time compiler)、即时编译器(just-in-time compiler),或运行时解释器(runtime interpreter)的方式运行,可以忽略具体平台实现非常高的性能。

\
\\

Gluon的创始人同时也是JavaFX和移动平台的高级委员。

\\

根据Vos的介绍:

\\
\

Gluon共同创始人以及Gluon公司天才的工程师团队在Java世界中很受尊重,从VM开发到JavaFX和移动甚至Java EE,对Java生态系统的方方面面做出了巨大贡献。成立后不长时间里,Gluon已经通过对Java生态系统的贡献在JavaOne 2015活动中赢得了Duke’s Choice(公爵选择奖)称号。

\\

Gluon Mobile发布后版本更新速度很快,很多企业目前已经开始通过单一代码库积极部署Android和iOS应用程序,在大幅节约成本的前提下开始开发内部应用,同时还能在不借助外部咨询的情况下“赢得自己的未来”,实现快速迭代。

\
\\

Vos告诉我们说,Gluon VM已经跟上了OpenJDK的发展步伐,计划与Java 9同步发布。他说目前还没有关于Java 8的向后移植计划,但会在可用后发布Gluon VM预览版。

\\

Vos同时还解释说:

\\
\

Gluon渴望与感兴趣的合作伙伴展开合作,借此帮助大家在自己的应用程序中耕顺利地使用Gluon VM(和Gluon Mobile),或针对VM的实现展开合作。

\
\\

该产品的报价和许可详情尚未公布。根据Vos的介绍:

\\
\

我们的目标是为希望自动涵盖从桌面到移动,再到嵌入式环境的多种设备,通过同一个代码库创造有吸引力,功能丰富,高性能应用程序的开发者打造最佳环境。我们会提供商用的支持和顾问服务,同时也为坚持开源的做法感到自豪。

\
\\

查看英文原文:Gluon Announces Full Java 9 Mobile Initiative

相关文章:

  • Linux运维(数据库专题)面试题
  • 生产环境提升ssh安全的10种方式
  • 重提敏捷已死
  • AppFabric 版本区分
  • android之SQLlite操作
  • 文件查找和压缩
  • HDU4813 Hard Code
  • 8、LVM逻辑卷和RAID管理
  • Max server memory是否需要配置?
  • 数据库建表的时候报 “1215 Cannot add foreign key constraint”
  • 转:HTTP 301 跳转和302跳转的区别
  • HTML5 离线缓存详解(转)
  • apache配置rewrite及.htaccess文件
  • SqlServer数据库全角转换成半角
  • 转-临界区对象TCriticalSection与TRTLCriticalSection的区别
  • [deviceone开发]-do_Webview的基本示例
  • 《Java8实战》-第四章读书笔记(引入流Stream)
  • 【comparator, comparable】小总结
  • Akka系列(七):Actor持久化之Akka persistence
  • JavaScript新鲜事·第5期
  • leetcode386. Lexicographical Numbers
  • linux学习笔记
  • oschina
  • Quartz实现数据同步 | 从0开始构建SpringCloud微服务(3)
  • React的组件模式
  • Redux 中间件分析
  • vue从创建到完整的饿了么(11)组件的使用(svg图标及watch的简单使用)
  • 从零开始的webpack生活-0x009:FilesLoader装载文件
  • 当SetTimeout遇到了字符串
  • 人脸识别最新开发经验demo
  • 什么是Javascript函数节流?
  • 手机app有了短信验证码还有没必要有图片验证码?
  • 微信支付JSAPI,实测!终极方案
  • 温故知新之javascript面向对象
  • 移动端解决方案学习记录
  • 在Unity中实现一个简单的消息管理器
  • 阿里云服务器购买完整流程
  • ## 临床数据 两两比较 加显著性boxplot加显著性
  • #HarmonyOS:Web组件的使用
  • #pragma once与条件编译
  • (附源码)springboot太原学院贫困生申请管理系统 毕业设计 101517
  • (规划)24届春招和25届暑假实习路线准备规划
  • (九)c52学习之旅-定时器
  • (四)库存超卖案例实战——优化redis分布式锁
  • (转)项目管理杂谈-我所期望的新人
  • *** 2003
  • .NET 使用 XPath 来读写 XML 文件
  • .NET/C# 编译期能确定的字符串会在字符串暂存池中不会被 GC 垃圾回收掉
  • .Net7 环境安装配置
  • .net和php怎么连接,php和apache之间如何连接
  • .net连接MySQL的方法
  • @Builder用法
  • @staticmethod和@classmethod的作用与区别
  • [ Linux 长征路第五篇 ] make/Makefile Linux项目自动化创建工具
  • [AX]AX2012 AIF(四):文档服务应用实例