JavaFX Script (JavaFX Script)

Перейти к навигации Перейти к поиску
JavaFX
Класс языка язык программирования, декларативный язык программирования и компилируемый язык программирования
Тип исполнения сценарный
Появился в 2008
Разработчик Sun Microsystems
Выпуск 1.2 (июнь 2, 2009 (2009-06-02))
Испытал влияние Java
Лицензия GPL
Сайт javafx.com
Платформа Java Runtime Environment
ОС Cross-platform

JavaFX Script — сценарный язык программирования, разработанный компанией Sun Microsystems, и входящий в семейство технологий JavaFX на платформе Java.

Платформа JavaFX ориентирована на область насыщенных интернет-приложений (конкурируя с Adobe Flex и Microsoft Silverlight) и специализируется на быстрой разработке визуально насыщенных приложений для настольных компьютеров и мобильных устройств. JavaFX Script работает с интегрированными средами разработки, такими как NetBeans, Eclipse и IntelliJ IDEA. Платформа JavaFX выпущена под лицензией GNU General Public License через спонсируемый компанией Sun проект OpenJFX.

JavaFX Script раньше назывался F3 (Form Follows Function). F3 изначально был разработан Крисом Оливером, который стал сотрудником Sun после приобретения SeeBeyond Technology Corporation в сентябре 2005 года. Его название было изменено на JavaFX Script, и его исходный код был открыт на ежегодной конференции JavaOne[англ.] в 2007.

JavaFX 1.0 был выпущен 4 декабря 2008 года[1]. 10 сентября 2010 года компания Oracle объявила на JavaOne, что JavaFX Script будет прекращен, хотя JavaFX API будет доступен для других языков для Java Virtual Machine[2].

27 сентября 2010 года Стивен Чин представил публике Visage как декларативный язык пользовательского интерфейса на основе JavaFX Script с улучшениями[3].

8 апреля 2012 года был создан проект с целью возрождения и улучшения оригинального языка программирования F3, но проект, по всей видимости, был прекращен в августе 2015 года[4].

Возможности

[править | править код]

JavaFX Script — компилируемый, статически типизированный, декларативный сценарный язык для платформы Java. Он обеспечивает автоматическую привязку данных, триггеры мутаций и декларативную анимацию, используя синтаксис языка выражений (все блоки кода потенциально возвращают значения).

С помощью своего стандартного API JavaFX он поддерживает векторную графику с сохранённым режимом, воспроизведением видео и стандартными компонентами Swing.

Хотя F3 был создан как интерпретируемый язык, но первый же предварительный выпуск (в III квартале 2008) JavaFX Script сместил фокус на преимущественно компилируемый. Интерпретируемый JavaFX Script всё ещё возможен через мост JSR 223 «Scripting for Java». Поскольку он построен поверх платформы Java, то в коде JavaFX Script легко использовать классы Java. Скомпилированный код JavaFX Script может работать на любой платформе, на которой установлена реализация виртуальной машины Java Java Runtime Environment.

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

Вот простая программа Hello, world! на JavaFX Script:

 import javafx.stage.Stage;
 import javafx.scene.Scene;
 import javafx.scene.text.Text;
 import javafx.scene.text.Font;
 
 Stage {
     title: "Hello World"
     width: 250
     height: 80
     scene: Scene {
         content: Text {
             font : Font {
                 size : 24
             }
             x: 10, y: 30
             content: "Hello World"
         }
     } 
 }

Результат работы этой программы:

Эту же программу также можно написать на языке JavaFX Script в процедурном стиле следующим образом:

 import javafx.stage.Stage;
 import javafx.scene.Scene;
 import javafx.scene.text.Text;
 import javafx.scene.text.Font;

 javafx.scene.text.Font".
 var myFont:Font = Font.font(null, 24);

 var myText:Text = new Text();
 myText.font = myFont;
 myText.x = 10;
 myText.y = 30;
 myText.content = "Hello World";

 var myScene:Scene = new Scene();
 myScene.content = myText;

 var myStage:Stage = new Stage();
 myStage.title = "Hello World";
 myStage.width = 250;
 myStage.height = 80;
 myStage.scene = myScene;

Примечания

[править | править код]
  1. JavaFX 1.0 released
  2. JavaFX 2010—2011 Roadmap Архивировано 29 октября 2010 года.
  3. Steve On Java » Announcing Visage – The DSL for Writing UIs (англ.). steveonjava.com. Архивировано из оригинала 1 октября 2010 года.
  4. unktomi (2022-07-31), unktomi/form-follows-function, Дата обращения: 30 марта 2023

Библиография

[править | править код]