Iodine:一个优秀的Java语言工具链

简介:

摘要:本文介绍了一款非常优秀的Java语言编程工具链,它在语言扩展、IDE使用体验、工具链等方面有着非常多的特点。以下是译文。

上周,我们宣布了 Elements 9.2 的发布,此版本增加了一个重要的新特性:Iodine,这是一个新的Java语言编译器前端。

虽然Iodine最主要的关注点是让用户可以在其他平台上使用Java语言,但它也希望为JVM或者Android的开发者提供一个更优秀更舒适的开发体验。所以,即使你不在乎在.NET、Cocoa或者本地平台上使用Java,我们也相信Iodine能给你带来很多的实惠!

1. 更优秀的语言

Iodine是常规Java的完整超集,它提供了强大的功能,使得Java编程更简单、更高效。把所有的Java代码立即重新编译一遍(只需复制过来即可),体验一下Iodine的强大功能吧。

这个初始版本包括了以下这些功能:

  • 可选的根据var关键字推断类型
  • “out”和“by-reference”参数
  • 类型扩展
  • 局部类
  • 强大的 Aspects
  • 使用属性语法访问getter/setter
  • 全局的方法和字段
  • Cocoa风格的多部分方法名(又称为:命名参数)

另外还包括了其他一些特性,比如:我们将在9.33版本中支持结构体和记录,以及更方便进行的属性定义。你可以 在这里 阅读到所有的语言扩展。

Iodine也取消了一些长期困扰Java开发人员的愚蠢限制,例如,限制每个文件中只能有一个类(或是一个类一个文件),以及代码的包/命名空间结构必须与磁盘上的文件夹相匹配。

当然,Iodine与由Oracle维护的Java语言保持着同步,包括Java 9及以后的版本。

2. 更棒的IDE体验

让我们面对现实吧:没有人喜欢在Android Studio、Eclipse或者NetBeans中工作,这些IDE太臃肿、太笨重、太不直观了。

Iodine提供了一系列非常不错的IDE选项。

在Mac上,我们有 Fire ,这是我们自己的IDE,轻量级、简单易用。已经使用Fire开发其他语言的客户绝对会爱死它的。

Iodine:一个优秀的Java语言工具链

在Windows上,Iodine与微软的旗舰IDE Visual Studio完全集成。我们也有自己的Windows IDE: Water ,它将在今年晚些时候推出(现已推出早期的预览版)。Water是依据Fire的优秀经验进行设计的,但同时也是针对Windows设计的。

Iodine:一个优秀的Java语言工具链

3. 更完善的工具链

Iodine附带了一个强大的构建工具链,可以将你的项目从源代码变为最终的可执行文件,无论是.jar还是.apk。它的核心编译速度非常快,并且有着很不错的错误报告功能,包括自动纠错功能(例如拼写错误或缺少分号)。Gradle和Maven软件包解析已深度集成在IDE和构建链之中,无需再手动调整.gradle脚本文件。在今年晚些时候即将推出的版本10中,新的EBuild构建链将提升到一个新的水平。

Iodine还有一个非常酷的优点,由于Iodine是Elements四大语言家族的其中之一,因此你可以在Swift、C#或Oxygene项目中混杂Iodine代码,并将其编译到Java或Android项目中。如果你在网上找到了一些非常有用的代码片段,但是却是用其他语言编写的,那么这个强大的功能就派上用场了。

总结

Iodine是使用Java语言开发Java和Android应用程序的优秀的工具链,它配备了更好的编译器、更快的IDE和更复杂更完善的工具链。


作者:雁惊寒翻译

来源:51CTO

相关文章
|
2月前
|
存储 人工智能 算法
数据结构与算法细节篇之最短路径问题:Dijkstra和Floyd算法详细描述,java语言实现。
这篇文章详细介绍了Dijkstra和Floyd算法,这两种算法分别用于解决单源和多源最短路径问题,并且提供了Java语言的实现代码。
92 3
数据结构与算法细节篇之最短路径问题:Dijkstra和Floyd算法详细描述,java语言实现。
|
1月前
|
监控 Java API
如何使用Java语言快速开发一套智慧工地系统
使用Java开发智慧工地系统,采用Spring Cloud微服务架构和前后端分离设计,结合MySQL、MongoDB数据库及RESTful API,集成人脸识别、视频监控、设备与环境监测等功能模块,运用Spark/Flink处理大数据,ECharts/AntV G2实现数据可视化,确保系统安全与性能,采用敏捷开发模式,提供详尽文档与用户培训,支持云部署与容器化管理,快速构建高效、灵活的智慧工地解决方案。
|
4月前
|
Java Maven
使用java语言制作一个窗体(弹窗),用来收集用户输入的内容
该博客文章介绍了如何使用Java Swing中的JFrame创建一个窗体来收集用户输入的内容,并提供了详细的实现步骤和完整代码示例。
使用java语言制作一个窗体(弹窗),用来收集用户输入的内容
|
1月前
|
SQL 安全 Java
安全问题已经成为软件开发中不可忽视的重要议题。对于使用Java语言开发的应用程序来说,安全性更是至关重要
在当今网络环境下,Java应用的安全性至关重要。本文深入探讨了Java安全编程的最佳实践,包括代码审查、输入验证、输出编码、访问控制和加密技术等,帮助开发者构建安全可靠的应用。通过掌握相关技术和工具,开发者可以有效防范安全威胁,确保应用的安全性。
54 4
|
5月前
|
Oracle 安全 Java
Java语言简介及发展
Java语言简介及发展
|
2月前
|
Java 程序员 编译器
在Java编程中,保留字(如class、int、for等)是具有特定语法意义的预定义词汇,被语言本身占用,不能用作变量名、方法名或类名。
在Java编程中,保留字(如class、int、for等)是具有特定语法意义的预定义词汇,被语言本身占用,不能用作变量名、方法名或类名。本文通过示例详细解析了保留字的定义、作用及与自定义标识符的区别,帮助开发者避免因误用保留字而导致的编译错误,确保代码的正确性和可读性。
60 3
|
2月前
|
移动开发 Java 大数据
深入探索Java语言的核心优势与现代应用实践
【10月更文挑战第10天】深入探索Java语言的核心优势与现代应用实践
95 4
|
2月前
|
存储 Java 数据安全/隐私保护
Java中的域,什么是域?计算机语言中的域是什么?(有代码实例)
文章解释了Java中域的概念,包括实例域、静态域、常量域和局部域,以及它们的特点和使用场景。
82 2
|
2月前
|
Java 数据安全/隐私保护 C++
Java语言关键字
Java语言关键字
35 2
|
2月前
|
分布式计算 安全 Java
Java语言的特点?
Java语言的特点?