Клиентская Java вне браузера: делаем нативные клиенты на Java

Современный интернет сервис – это не только Web клиент. Сегодня принято писать нативные клиенты как минимум для всех основных мобильных платфторм (iOS, Android) и эта мода также распространяется на десктопные платформы. Это означает что разработчик вынужден либо писать под каждую платформу код с нуля, либо использовать какое-то кроссплатформенное решение. Напомню, что Java изначально проектировалась как кроссплатформенное клиентское решение. Медленно двигаясь в сторону iOS/Android, Java предлагает богатый выбор UI фреймворков от Swing до JavaFX для всех основных десктопных платформ прямо сейчас. Но чтобы называться нативным клиентом, приложение, написанное на Java, должно вести себя привычным для конечного пользователя способом: оно должно устанавливаться на компьютер привычно и не иметь внешних зависимостей, выглядеть хорошо, стартовать и работать быстро и без задержек, не потреблять много памяти. В этом докладе мы рассмотрим, как эти аспекты адресуются стандартной реализацией Java, альтернативной реализацией Java – Excelsior JET, оптимизированной специально для десктопных платформ, открытыми реализациями, такими как OpenJDK и другими инструментами, такими как Install4J. В результате, слушатель получит общее представление о UI фреймворках для Java, существующих на сегодняшний день, включая JavaFX, а также как подготовить свое клиентское Java приложение для дальнейшего распространения так, чтобы конечный пользователь в итоге воспринимал бы его как родное (нативное) приложение данной целевой платформы.


Никита Липский 

Один из инициаторов и руководителей проекта Excelsior JET, сертифицированной реализации Java SE, разрабатываемой компанией Excelsior. Работая над проектом с 1997 года, поучаствовал в исследовании и разработке практически всех компонент продукта от ядра до продуктовых свойств. В последнее время также экспериментирует с open source проектами, связанными c концепциями и подходами к новому вебу.