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

最新文章

  1. mac svn命令使用
  2. MyBatis的mapper
  3. gulp系列文章一 fis vs grunt vs gulp,为什么要是gulp呢?
  4. Xdebug开源PHP程序调试器
  5. 百度ue富文本编辑器setContent方法报错初始化加载内容失败解决办法
  6. ssh 文件传输
  7. OSG调试信息显示
  8. jquery颜色渐变
  9. foreach真的比for性能高吗
  10. beauty
  11. HDU 6069
  12. Linux 快速执行历史命令,用 !编号
  13. Centos7 安装 python2.7
  14. 输入二进制数转换成十进制数(在cin>>和cin.get()上掉的坑)
  15. Java Web组件Servlet、Filter、Listener
  16. jquery 实现按回车键登录功能的写法
  17. C#根据byte前两位获取图片扩展名
  18. 修改win下ras/pppoe/l2tp等连接数限制
  19. mysql 系统表的作用
  20. 一道题浅析 i++,++i,i+1及(引用)&i的区别

热门文章

  1. ASP.NET WebAPi之断点续传下载(上)
  2. golang中的类和接口的使用
  3. js 中类似时钟的显示
  4. 关于SSMS显示select出来的数据行的疑问
  5. spring boot 配置启动后执行sql, 中文乱码
  6. 实现terminal代理
  7. 创建ASP.NET Core MVC应用程序(3)-基于Entity Framework Core(Code First)创建MySQL数据库表
  8. C#编程总结--总目录
  9. 使用js批量选中功能实现更改数据库中的status状态值(批量展示)
  10. [教学] Delphi Berlin 10.1 开发 Windows 10 平板 App 远程调试