Рубрика: JavaFX
Выход JavaFX Preview SDK
Как мы уже сообщали ранее, на JavaOne 2008 Sun объявили о ближайших планах по поводу своей технологии для создания насыщенных интернет-приложений (Rich Internet Applications, RIA) JavaFX.
После всех анонсов не пришлось долго ждать, как Sun выпустили JavaFX Preview SDK. Этот инструментарий, доступный пока лишь на Windows и MacOS, включает в себя следующие компоненты:
- Собственно сам SDK, содержащий компилятор и среду исполнения (так как возможно использование в режиме интерпретатора) (JavaFX Compiler & Runtime tools), библиотеку 2D графики и Media, документацию и примеры приложений.
- Netbeans IDE 6.1 с поддержкой JavaFX (можно плагин для NetBeans установить и отдельно).
- Project Nile 1.0 Preview Release, который представляет из себя плагины для Adobe Photoshop и Adobe Illustrator по экспорту изображений для JavaFX. Напомню, что в обозримом будущем нас ждет также JavaFX Designer в виде отдельной среды.
- Для того чтобы баловаться со всем этим добром необходимо установить Java Runtime Environment 6 Update 10 Beta.
Какие возможности реализованы в этом релизе?
- Все для работы с 2D-графикой.
- Анимация (в виде анимации свойств и покадровой).
- Все основные стандартные GUI-элементы.
- Возможность воспроизведение аудио/видео с использованием установленных на машине пользователя кодеков.
Что следует ожидать в будущем:
- Продвинутая отрисовка текста.
- Анимация по путям.
- Трехмерная векторная графика и эффекты.
- Продвинутые GUI-контролы.
- Кроссплатформенная поддержка аудио/видео (в том числе и потокового) с сипользованием кодека ON2 TrueMotion VP6, который используется во Flash.
- Запись/кодирование видео.
- Поддержка файловой системы и доступа по локальной сети.
- Reflection.
Большой список планируемых возможностей можно найти тут.
Ну и естественно поддержка Solaris и Linux.
Также могу порекомендовать следующие ресурсы по теме:
- Сайт JavaFX и сайт для разработчиков.
- Открывшийся по этому случаю официальный блог JavaFX.
- Статья на InfoQ.
- Информация в блоге Simon Brocklehurst.
- Статья в InfoWorld.
- Причины, по которым вы должны бросать Silverlight и Flex и мигом переключаться на JavaFX

- Очень полезные и интересные статьи по JavaFX.
Несмотря на всю радужность вышеприведенной информации, народ все-таки недоволен и жалуется. Например, в одном из списков рассылки, посвященном JavaFX, есть свежий топик с весьма критическим обсуждением политики Sun в данном вопросе и отсутствия поддержки Linux в частности.
JavaFX наносит ответный удар
Май оказался очень богатым месяцем на события, связанные с RIA, Это и Open Screen Project, это и выход семейства инструментов Expression версии 2, это и конференция ReMIX от Microsoft. За всем этим мы немного забыли о том, что в это самое время проходит конференция JavaOne 2008, которая обещает множество докладов по JavaFX. И как всегда Sun поражает тем множеством новшеств, которые нас ждут по части JavaFX.
Ну во-первых, в дополнение к коммбюнити-сайту OpenJFX запущен сайт JavaFX.com. Помимо того, что сайт очень качественно и интересно сделан с использованием AJAX, он содержит множество воодушевляющей информации и видео:
- Объявлено о расширении линейки инструментов для работы с JavaFX. Помимо инструментов для разработчиков (плагин для NetBeans, а позже и развитие плагина для Eclipse) сюда будут включены инструменты для графических дизайнеров. Это и специальная среда JavaFX Designer, которую обещают сделать доступной уже этой весной, и плагины для Adobe Photoshop и Adobe Illustrator. То есть пресловутый designer-developer workflow тоже не остался в стороне. Yes!
- По части медиа-возможностей будет предоставлен JavaFX Media Framework, который в том числе позволяет проигрывать одновременно 200 Blu-ray HD-видео, как это продемонстрировано в приложении Video Cloud. Также летом 2008-го будет представлен JavaFX Media Converter.
- Известно, что в конце 2008-го нас ждет версия 1.0 JavaFX Desktop, а весной 2009-го - JavaFX Mobile. Далее в планах Sun JavaFX TV и другие платформы для других устройств.
- Интересно, что браузерные JavaFX-приложения могут взаимодействовать с десктопом (например, можно перетащить приложение из браузера на десктоп, и оно останется там жить).
- После выхода версии JavaFX 1.0 будут объявлены планы по открытию исходных кодов всех составляющих платформы. Сейчас открыты только некоторые части. Но то, что JavaFX будет опенсорсной - определённо.
- Ну и понятно, что в качестве GUI-компонент используется тот же самый Swing и что при разработке приложений на JavaFX вы можете использовать тот же самый Java-код, который вы написали ранее.
Также на JavaOne были показаны некоторые демки, одну из которых (виджет для Facebook под названием Connected Life, который может перетаскиваться на десктоп, а также жить в мобильном телефоне) можно посмотреть на видео, взятом из блога Райана Стюарта:
Так что не списывайте JavaFX со счетов!
А что же JavaFX?
Некоторые люди считают, что заявленный Sun JavaFX тихо умер и никуда не движется. Попробуем слегка развеять их заблуждения.
Во-первых, не надо забывать, что JavaFX Script, который чаще всего и ассоциируется с JavaFX не есть JavaFX. JavaFX - это платформа, в основе которой лежит JavaFX Script. Но что необходимо для того, чтобы JavaFX стал решением, пригодным для разработки RIA?
Собственно говоря, Sun и сейчас обладает мощной платформой для создания RIA в виде Java-платформы. Мы можем использовать как Java-апплеты, так и Java Web Start. Какие на данный момент имеются основные недостатки в этих способах поставки RIA клиенту и какие конкретные шаги осуществляет Sun по их устранению?
Посмотрим:
Большой размер JRE, который необходимо скачать и установить пользователю. Возможно, кто-то помнит проект Hamburg, цель которого заключалась в создании Consumer JRE, обладающей маленькими размерами при минимальной необходимой для загрузки нужных модулей функциональностью. То есть мы можем запустить апплет или приложение через Java Web Start пока остальная часть JRE грузится. На самом деле Consumer JRE кроме данной части, называемой Kernel, обладает также другими свойствами. Но об этом дальше.
Не очень удобный механизм определения нужной версии JRE на клиенте и ее загрузки. Действительно, если взять параллель с Flash-плеером, то такие решения, как Express Install и SWFObject существенно упрощают данную процедуру. Для веб-приложений на Java таких решений нет. Понятно, что говорить о RIA без решения этих двух вопросов - это то же самое, что говорить о третьем сроке без возглавления списка Единой России. И на днях Sun представило такое решение (пока еще не в релизе, а в виде early access, но уже можно пробовать) под названием Java SE 6 Update N. Например, Deployment Toolkit уже можно потестировать тут. Все это в стадии разработки, но прогресс уже заметен. Интересно, что Sun решили отказаться от практики включения подобных крупных фич в мажорные релизы. Consumer JRE будет доступна уже для Java SE 6.
Текущие графические темы Swing-контролов (Metal и Ocean) слишком убоги и не слишком кастомизируемы. Действительно, многие софтверные конторы делают весь свой успех на дизайне своей продукции. Flex 2 тут не исключение: тема по умолчанию выглядит вполне прилично и зачастую используется как есть, не вызывая особых нареканий пользователей. Стандартные темы Swing-контролов в Java вызывают некоторую долю неприязни. И в Sun это прекрасно понимают. Соответственно в таинственных лабораториях Sun вынашивалась и стала доступной в Java SE 6 Update N новая тема Nimbus. Здесь вы можете посмотреть скриншоты данной темы. А здесь прочитать про релиз от Jasper Potts, одного из разработчиков темы. Больше инфы можно найти в блоге Jasper Potts, блоге Ben Galbraith и блоге Romain Guy.
Данная тема полностью векторная (Java 2D), что означает, что она будет выглядеть одинаково хорошо при любых размерах и масштабировании. Также тема легко скинизуется и кастомизируется через таблицу UIDefaults. Соответственно при использовании этой темы в JavaFX-приложениях все подобные вопросы становятся решаемыми. Так-то вот.
Дальше я просто упомяну, что в Java SE 6 Update N доступна аппаратная акселерация отрисовки графики и вообще улучшена отрисовка графических элементов.
Следующий немаловажный элемент - это сам JavaFX Script. Крис Оливер, его создатель, продолжает с помощью комьюнити работу над ним. Работают соответствующие листы рассылки, о которых можно узнать на странице проекта. Также ведется работа над документацией в вики. Есть англоязычная вики, китайская (очень активно развивающаяся) и русскоязычная вялотекущая. На англоязычной вики идет обсуждение вариантов логотипа JavaFX, один из которых я поместил в этот пост.
На данный момент JavaFX Script работает в режиме интерпретатора. Но работа над компилятором JavaFX Script (а он планируется быть компилируемым) тоже уже ведется. Во всяком случае коммиты в svn поступают регулярно.
Немаловажным моментом является среда разработки. К сожалению, плагин для Eclipse замер в версии 0.0.2 и вряд ли будет развиваться дальше силами Sun. Но родная IDE от Sun - NetBeans - все совершенствует и совершентсвует данный плагин. Так, для вышедшей совсем недавно версии NetBeans IDE 6.0 Beta 1 вышла и новая версия плагина. Инструкции по установке также доступны.
Плюс к этому имеется опенсорсный проект сторонних разработчиков под названием JFXBuilder. Это первый графический редактор, который позволяет получать на выходе JavaFX Script. У проекта есть свой блог. Так что интересующиеся могут подписываться.
Вот такая картина в общем и целом. Конечно, ждать скорого релиза бессмысленно. Насколько я понимаю, это произойдет не раньше второй половины 2008-го года. Но уж если произойдет, то произойдет 
Немного о JavaFX
Просто немного новостей и полезных ссылок.
Алексей Гаврилов из питерской компании Metalink, известный своими тестами производительности разных RIA-технологий, опубликовал статью, показывающую как создать простое приложение с использованием Adobe AIR, Microsoft Silverlight и JavaFX. Фтыкаем.
Сергей Суриков опубликовал замечательный туториал, в котором подробно и пошагово описывается создание десктопного приложения на JavaFX с помощью NetBeans.
Также появилась русскоязычная wiki по JavaFX. Это в добавление к официальному русскоязычному mail-листу по JavaFX на openjfx.org.
Для начала (или продолжения?) хватит.
JavaFX: для тех, кто в Питере
Если кто-либо из живущих в Питере и окрестностях желает получить информацию о JavaFX практически из первых рук, ему, думаю, будет небезынтересной следующая информация:
Sun Microsystems приглашает разработчиков Java на встречу, посвященную технологии Java FX. Встреча состоится 11 июля в 19:00 в офисе Sun Microsystems (10 Красноармейская, 22а, б-ц Келлерман, 2 этаж).
Константин Будник, ведущий инженер компании Sun Microsystems и технолог сообщества разработчиков Open Java FX расскажет о новом языке программирования Java FX от Sun Microsystems; областях применения и перспективах развития технологии и создании сообщества разработчиков JFX в Санкт-Петербурге. Сотрудники Центра Высоких Технологий Sun Microsystems продемонстрируют возможности и особенности языка и ответят на вопросы.
Всем быть! ![]()
Java FX доступна!
Встречаем и качаем. Доступен плагин для Eclipse
В общем, надо щупать.
Имеется:
- FAQ
- The JavaFX Script Programming Language
- Туториалы
- Демо
- Рантайм, исходники и код демо
- JavaFX Script Plug-in для NetBeans 5.5, NetBeans 6.0 и Eclipse 3.2
Еще официальные ссылочки:
- Страница JavaFX на сайте Sun
- Страница JavaFX Script на сайте Sun
- Страница JavaFX Mobile на сайте Sun
- Feature Story от Sun
Еще информация по теме тут.
JavaFX: выход третьего игрока
Как я уже писал, Sun собирались сегодня анонсировать F3 на JavaOne. Действительно, две сессии, посвященных F3. Сюрпризом для меня стала информация о появлении официального названия для данной технологии: JavaFX. Вездесущий и всезнающий Райан Стюарт написал на эту тему еще немного.
Сразу скажу, что на Sun Tech Days F3 уже демонстрировался. Также демонстрировался плагин для NetBeans, вполне работоспособный. Там же, на Sun Tech Days было сообщено, что JavaFX решили не опенсорсить. Однако последняя информация (и, видимо, в связи с акциями Adobe и Microsoft) JavaFX все-таки будет опенсорсным.
Так что мы будем иметь кроссплатформенную технологию для построения RIA (больше напоминающую Apollo или, например, XBAP в WPF) с декларативным языком, основанным не на XML, а на нелюбимых продуктивными людьми curly braces. Технология построена на платформе Java. По словам Джеймса Гослинга, это более продвинутая замена AJAX. Но мы-то с вами уже в курсе, что таких замен целая куча. Сегодня, например, я читал интервью о RIA-платформе на базе FireFox 3. Тема становится популярной, появляется недетская конкуренция.
Итак, считаем часы до момента, когда можно будет скачать и пощупать JavaFX (который, кстати, обещали выпустить еще в феврале).
Ссылки по теме:
Flex goes open source!
Проснувшийся рано Дима Арышев опередил меня и прочитал это быстрее. А почитать стоит. Смысл в том, что Flex SDK становится не только бесплатным (как был), а еще и опенсорсным (под Mozilla Public License, MPL). То есть это mxmlc, compc, asc, дебагер, фрэймворк, компоненты. То есть все.
Это же просто революционный шаг! И я понимаю гордость Теда Патрика.
Если я все осознаю правильно, то в скором времени нас могут ждать версии MXML-компилятора с различными встроенными препроцессорами для генерации различного кода. И если, например, Flex Builder будет позволять подцеплять эти компиляторы (ну а что нам мешает как минимум указать модифицированную версию SDK для Flex Builder’а)!? Эх, мечты, мечты.
Интересно, что ответят парни из Microsoft? Кстати, F3 опенсорсить не будут. По крайней мере о таком решении Sun сообщили на Sun Tech Days. Но сам F3 SDK и плагин для NetBeans, вроде как, станет доступен 8 мая перед JavaOne.
Пока все ![]()
PS. Нет, не все. Если вы заметили, то Тед пишет про дату выхода Flex 3: декабрь 2007.


