Iodine:一個優(yōu)秀的Java語言工具鏈
摘要:本文介紹了一款非常優(yōu)秀的Java語言編程工具鏈,它在語言擴(kuò)展、IDE使用體驗、工具鏈等方面有著非常多的特點(diǎn)。以下是譯文。
上周,我們宣布了 Elements 9.2 的發(fā)布,此版本增加了一個重要的新特性:Iodine,這是一個新的Java語言編譯器前端。
雖然Iodine最主要的關(guān)注點(diǎn)是讓用戶可以在其他平臺上使用Java語言,但它也希望為JVM或者Android的開發(fā)者提供一個更優(yōu)秀更舒適的開發(fā)體驗。所以,即使你不在乎在.NET、Cocoa或者本地平臺上使用Java,我們也相信Iodine能給你帶來很多的實(shí)惠!
1. 更優(yōu)秀的語言
Iodine是常規(guī)Java的完整超集,它提供了強(qiáng)大的功能,使得Java編程更簡單、更高效。把所有的Java代碼立即重新編譯一遍(只需復(fù)制過來即可),體驗一下Iodine的強(qiáng)大功能吧。
這個初始版本包括了以下這些功能:
- 可選的根據(jù)var關(guān)鍵字推斷類型
- “out”和“by-reference”參數(shù)
- 類型擴(kuò)展
- 局部類
- 強(qiáng)大的 Aspects
- 使用屬性語法訪問getter/setter
- 全局的方法和字段
- Cocoa風(fēng)格的多部分方法名(又稱為:命名參數(shù))
另外還包括了其他一些特性,比如:我們將在9.33版本中支持結(jié)構(gòu)體和記錄,以及更方便進(jìn)行的屬性定義。你可以 在這里 閱讀到所有的語言擴(kuò)展。
Iodine也取消了一些長期困擾Java開發(fā)人員的愚蠢限制,例如,限制每個文件中只能有一個類(或是一個類一個文件),以及代碼的包/命名空間結(jié)構(gòu)必須與磁盤上的文件夾相匹配。
當(dāng)然,Iodine與由Oracle維護(hù)的Java語言保持著同步,包括Java 9及以后的版本。
2. 更棒的IDE體驗
讓我們面對現(xiàn)實(shí)吧:沒有人喜歡在Android Studio、Eclipse或者NetBeans中工作,這些IDE太臃腫、太笨重、太不直觀了。
Iodine提供了一系列非常不錯的IDE選項。
在Mac上,我們有 Fire ,這是我們自己的IDE,輕量級、簡單易用。已經(jīng)使用Fire開發(fā)其他語言的客戶絕對會愛死它的。
在Windows上,Iodine與微軟的旗艦IDE Visual Studio完全集成。我們也有自己的Windows IDE: Water ,它將在今年晚些時候推出(現(xiàn)已推出早期的預(yù)覽版)。Water是依據(jù)Fire的優(yōu)秀經(jīng)驗進(jìn)行設(shè)計的,但同時也是針對Windows設(shè)計的。
3. 更完善的工具鏈
Iodine附帶了一個強(qiáng)大的構(gòu)建工具鏈,可以將你的項目從源代碼變?yōu)樽罱K的可執(zhí)行文件,無論是.jar還是.apk。它的核心編譯速度非??欤⑶矣兄懿诲e的錯誤報告功能,包括自動糾錯功能(例如拼寫錯誤或缺少分號)。Gradle和Maven軟件包解析已深度集成在IDE和構(gòu)建鏈之中,無需再手動調(diào)整.gradle腳本文件。在今年晚些時候即將推出的版本10中,新的EBuild構(gòu)建鏈將提升到一個新的水平。
Iodine還有一個非??岬膬?yōu)點(diǎn),由于Iodine是Elements四大語言家族的其中之一,因此你可以在Swift、C#或Oxygene項目中混雜Iodine代碼,并將其編譯到Java或Android項目中。如果你在網(wǎng)上找到了一些非常有用的代碼片段,但是卻是用其他語言編寫的,那么這個強(qiáng)大的功能就派上用場了。
總結(jié)
Iodine是使用Java語言開發(fā)Java和Android應(yīng)用程序的優(yōu)秀的工具鏈,它配備了更好的編譯器、更快的IDE和更復(fù)雜更完善的工具鏈。