| « Microsoft становится открытее | Разное: Thermo, Doco, Astro, Silvo, Lino » |
А что же 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-го года. Но уж если произойдет, то произойдет 
Трекбек адрес этой записи
URL трекбека (щелкните правой кнопкой мыши и скопируйте ссылку)
9 комментариев, 1 Трекбек
Буквально по поводу этой самой статьи я консультировался с ребятами из Sun. Может, им надо сообщить, что разработка заморожена? А то они не знают, что-то разрабатывают там
) Я сделал сайтик небольшой с примерами - http://molgav.nn.ru
Вобщем-то даже в альфе уже работать можно.
А насчет JavaFX в Java 7. Думаю, что это было бы логично
Май оказался очень богатым месяцем на события, связанные с RIA, Это и Open Screen Project, это и выход семейства инструментов Expression версии 2, это и кон...
Более подробно про 6u10 и javafx библиотеки рассказывается в свежих докладах от разработчиков Сан: http://developers.sun.ru/content/view/243/89/
Огромное спасибо за ссылочку!
Есть ли какие-нибудь возможности у JavaFX проигрывать Streaming видео? Например с какого-нибудь RTMP сервера?У JavaFx есть стандартный пример MediaBox, но хорошей документации к нему нет. Киньте в меня ссылкой на доку.