JavaFX

Если вспомнить историю создания интернет-приложений, придется признать за компанией Sun первенство в деле создания Rich Internet Application. Первые Java-апплеты, продемонстрированные Гослингом при презентации браузера WebRunner в далеком 1994 году, вполне подходили под это определение. Правда, с тех пор прошло много всяких событий, интернет-приложения росли и изменялись, появилась технология Flash, использование клиентских возможностей браузера (Javascript, DOM) вылилось в термин WEB-2, а апплеты как технология, в общем, не сильно изменились. Заняв прочное положение на мобильных устройствах, на десктопах они так и не получили заметного распространения.

Прорыв на рынок RIA компания Sun совершила во второй половине 2000-х, представив новую платформу для веб-приложений — JavaFX. Впервые технология была показана на конференции JavaOne в мае 2007-го. В декабре 2008 года вышла JavaFX 1.0, включающая в себя средства разработки — JavaFX 1.0 SDK, плагин для NetBeans IDE 6.5 и JavaFX 1.0 Production Suite — набор инструментов для экспорта графических объектов в приложения JavaFX. Была представлена также бета-версия эмулятора JavaFX 1.0 Mobile для разработки JavaFX-приложений для мобильных платформ. JavaFX TV — среда для запуска приложений на телевизионной платформе, планировалась к запуску в начале 2010 года.

Все чуть не закончилось в апреле 2009-го с утерей Sun Microsystem самостоятельности и переходом всех ее разработок под крыло Oracle. Но после некоторого затишья вскоре стало ясно, что технология заброшена не будет.

Что конкретно представляет собой JavaFX-приложение? Это прежде всего интерфейс и логика, написанные на декларативном языке JavaFX Script. Он имеет простой синтаксис, коллекцию встроенных объектов, а самое главное — может обращаться к любым библиотекам платформы Java. JavaFX использует для работы Java-машину

(см. рис. 2) и, по сути, является частью платформы. В этом ключевое преимущество RIA от Sun/Oracle — за ней вся мощь Java.

Рис. 2. Архитектура JavaFX

JavaFX-приложение может функционировать как «апплет нового образца», а также в виде автономного приложения (через Java Web Start — сам апплет можно вытащить из содержащей его страницы, закрыть последнюю и продолжить работу). Такой продукт является интернет-приложением только потому, что через Глобальную сеть происходит доставка его потребителю, а также по причине наличия возможности активного взаимодействия через Интернет с сервером. В то же время в несетевой ипостаси такие приложения почти ничем не отличаются от обычных настольных программ (на рис. 3 — калькулятор, написанный на JavaFX).

К слову, раз уж затронули вопрос передачи данных через глобальную сеть: на данный момент множество стран вводят цензуру и начинают проводить политику «деанонимизации» граждан. На этом фоне всё большую популярность приобретают сервисы, позволяющие обойти ограничения и сохранить анонимность. Статический IP адрес полученный через VPN позволяет решить множество описанных выше проблем. Перейдя по ссылке вы сможете ознакомиться более подробно как с принципами работы сервиса, так и с ценами на услугу VPN!

Рис. 3. Веб-калькулятор, написанный на JavaFX

 

Особенности технологии позволяют легко встраивать в приложения мультимедиа-данные, анимацию и различные визуальные эффекты, а также использовать собственные визуальные примитивы.

На JavaOne 2011 было объявлено о выпуске финальной версии JavaFX 2.0. Среди особенностей новой версии среды — отказ JavaFX Script в пользу стандартного Java API, что позволяет писать JavaFX-приложения на Clojure, Scala или Groovy, в общем, на языках, базирующихся на JVM. Новый движок рендеринга, использующий аппаратную акселерацию для работы с 3D-графикой, новый компонент WebView для встраивания веб-контента в JavaFX-приложения (в том числе использование HTML5 API!).

Основная проблема использования JavaFX — это необходимость установленного у клиента Java Runtime Environment ORE). Помимо чисто технических, это в наше время еще и лицензионные проблемы.

Что касается технических вопросов — несмотря на заявленную кроссплатформенность, до сих пор технология полноценно работает только на операционной системе Windows. Полноценная поддержка Linux обещана в следующем году, правда… это не первый следующий год. Что касается платформы Mac OS X, то поддержка ее заявлена, но, похоже, несколько поздновато.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *