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

摘要:
J2ObjC是一个Google开发的开源工具,用于将Java代码转换为Objective-C代码。我们在2012年发布了J2ObjC的alpha版本,并公布了部分实现细节。J2ObjC的逐渐发展到稳定版1.0版本,并应用于开发Inbox、Calendar、Docs、Sheets、Slides和GoogleMyBusiness等Google产品的iOS版本。同时,J2ObjC由Java6升级到Java7和Java8,该项目的Google工程师TomBall表示这是为了“支持当前和过去主流的Java、iOS和Xcode发布版本”。此外,J2ObjC集成了JUnit、Mockito、Gradle和Maven,并支持通过原生方法将Objective-C代码嵌入Java代码。J2ObjC使用ApacheLicense2.0许可协议。

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

中文翻译:http://www.infoq.com/cn/news/2016/02/j2objc

免责声明:文章转载自《J2ObjC 1.0 发布,将 Java 转换为 Objective-C》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇.htaccess rewrite 规则详细说明Superfish jQuery菜单插件下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Redis——redis使用redis-dump,redis-load导出导入数据——【三】

来源 https://www.cnblogs.com/dadonggg/p/8662455.html https://blog.csdn.net/chenxinchongcn/article/details/78666374 安装过程 安装ruby 安装redis-dump之前首先需要安装ruby $ yum install ruby rubygems...

【推荐】CentOS安装PHP5.6.4+扩展安装+安全配置+性能配置

注:以下所有操作均在CentOS 6.5 x86_64位系统下完成。 #准备工作# 前段时间PHP官方发布了一个重要的安全升级公告,修复了两个unserialize函数的严重漏洞,目前受影响的版本有: <5.4.36 <5.5.20 <5.6.4 这里我们直接下载5.6.4的版本进行安装配置,并且在这之前需要先把MySQL和Apach...

呵呵!手把手带你在 IIS 上执行 Python

公司的站点让我头痛死了。在众多前辈高手的带领下。一大堆的 CMD 在站点里执行得好好地,黑客攻击也好好地。仅仅有站点和我不好好地,我快累死了,站点快挂了。。 。 为了解决问题。我想到了 Python 来解决。但是站点上怎样执行 Python。 我在网上找了非常多资料。结果,互相抄来抄去的。问题层出不穷——各种问题都在我眼前显现。在我不断地瞎折腾,经理在...

Thinkphp6笔记七:控制器/模型基类配置

创建基类的目的:创建(应用admin、index、wap)公有部分,方便子类继承,能够各种灵活调用 1.common控制器基类配置 common/controller/CommonBase.php <?php namespace appcommoncontroller; /** * common控制器基类 * */ classCommonBase...

PHP操作Redis数据库常用方法

Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。 Redis支持的数据类型有 Stirng(字符串), List(列表), Hash(字典), Set(集合), Sorted Set(有序集合); 要让php能用上redis,首先就得安装redis扩展。 1.安装re...

在Python中运行gmssl

目录 在Python中运行gmssl Python版本 gmssl介绍 安装gmssl包 基于gmssl的SM2、3、4算法实现 SM2算法 SM3算法 SM4算法 在Python中运行gmssl Python版本 Python 3.8.1 gmssl介绍 ​ GmSSL是一个开源的加密包的python实现,支持SM2/SM3/SM4等...