【ArchSummit架构师峰会】探讨数据与人工智能相互驱动的关系>>> 了解详情
写点什么

Google 发布 J2ObjC 1.0:将 Java 转换为 Objective-C

  • 2016-02-16
  • 本文字数:861 字

    阅读完需:约 3 分钟

J2ObjC 是一个 Google 开发的开源工具,用于将 Java 代码转换为 Objective-C 代码。其目的是为了能在 iOS 平台上重用 Android 平台、web 服务器端的 Java 代码。服务器端代码的转换由 GWT 完成。J2ObjC 并不转换 UI 代码,这部分需要针对不同平台分别开发。

我们在 2012 年发布了 J2ObjC 的 alpha 版本,并公布了部分实现细节。J2ObjC 的逐渐发展到稳定版 1.0 版本,并应用于开发 Inbox、Calendar、Docs、Sheets、Slides 和 Google My Business 等 Google 产品的 iOS 版本。同时,J2ObjC 由 Java 6 升级到 Java 7 和 Java 8,该项目的 Google 工程师 Tom Ball 表示这是为了“支持当前和过去主流的 Java、iOS 和 Xcode 发布版本”。此外,J2ObjC 集成了 JUnit、Mockito、Gradle 和 Maven,并支持通过原生方法将 Objective-C 代码嵌入 Java 代码

在被问到 J2ObjC 对 Java 8 的支持程度时,Ball 告诉我们:

这取决于怎么定义"Java 8"。:-) 我们加入了对 Java 8 一些语言特性的支持,如 lambda 表达式和方法索引。但是因为我们的 JRE 运行时基于 Android 的 libcore 库,所以目前还不支持任何 Java 8 引入的 API。我们计划与 libcore 团队定期同步,这样他们添加的所有 Java 8 支持都能很快地被引入到 J2ObjC 的运行时。

谈及未来发展,Ball 补充道:

J2ObjC 主要是一个构建工具,因此会根据使用该工具的应用开发人员的需求来确定未来计划。我们现在了解到的需求是,他们希望我们持续且快速地支持 iOS 新特性、优化 Swift 互操作性、支持 Java 8 接口、提供更好的工具集成、减少构建次数。作为编译器开发工程师,我们也会专注于优化生成的代码和快速修复 bug。

J2ObjC 使用 Apache License 2.0 许可协议。

查看英文原文 Google’s J2ObjC 1.0 Translates Java into Objective-C


感谢郭蕾对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们,并与我们的编辑和其他读者朋友交流(欢迎加入 InfoQ 读者交流群InfoQ 好读者(已满),InfoQ 读者交流群(#2)InfoQ 好读者)。

2016-02-16 18:009041

评论

发布
暂无评论
发现更多内容

Elasticsearch 源码学习(1)源码编译调试

Se7en

【LeetCode】最后一个单词的长度Java题解

Albert

算法 LeetCode 9月日更

网络攻防学习笔记 Day143

穿过生命散发芬芳

9月日更 虚拟化技术

技术圈的【多肉小达人】,一篇文章你就能做到

梦想橡皮擦

9月日更

【架构设计模块八】:设计消息队列存储消息数据的 MySQL 表格

Ryoma

Ember.js 项目开发之 Ember Data

devpoint

ember.js 9月日更

数据仓库的数据从哪来?

奔向架构师

数据仓库 9月日更

架构实战营-模块八作业

以吻封笺

Vue进阶(幺贰肆):前端用户体验提升(一)

No Silver Bullet

用户体验 9月日更

过滤器、拦截器、监听器

hasWhere

中秋晴朗夜,我们与星月相见

白洞计划

TCP/IP参考模型与标准协议

Regan Yue

TCP/IP 9月日更

JVM启动参数学习笔记三

风翱

JVM 9月日更

模块八作业

河马先生

架构实战营

《转》搭建websocket消息推送服务

hasWhere

架构实战营-模块八作业

老实人Honey

产品分析:如何给出解决方案?

石云升

产品经理 产品思维 9月日更

模块8作业

脉动

JavaScript进阶(六)继承

Augus

JavaScript 9月日更

架构实战营模块8作业

zlz

架构训练营模块八作业

喻高咏        

架构训练营

手机测试岗位常见面试问题汇总(持续更新中)

IT蜗壳-Tango

9月日更

模块四作业

Geek_fc100d

「架构实战营」

高可用延迟队列设计与实现

万俊峰Kevin

微服务 延迟队列 microservice Go 语言 定时队列

SpringMVC源码分析-HandlerAdapter(2)-RequestMappingHandlerAdapter的初始化

Brave

源码 springmvc 9月日更

python学习笔记:day1——python入门了解

秦时明月

Python编程

架构设计的一些思考

hasWhere

古董系统的并发安全改造

hasWhere

缓存系统设计与实现

hasWhere

架构实战营模块八作业

技术是伙伴

架构实战营

架构训练营-模块八作业

hello

架构训练营

Google发布J2ObjC 1.0:将Java转换为Objective-C_Java_Abel Avram_InfoQ精选文章