Это рассказ о новой разработке 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.
В Windows Iodine интегрируется в Visual Studio, флагманское IDE от Microsoft. Также есть Water — собственная IDE для Windows, выходящая в конце этого года (раннюю предварительную версию уже можно скачать); Water разработана по тем же отлично зарекомендовавшим себя принципам, что и Fire, но «заточена» для Windows.
3. Улучшенная цепочка инструментов разработчика
Iodine поставляется с полной цепочкой инструментов, позволяющих из исходного кода проекта получить исполняемый файл — будь то .jar или .apk. Ядро компилятора работает быстро и выдает полезные отчеты об ошибках, в том числе предлагает автоматические исправления и устранение тривиальных ошибок (например, неправильный регистр букв или отсутствие точки с запятой). Управление зависимостями Gradle/Maven глубоко встроено в IDE и цепочку сборки, нет необходимости вручную настраивать файлы сценариев .gradle. А позже в этом году в версии 10 появится новый инструмент EBuild, который выведет процесс сборки на новый уровень.
Другим уникальным преимуществом является то, что, поскольку Iodine является частью семейства Elements с четырьмя языками, вы можете смешивать код, написанный на языках Swift, C# и Oxygene (каждый исходный файл — на одном языке) и компилировать его вместе с кодом Java в общем проекте. Это значительно упрощает повторное использование фрагментов кода на «неправильном» языке, найденных в Интернет.
Заключение
Iodine — отличная цепочка инструментов для разработки приложений Java и Android с использованием языка Java — с улучшенным компилятором, быстрыми IDE и продвинутыми инструментами сборки. Если вы разочарованы своей IDE для Java или цепочкой инструментов, попробуйте сами!
Автор: мистер Олимпия