【ArchSummit】如何通过AIOps推动可量化的业务价值增长和效率提升?>>> 了解详情
写点什么

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

评论

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

互联网大厂有哪些分库分表的思路和技巧?

冰河

分布式数据库 分库分表 分布式存储 数据一致性 数据同步

为了搞清楚类加载,竟然手撸JVM!

小傅哥

JVM 小傅哥 类加载 生命周期 加载机制

分享一个普通程序员的“沪漂”六年的历程以及感想

程序员老猫

回忆录 经历 年终总结 沪漂 上海买房

测开之函数进阶· 第6篇《闭包》

清菡软件测试

测试开发

盘点2020 | 2021,Begin Again !

double U

大前端 盘点2020

NoahTenet诺亚信条软件系统APP开发

系统开发

Spring cloud Gateway(二) 一个Http请求的流程解析

Java 网关

5G与4G的差别及应用

anyRTC开发者

人工智能 android AI 5G WebRTC

SpringCloudGateway(一) 概览

Java SpringcloudGateway

CKLC挖矿矿机系统开发案例介绍

系统开发咨询1357O98O718

CKLC挖矿矿机系统软件开发 CKLC挖矿矿机系统开发 CKLC挖矿矿机APP系统开发

阿里面试:Mybatis中方法和SQL是怎么关联起来的呢?

田维常

mybatis

被砍伤的技术VP | 法庭上的CTO(24)

赵新龙

CTO 法庭上的CTO

10次面试,2份offer —— 大龄程序员 2020 求职记录

escray

面试 架构师训练营第 1 期

IPFS挖矿系统开发详情案例

系统开发咨询1357O98O718

IPFS云算力挖矿系统开发 IPFS算力挖矿软件系统开发

IPFS挖矿矿机系统开发方案丨IPFS挖矿矿机源码案例

系统开发咨询1357O98O718

IPFS云算力挖矿系统开发 IPFS算力挖矿系统开发搭建

AAAI 2021论文:利用深度元学习对城市销量进行预测(附论文下载)

京东科技开发者

数据库 大数据 时序预测

生产环境全链路压测建设历程 23:FAQ 3、4 适配改造,目标压力

数列科技杨德华

全链路压测 七日更

架构师训练营第一周作业

Mark

母鸡下蛋实例:多线程通信生产者和消费者wait/notify和condition/await/signal条件队列

叫练

多线程与高并发 Wait lock 线程互斥 await

MySQL为Null会导致5个问题,个个致命!

王磊

MySQL MySQL使用

犯”集资诈骗罪“、二审判6年的CTO | 法庭上的CTO(21)

赵新龙

CTO 法庭上的CTO

鸟枪换炮,利用python3对球员做大数据降维(因子分析得分),为C罗找到合格僚机

刘悦的技术博客

Python 数据分析 特征选择 降维

公安警务报警系统,二维码一键定位报警

t13823115967

二维码定位报警系统开发 微警务 二维码定位

Java多线程编程核心技术

田维常

多线程

侵犯著作权、判刑两年半的 CTO |法庭上的CTO(22)

赵新龙

CTO 法庭上的CTO

开设赌场的CTO | 法庭上的CTO(23)

赵新龙

CTO 法庭上的CTO

散布消极言论被开除的总监 | 法庭上的CTO(25)

赵新龙

CTO 法庭上的CTO

IPFS云算力挖矿系统开发详解案例及源码

系统开发咨询1357O98O718

云算力挖矿系统开发详解 云算力APP系统软件开发 云算力模式系统开发源码 云算力软件系统开发定制

总结2020:5个月出版两本书,日更公众号是一种怎样的体验?

冰河

程序员 程序人生 年终总结

盘点2020 | YourBatman 2020年感悟关键词:科比、裁员、管理层、活着

YourBatman

裁员 盘点2020 科比 管理层 活着

智慧社区综合应用平台搭建,社区管理解决方案

t13823115967

智慧社区管理平台开发 智慧平安社区平台建设

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