Ваадин
Разработчик(и) | ООО "Ваадин". |
---|---|
Стабильная версия | 24.4.8 (7 августа 2024 г [ 1 ] ) [±] 23.4.0 (вечнозеленый) (7 марта 2024 г [ 2 ] ) [±] |
Репозиторий | Мне нужен репозиторий |
Написано в | Ява , JavaScript |
Платформа | Кросс-платформа |
Тип | Веб-фреймворк |
Лицензия | Лицензия Апач 2.0 |
Веб-сайт | vaadin.com |
Ваадин ( Финское произношение: [ˈʋɑːdin] ) — с открытым исходным кодом платформа разработки веб-приложений для Java. Vaadin включает в себя набор веб-компонентов Java , веб-фреймворк и набор инструментов, которые позволяют разработчикам реализовывать современные веб -графические пользовательские интерфейсы (GUI), используя только язык программирования Java (вместо HTML и JavaScript), только TypeScript или сочетание того и другого.
История
[ редактировать ]Впервые разработка была начата как адаптер поверх веб-фреймворка с открытым исходным кодом Millstone 3 , выпущенного в 2002 году. Он представил Ajax механизм взаимодействия с клиентами и рендеринга на основе . В 2006 году эта концепция была разработана отдельно как коммерческий продукт. Как следствие этого, большая часть серверного API Vaadin по-прежнему совместима с Swing-подобными API Millstone.
В начале 2007 года название продукта было изменено на IT Mill Toolkit , и была выпущена версия 4. Для рендеринга на стороне клиента использовалась собственная реализация JavaScript Ajax, что затрудняло реализацию новых виджетов. К концу 2007 года от собственной клиентской реализации отказались, и GWT был интегрирован поверх серверных компонентов. В то же время лицензия продукта была изменена на лицензию Apache с открытым исходным кодом 2.0 . Первая готовая к производству версия IT Mill Toolkit 5 была выпущена 4 марта 2009 года, после более чем года бета-тестирования.
11 сентября 2008 г. было публично объявлено. [ 4 ] [ 5 ] что Майкл Видениус – главный автор оригинальной версии MySQL – инвестировал в IT Mill, финского разработчика Vaadin. [ 6 ] Размер инвестиций не разглашается.
20 мая 2009 г. IT Mill Toolkit сменил название на Vaadin Framework. Название происходит от финского слова «лань» , точнее говоря, самка северного оленя . С финского это слово также можно перевести как «Я настаиваю». Помимо смены названия, была запущена предварительная версия 6-й версии вместе с веб-сайтом сообщества. Позже IT Mill Ltd, компания, создавшая Vaadin Framework с открытым исходным кодом, сменила название на Vaadin Ltd.
30 марта 2010 года был открыт Vaadin Directory. Он добавил канал для распространения дополнительных компонентов к основной платформе Vaadin Framework как бесплатно, так и на коммерческой основе. На момент запуска для загрузки уже было доступно 95 дополнений. [ 7 ]
LTS-версия | Дата выпуска | Примечания и новые функции с момента запуска предыдущей версии LTS. |
---|---|---|
6 | 20 мая 2009 г. | Первоначальный выпуск |
7 | 3 февраля 2013 г. | |
8 | 21 февраля 2017 г. | Улучшения включают переписанный API привязки данных, который использует современные функции Java, такие как параметры типа и лямбда-выражения, а также более эффективное использование памяти и ЦП. [ 8 ] |
10 | 25 июня 2018 г. | Можно использовать компоненты пользовательского интерфейса Vaadin из любой технологии, совместимой с веб-компонентами . Каталог Vaadin добавляет дистрибутив веб-компонентов. Vaadin Flow — следующее поколение Vaadin Framework — было представлено как серверная веб-инфраструктура Java поверх компонентов пользовательского интерфейса Vaadin. [ 9 ] |
14 | 14 августа 2019 г. | Новые компоненты пользовательского интерфейса, поддержка CDI и OSGi , интеграция Gradle , динамическая регистрация маршрутов, API сочетаний клавиш, поддержка npm и Bower. [ 10 ] |
23 | 1 марта 2022 г. | Модель нового выпуска. [ 11 ] Новые компоненты пользовательского интерфейса, переработанная система дизайна, флаги функций, npm теперь является менеджером пакетов по умолчанию. [ 12 ] |
Vaadin Flow (Java API)
[ редактировать ]Vaadin Flow (ранее Vaadin Framework ) — веб-фреймворк Java для создания веб-приложений и веб-сайтов . Модель программирования Vaadin Flow позволяет разработчикам использовать Java в качестве языка программирования для реализации пользовательских интерфейсов (UI) без необходимости напрямую использовать HTML или JavaScript. Vaadin Flow имеет серверную архитектуру, что означает, что большая часть логики пользовательского интерфейса безопасно работает на сервере, что снижает уязвимость для злоумышленников. На стороне клиента Vaadin Flow построен на основе стандартов веб-компонентов . Связь клиент-сервер автоматически обрабатывается через WebSocket или HTTP с помощью легких сообщений JSON , которые обновляют как пользовательский интерфейс в браузере, так и состояние пользовательского интерфейса на сервере.
Java API Vaadin Flow включает в себя такие классы, как TextField
, Button
, ComboBox
, Grid
и многие другие, которые можно настроить, стилизовать и добавить в объекты макета, экземпляры таких классов, как VerticalLayout
, HorizontalLayout
, SplitLayout
и другие. Поведение реализуется путем добавления прослушивателей таких событий, как клики, изменения входных значений и другие. Представления создаются пользовательскими классами Java, которые реализуют другой компонент пользовательского интерфейса (пользовательский или предоставляемый платформой). Эти классы представлений помечены @Route
чтобы предоставить их браузеру с помощью определенного URL-адреса . Следующий пример иллюстрирует эти концепции:
@Route("hello-world") // exposes the view through http://localhost:8080/hello-world
public class MainView extends VerticalLayout { // extends an existing UI component
public MainView() {
// creates a text field
TextField textField = new TextField("Enter your name");
// creates a button
Button button = new Button("Send");
// adds behaviour to the button using the click event
button.addClickListener(event ->
add(new Paragraph("Hello, " + textField.getValue()))
);
// adds the UI components to the view (VerticalLayout)
add(textField, button);
}
}
Ниже приведен скриншот предыдущего примера:
Мост (API TypeScript)
[ редактировать ]Hilla (ранее Vaadin Fusion ) — это веб-фреймворк, который интегрирует бэкэнды Spring Boot Java с реактивными внешними интерфейсами, реализованными на TypeScript . Эта комбинация предлагает полностью типобезопасную платформу разработки за счет объединения бизнес-логики на стороне сервера на Java и безопасности типов на стороне клиента с языком программирования TypeScript. Представления реализованы с помощью Lit — облегченной библиотеки для создания веб-компонентов . Ниже приведен пример базового представления, реализованного с помощью Hilla:
@customElement('hello-world-view')
export class HelloWorldView extends LitElement {
render() {
return html`
<div>
<vaadin-text-field label="Your name"></vaadin-text-field>
<vaadin-button @click="${this.sayHello}">Say hello</vaadin-button>
</div>
`;
}
sayHello() {
showNotification('Hello!');
}
}
Компоненты пользовательского интерфейса Vaadin
[ редактировать ]Vaadin включает набор компонентов пользовательского интерфейса (UI), реализованных в виде веб-компонентов . Эти компоненты включают серверный Java API (Vaadin Flow), но их также можно использовать непосредственно в документах HTML. Компоненты пользовательского интерфейса Vaadin работают с событиями мыши и касания, могут быть настроены с помощью CSS, совместимы с WAI-ARIA , включают поддержку программ чтения с клавиатуры и экрана, а также поддерживают языки с письмом справа налево .
В следующей таблице показан список компонентов пользовательского интерфейса, включенных в Vaadin:
Java-класс | Имя HTML-элемента | Описание | Лицензия |
---|---|---|---|
Accordion
|
vaadin-accordion
|
Вертикально сложенный набор расширяемых панелей. | Апач 2.0 |
Anchor
|
a
|
Позволяет переходить по заданному URL-адресу | Апач 2.0 |
AppLayout
|
vaadin-app-layout
|
Общая структура макета приложения | Апач 2.0 |
Avatar
|
vaadin-avatar
|
Графическое изображение человека | Апач 2.0 |
(нет в наличии) | vaadin-badge
|
Цветной текстовый элемент для маркировки содержимого. | Апач 2.0 |
Board
|
vaadin-board-row
|
Компонент макета для создания адаптивных представлений | Коммерческий |
Button
|
vaadin-button
|
Позволяет пользователям выполнять действия | Апач 2.0 |
Crud
|
vaadin-crud
|
Компонент для управления операциями создания, чтения, обновления и удаления. | Коммерческий |
Chart
|
vaadin-chart
|
Интерактивные диаграммы разных типов, такие как гистограммы, круговые, линейные и другие. | Коммерческий |
Checkbox
|
vaadin-checkbox
|
Поле ввода, представляющее двоичный выбор | Апач 2.0 |
Combo box
|
vaadin-combo-box
|
Показывает список элементов, которые можно фильтровать. | Апач 2.0 |
ConfirmDialog
|
vaadin-confirm-dialog
|
Модальный диалог, используемый для подтверждения действий пользователя. | Апач 2.0 |
ContextMenu
|
vaadin-context-menu
|
Меню, которое появляется при щелчке правой кнопкой мыши или длительном нажатии. | Апач 2.0 |
CookieConsent
|
vaadin-cookie-consent
|
Баннер, соответствующий законам о конфиденциальности, таким как GDPR и CCPA. | Коммерческий |
CustomField
|
vaadin-custom-field
|
Компонент для упаковки нескольких компонентов в одно поле. | Апач 2.0 |
DatePicker
|
vaadin-date-picker
|
Позволяет вводить дату путем ввода или выбора в наложенном календаре. | Апач 2.0 |
DateTimePicker
|
vaadin-date-time-picker
|
Поле ввода для выбора даты и времени | Апач 2.0 |
Details
|
vaadin-details
|
Расширяемая панель для отображения и скрытия контента. | Апач 2.0 |
Dialog | vaadin-dialog |
Всплывающее окно для отображения других компонентов в наложении. | Апач 2.0 |
EmailField
|
vaadin-email-field
|
Текстовое поле, которое принимает в качестве входных данных только адреса электронной почты. | Апач 2.0 |
Form layout
|
vaadin-form-layout
|
Макет для создания адаптивных форм с несколькими столбцами | Апач 2.0 |
Grid
|
vaadin-grid
|
Сетка данных или компонент таблицы данных для табличных данных | Апач 2.0 |
GridPro
|
vaadin-grid-pro
|
Обеспечивает встроенное редактирование с полной навигацией с помощью клавиатуры. | Коммерческий |
HorizontalLayout
|
vaadin-horizontal-layout
|
Размещает компоненты рядом друг с другом в ряд. | Апач 2.0 |
Icon
|
iron-icon
|
Показывает собственный значок или из коллекции из более чем 600 значков ( VaadinIcons перечисление)
|
Апач 2.0 |
Image
|
img
|
Показывает изображение из файла ресурсов или двоичных данных, созданных во время выполнения. | Апач 2.0 |
ListBox
|
vaadin-list-box
|
Позволяет выбрать одно или несколько значений из прокручиваемого списка элементов. | Апач 2.0 |
LoginForm
|
vaadin-login-form
|
Компонент, содержащий форму входа. | Апач 2.0 |
LoginOverlay
|
vaadin-login-overlay
|
Модальная или полноэкранная форма входа. | Апач 2.0 |
MenuBar
|
vaadin-menu-bar
|
Горизонтальная панель кнопок с иерархическими раскрывающимися меню. | Апач 2.0 |
MessageList
|
vaadin-message-list
|
Компонент для отображения сообщений и построения чатов и разделов комментариев. | Апач 2.0 |
Notification | vaadin-notification | Компонент наложения, используемый для предоставления обратной связи пользователю. | Апач 2.0 |
NumberField
|
vaadin-number-field
|
Текстовое поле, которое принимает только числовой ввод (десятичный, целый или большой десятичный). | Апач 2.0 |
PasswordField
|
vaadin-password-field
|
Поле ввода для ввода паролей, по умолчанию замаскированных | Апач 2.0 |
ProgressBar
|
vaadin-progress-bar
|
Показывает статус завершения задачи или процесса | Апач 2.0 |
Radio button
|
vaadin-radio-button
|
Позволяет выбрать ровно одно значение из списка связанных, но взаимоисключающих опций. | Апач 2.0 |
RichTextEditor
|
vaadin-rich-text-editor
|
Поле ввода для ввода форматированного текста | Коммерческий |
Scroller
|
vaadin-scroller
|
Контейнер компонентов для создания прокручиваемых областей в пользовательском интерфейсе. | Апач 2.0 |
Select
|
vaadin-select
|
Компонент поля ввода для выбора одного значения из набора параметров. | Апач 2.0 |
SplitLayout
|
vaadin-split-layout
|
Компонент с двумя областями содержимого и перетаскиваемым маркером разделения между ними. | Апач 2.0 |
Tabs
|
vaadin-tabs
|
Организуйте и группируйте контент по разделам. | Апач 2.0 |
TextArea
|
vaadin-text-area
|
Компонент поля ввода для многострочного ввода текста. | Апач 2.0 |
TextField
|
vaadin-text-field
|
Компонент для введения и редактирования текста | Апач 2.0 |
TimePicker
|
vaadin-time-picker
|
Поле ввода для ввода или выбора определенного времени | Апач 2.0 |
TreeGrid
|
vaadin-grid
|
Компонент для отображения иерархических табличных данных, сгруппированных в расширяемые и свертываемые узлы. | Апач 2.0 |
Upload | vaadin-upload | Компонент для загрузки одного или нескольких файлов с указанием хода и статуса загрузки. | Апач 2.0 |
VerticalLayout
|
vaadin-vertical-layout
|
Размещает компоненты сверху вниз в столбце. | Апач 2.0 |
Сертификаты
[ редактировать ]Vaadin предлагает два варианта сертификации, подтверждающие владение разработчиком Vaadin Flow: [ 13 ]
- Сертифицированный разработчик Vaadin 14
- Сертифицированный профессионал Vaadin 14.
Чтобы пройти сертификацию, разработчик должен изучить документацию, просмотреть обучающие видеоролики и пройти онлайн-тест.
Предыдущие (сейчас недоступные) сертификаты включали:
- Онлайн-экзамен Vaadin для сертифицированного разработчика Vaadin 7
- Онлайн-экзамен Vaadin для сертифицированного разработчика Vaadin 8
См. также
[ редактировать ]Ссылки
[ редактировать ]- ^ «Выпуск Vaadin 24.4.8 · vaadin/платформа · GitHub» . Гитхаб . Проверено 7 августа 2024 г.
- ^ «Выпуск Vaadin 23.4.0 · vaadin/платформа · GitHub» . Гитхаб . Проверено 7 марта 2024 г.
- ^ «Выпуск Vaadin 14.11.11 · vaadin/платформа · GitHub» . Гитхаб . Проверено 3 июня 2024 г.
- ^ «Майкл «Монти» Видениус инвестирует в финскую ИТ-фабрику» . Инвестируйте в Финляндию. Архивировано из оригинала 20 июля 2011 г. Проверено 31 января 2009 г.
- ^ Асай, Мэтт. «Монти Видениус инвестирует в Акт II: IT Mill» . Новости CNET . Архивировано из оригинала 11 марта 2016 г. Проверено 31 января 2009 г.
- ^ Сани, Илари (10 марта 2009 г.). «IT Mill, открой Ajax из Финляндии» . Тиви (на финском языке). Альма Медиа . Проверено 11 июля 2024 г.
- ^ «Справочник Vaadin открывает свои двери» . vaadin.com . Проверено 7 сентября 2021 г.
- ^ Ваадин. «Vaadin выпускает Vaadin Framework 8» . www.prnewswire.com (пресс-релиз).
- ^ Ваадин. «Vaadin модернизирует разработку Java, выпустив самую крупную на сегодняшний день версию: Vaadin 10» . www.businessinsider.com .
- ^ «Выпуск Vaadin 14.0.0 на GitHub» . Гитхаб .
- ^ «Упрощенная модель выпуска | Vaadin» . vaadin.com . Проверено 11 августа 2022 г.
- ^ «Ваадин 23 наконец-то здесь! | Ваадин» . vaadin.com . Проверено 11 августа 2022 г.
- ^ "Обучение" . Ваадин . Проверено 08 сентября 2021 г.
Дальнейшее чтение
[ редактировать ]- Дуарте, А. (2021) Практический Ваадин: разработка веб-приложений на Java . Апресс.
- Дуарте, А. (2018) Приложения, ориентированные на обработку данных, с помощью Vaadin 8 . Пакт Паблишинг.
- Франкель, Н. (2013) Изучение Vaadin 7, второе издание . Пакт Паблишинг.
- Дуарте, А. (2013) Дизайн пользовательского интерфейса Vaadin 7 на примере: руководство для начинающих . Пакт Паблишинг.
- Холан Дж. и Квасновский О. (2013) Поваренная книга Vaadin 7 . Пакт Паблишинг.
- Тейлор С. (2012) Рецепты Ваадина . Пакт Паблишинг.
- Франкель, Н. (2011) Изучение Ваадина . Пакт Паблишинг.
- Грёнроос, М. (2010) Книга Ваадина . ООО "Ваадин".