NVIDIA 初创加速计划,免费加速您的创业启动 了解详情
写点什么

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:009047

评论

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

redis常见应用场景

Sakura

4月日更

GitHub开源:4行代码实现《黑客帝国》数字雨特效

不脱发的程序猿

GitHub 开源 程序人生 4月日更 黑客帝国

万字精华:好好巩固你的Nginx知识体系

学Java关注我

Java 编程 架构 程序人生 计算机

阿里巴巴的“双11”高并发秒杀终极版教程!(Java语言设计)

Java 编程 程序员 架构

饿了么EMonitor演进史

阿里巴巴中间件

可观测性 饿了么 emonitor etrace

LeetCode题解:641. 设计循环双端队列,使用数组,JavaScript,详细注释

Lee Chen

算法 大前端 LeetCode

谈谈 WebRTC 的 SDP Unified Plan

拍乐云Pano

WebRTC

线程的故事:我的3位母亲成就了优秀的我!

王磊

Java 线程 多线程

Golang Test

escray

学习 极客时间 Go 语言 4月日更

自从有了他,再也没有担心过环境部署~

MY

部署与维护

破解class文件的第一步:深入理解JAVA Class文件

华为云开发者联盟

Java JVM 索引 class文件

Rust从0到1-代码组织-模块

rust modules 模块

泉州有了一个水务大脑,用AI守护“绿水青山”

百度大脑

AI

使用CrossOver安装第三方软件

懒得勤快

流程引擎介绍

上海派拉基础研发

流程

悲观锁与乐观锁的实现(详情图解)

Java架构师迁哥

架构实战营模块二作业

刁寿钧

架构实战营

rrxjava原理,手持4个大厂offer的我,吊打面试官系列!

欢喜学安卓

android 程序员 面试 移动开发

聪明人的训练(二十三)

Changing Lin

4月日更

编曲新手可以用什么编曲软件?

奈奈的杂社

全网最全 ECMAScript 攻略

清秋

JavaScript ecmascript 大前端 ES6 Ecma

一个码砖的码农,在InfoQ写一年博客,出书了?

小傅哥

Java 设计模式 小傅哥 架构设计 码农出书

视频录制后有噪音怎么办?教你简答几步去除视频噪音!

奈奈的杂社

加密原理详解:对称式加密VS非对称式加密

Java架构师迁哥

一周信创舆情观察(4.12~4.18)

统小信uos

走完线上 BUG 定位最后一公里

阿里巴巴中间件

可观测性 bug bug修复

Android组件化和插件化开发

寻找生命中的美好

android 组件化 插件化

合约跟单系统搭建,合约一键跟单app

Python OOP-1

若尘

面向对象 oop 面向对象编程 Python编程

阿里开发7年大牛:只需一篇文章吃透Android多线程技术,好文推荐

欢喜学安卓

android 程序员 面试 移动开发

开发知识 | 即时通讯是怎么做到的?

YonBuilder低代码开发平台

大前端 即时通讯 APP开发 小程序制作 开发技巧

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