Iodine: улучшенный язык Java

Это рассказ о новой разработке RemObjects — компании, которая начинала с компонентов для Delphi, а сейчас выпускает целый набор компиляторов Elements для всех популярных платформ: Windows, .NET, JVM, Android, iOS, Cocoa. В набор входят компиляторы с языков Oxygene (клон Паскаля-Delphi), C#, Swift (бесплатный), на любом из которых можно писать для любой указанной выше платформы. И вот теперь в этот список добавляется новый язык — Java. Чем не повод для статьи на Habrahabr?

В Elements 9.2 появился новый компилятор Iodine («Йод»), который позволит вести разработку приложений на языке Java для любой платформы, поддерживаемой Elements. Iodine также привносит новые возможности в сам язык, поэтому даже если Вы не собираетесь писать в Java нативные программы для Windows, Iodine может Вам кое-что предложить.

1. Улучшенный язык


Iodine — это полное надмножество стандартного Java, привносящее в язык расширения, которые упростят и ускорят написание кода. Весь существующий Java-код должен сразу компилироваться: просто скопируйте его, и можно начать использовать расширения.

В первом выпуске Iodine включено:
  • опциональный вывод типа с ключевым словом var (type inference),
  • параметры «out» и «by-reference»,
  • расширения типов (type extensions),
  • разделяемые классы,
  • мощные аспекты,
  • доступ к геттерам/сеттерам через свойства,
  • глобальные (внеклассовые) методы и поля,
  • составные названия методов в стиле Cocoa (т. н. именнованные параметры).

И список будет расширяться, с добавлением поддержки структур/записей и упрощением декларации свойств, к примеру, в версии 9.3. Ознакомиться с языковыми расширениями можно здесь.

Iodine также устраняет некоторые глупые ограничения в разработке Java, например, ограничение одного класса на файл (или, разумеется, один файл на класс) или требование соответствия структуры пакета/пространства имён вашего кода папкам на диске.

Разработчики обещают обновлять Iodine синхронно с изменениями языка Java, для Java 9 и более поздних версий.

2. Улучшенная работа в IDE


Посмотрим правде в глаза: никто не любит работать в Android Studio, Eclipse или NetBeans — эти среды разработки раздуты, тяжеловесны и неинтуитивны. Iodine даёт на выбор несколько отличных вариантов IDE.

Для Mac есть Fire, собственная среда разработки RemObjects: легкая, простая и не мешающаяся под руками. Её уже опробовали программисты других языков Elements.

image

В Windows Iodine интегрируется в Visual Studio, флагманское IDE от Microsoft. Также есть Water — собственная IDE для Windows, выходящая в конце этого года (раннюю предварительную версию уже можно скачать); Water разработана по тем же отлично зарекомендовавшим себя принципам, что и Fire, но «заточена» для Windows.

image

3. Улучшенная цепочка инструментов разработчика


Iodine поставляется с полной цепочкой инструментов, позволяющих из исходного кода проекта получить исполняемый файл — будь то .jar или .apk. Ядро компилятора работает быстро и выдает полезные отчеты об ошибках, в том числе предлагает автоматические исправления и устранение тривиальных ошибок (например, неправильный регистр букв или отсутствие точки с запятой). Управление зависимостями Gradle/Maven глубоко встроено в IDE и цепочку сборки, нет необходимости вручную настраивать файлы сценариев .gradle. А позже в этом году в версии 10 появится новый инструмент EBuild, который выведет процесс сборки на новый уровень.

Другим уникальным преимуществом является то, что, поскольку Iodine является частью семейства Elements с четырьмя языками, вы можете смешивать код, написанный на языках Swift, C# и Oxygene (каждый исходный файл — на одном языке) и компилировать его вместе с кодом Java в общем проекте. Это значительно упрощает повторное использование фрагментов кода на «неправильном» языке, найденных в Интернет.

Заключение


Iodine — отличная цепочка инструментов для разработки приложений Java и Android с использованием языка Java — с улучшенным компилятором, быстрыми IDE и продвинутыми инструментами сборки. Если вы разочарованы своей IDE для Java или цепочкой инструментов, попробуйте сами!
Метки:
Iodine, Java, компилятор, RemObjects, Elements