JavaFX Script (JavaFX Script)
JavaFX | |
---|---|
Класс языка | язык программирования, декларативный язык программирования и компилируемый язык программирования |
Тип исполнения | сценарный |
Появился в | 2008 |
Разработчик | Sun Microsystems |
Выпуск | 1.2 (июнь 2, 2009 ) |
Испытал влияние | 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;
См. также
[править | править код]- Java-апплет — средство развёртывания приложений Java на веб-странице.
- Curl (язык программирования) — ещё один язык программирования с декларативным стилем.
Примечания
[править | править код]- ↑ JavaFX 1.0 released
- ↑ JavaFX 2010—2011 Roadmap Архивировано 29 октября 2010 года.
- ↑ Steve On Java » Announcing Visage – The DSL for Writing UIs (англ.). steveonjava.com. Архивировано из оригинала 1 октября 2010 года.
- ↑ unktomi (2022-07-31), unktomi/form-follows-function, Дата обращения: 30 марта 2023
Библиография
[править | править код]- Morris, Simon (November 23, 2009), JavaFX in Action, Manning, p. 375, ISBN 978-1-933988-99-3
- Topley, Kim (October 12, 2009), JavaFX Developer's Guide, Addison-Wesley Professional, p. 640, ISBN 978-0-321-60165-0
- Weaver, James L.; Gao, Weiqi; Chin, Stephen; Iverson, Dean (June 22, 2009), Pro JavaFX Platform: Script, Desktop and Mobile RIA with Java Technology, Apress, p. 500, ISBN 978-1-4302-1875-3, Архивировано из оригинала 15 августа 2009, Дата обращения: 2 августа 2009
- Clarke, Jim; Connors, Jim; J. Bruno, Eric (June 15, 2009), JavaFX: Developing Rich Internet Applications, Prentice Hall, p. 384, ISBN 978-0-13-701287-9
- Anderson, Gail; Anderson, Paul (June 15, 2009), Essential JavaFX, Prentice Hall, p. 360, ISBN 978-0-13-704279-1
- Weaver, James L. (May 4, 2009), JavaFX Script: Dynamic Java Scripting for Rich Internet/Client-side Applications, Apress, p. 200, ISBN 978-1-59059-945-7, Архивировано из оригинала 23 марта 2012, Дата обращения: 2 августа 2009
Ссылки
[править | править код]- Основной сайт JavaFX Архивировано 13 июля 2011 года.
- Обзор JavaFX
- Chris Oliver’s blog, F3 category Архивировано 12 декабря 2013 года.
- James Weaver’s Learn JavaFX Weblog
- Sun.com — Learning JavaFX Script: An Introduction for Java Programmers
- Sun Plans Version of Java for Web-Linked Cellphones (статья New York Times)
- Архивировано 19 января 2013 года. (статья CNET)
- Planet JFX Community Wiki (инструкции, примеры кода, руководства)
- Учебник по JavaFX: начало работы