Pull to refresh

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 или цепочкой инструментов, попробуйте сами!
Tags:
Hubs:
You can’t comment this publication because its author is not yet a full member of the community. You will be able to contact the author only after he or she has been invited by someone in the community. Until then, author’s username will be hidden by an alias.