JavaFX - Обзор

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

В отличие от традиционных настольных приложений, RIA не требует наличия какого-либо дополнительного программного обеспечения для работы. В качестве альтернативы вы должны установить программное обеспечение, такое как ActiveX, Java, Flash, в зависимости от приложения.

В RIA графическое представление обрабатывается на стороне клиента, поскольку у него есть плагин, который обеспечивает поддержку богатой графики. Вкратце, манипуляции с данными в RIA выполняются на стороне сервера, в то время как манипуляции с соответствующими объектами выполняются на стороне клиента.

У нас есть три основные технологии, с помощью которых мы можем разработать RIA. К ним относятся следующие -

  • Adobe Flash
  • Microsoft Silverlight
  • JavaFX

Adobe Flash

Эта программная платформа разработана Adobe Systems и используется для создания многофункциональных интернет-приложений. Наряду с этим вы также можете создавать другие приложения, такие как векторные, анимация, браузерные игры, настольные приложения, мобильные приложения и игры и т. Д.

Это наиболее часто используемая платформа для разработки и выполнения RIA со степенью проникновения настольных браузеров 96%.

Microsoft Silverlight

Как и Adobe flash, Microsoft Silverlight также представляет собой платформу программных приложений для разработки и выполнения полнофункциональных Интернет-приложений. Изначально этот фреймворк использовался для потоковой передачи мультимедиа. Настоящие версии также поддерживают мультимедиа, графику и анимацию.

Эта платформа редко используется с уровнем проникновения настольных браузеров 66%.

JavaFX

JavaFX - это библиотека Java, с помощью которой вы можете разрабатывать многофункциональные Интернет-приложения. Благодаря использованию технологии Java уровень проникновения этих приложений в браузеры составляет 76%.

Что такое JavaFX?

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

Разрабатывать GUI Applications используя язык программирования Java, программисты полагаются на библиотеки, такие как Advanced Windowing Toolkit и Swing. После появления JavaFX эти Java-программисты теперь могут эффективно разрабатывать приложения с графическим интерфейсом пользователя с богатым контентом.

Потребность в JavaFX

Разрабатывать Client Side Applicationsс богатыми функциями, программисты привыкли полагаться на различные библиотеки для добавления таких функций, как мультимедиа, элементы управления пользовательским интерфейсом, Интернет, 2D и 3D и т. д. JavaFX включает все эти функции в единую библиотеку. В дополнение к этому разработчики также могут получить доступ к существующим функциям библиотеки Java, таким какSwing.

JavaFX предоставляет богатый набор графических и мультимедийных API и использует современные Graphical Processing Unitс помощью аппаратного ускорения графики. JavaFX также предоставляет интерфейсы, с помощью которых разработчики могут комбинировать графическую анимацию и управление пользовательским интерфейсом.

Можно использовать JavaFX с технологиями на основе JVM, такими как Java, Groovy и JRuby. Если разработчики выберут JavaFX, нет необходимости изучать дополнительные технологии, поскольку предварительное знание любой из вышеупомянутых технологий будет достаточно хорошо для разработки RIA с использованием JavaFX.

Особенности JavaFX

Ниже приведены некоторые из важных функций JavaFX.

  • Written in Java - Библиотека JavaFX написана на Java и доступна для языков, которые могут быть выполнены на JVM, включая: Java, Groovy and JRuby. Эти приложения JavaFX также не зависят от платформы.

  • FXML- JavaFX включает язык, известный как FXML, который является декларативным языком разметки, подобным HTML. Единственная цель этого языка - определить пользовательский интерфейс.

  • Scene Builder- JavaFX предоставляет приложение под названием Scene Builder. После интеграции этого приложения в IDE, такие как Eclipse и NetBeans, пользователи могут получить доступ к интерфейсу дизайна с перетаскиванием, который используется для разработки приложений FXML (как и приложения Swing Drag & Drop и DreamWeaver).

  • Swing Interoperability - В приложение JavaFX можно встраивать содержимое Swing с помощью Swing Nodeкласс. Точно так же вы можете обновить существующие приложения Swing с помощью функций JavaFX, таких как встроенный веб-контент и мультимедийные средства с богатой графикой.

  • Built-in UI controls - Библиотека JavaFX обслуживает элементы управления пользовательским интерфейсом, с помощью которых мы можем разработать полнофункциональное приложение.

  • CSS like Styling- JavaFX предоставляет стили, подобные CSS. Используя это, вы можете улучшить дизайн своего приложения, просто зная CSS.

  • Canvas and Printing API- JavaFX предоставляет Canvas, стиль API рендеринга в немедленном режиме. В пакетеjavafx.scene.canvasон содержит набор классов для холста, с помощью которых мы можем рисовать непосредственно в области сцены JavaFX. JavaFX также предоставляет классы для печати в пакетеjavafx.print.

  • Rich set of API’s- Библиотека JavaFX предоставляет богатый набор API для разработки приложений с графическим интерфейсом, 2D и 3D графики и т. Д. Этот набор API также включает возможности платформы Java. Следовательно, используя этот API, вы можете получить доступ к функциям языков Java, таким как универсальные шаблоны, аннотации, многопоточность и лямбда-выражения. Традиционная библиотека Java Collections была улучшена, и в нее были включены такие концепции, как наблюдаемые списки и карты. Используя их, пользователи могут наблюдать изменения в моделях данных.

  • Integrated Graphics library - JavaFX предоставляет классы для 2d и 3d графика.

  • Graphics pipeline- JavaFX поддерживает графику на основе графического конвейера с аппаратным ускорением, известного как Prism. При использовании с поддерживаемой графической картой или графическим процессором он обеспечивает плавную графику. Если система не поддерживает графическую карту, тогда призма по умолчанию использует стек программного рендеринга.

История JavaFX

JavaFX изначально был разработан Chris Oliver, когда он работал в компании под названием See Beyond Technology Corporation, который позже был приобретен Sun Microsystems в 2005 году.

Следующие пункты дают нам больше информации об этом проекте -

  • Изначально этот проект назывался F3. (Form Follows Functions) и он был разработан с намерением предоставить более богатые интерфейсы для разработки приложений с графическим интерфейсом.

  • Sun Microsystems приобрела компанию See Beyond в июне 2005 г., она адаптировала проект F3 как JavaFX.

  • В 2007 году JavaFX был официально анонсирован на Java One, всемирная веб-конференция, которая проводится ежегодно.

  • В 2008 году Net Beansбыла доступна интеграция с JavaFX. В том же году JavaStandard Development Kit для JavaFX 1.0.

  • В 2009 году корпорация Oracle приобрела Sun Microsystems, и в том же году была выпущена следующая версия JavaFX (1.2).

  • В 2010 году вышла JavaFX 1.3, а в 2011 году - JavaFX 2.0.

  • Последняя версия JavaFX8 была выпущена как неотъемлемая часть Java 18 марта 2014 года.