Vaadin

редактировать
Vaadin
Vaadin-logo
Веб-приложение, реализованное с помощью Vaadin Flow Веб-приложение, реализованное с помощью Vaadin Flow
Разработчик (и) Vaadin Ltd.
Стабильная версия 14.1.17 / 10 Февраль 2020; 8 месяцев назад (2020-02-10)
Репозиторий Репозиторий Vaadin
Написано наJava, JavaScript
Платформа Кросс-платформенность
Тип Веб-фреймворк
Лицензия Лицензия Apache 2.0
Веб-сайтvaadin.com

Vaadin (финское произношение: ) - это платформа с открытым исходным кодом для разработки веб-приложений. Платформа Vaadin включает набор веб-компонентов, веб-фреймворк Java , а также набор инструментов и стартеров приложений. Его флагманский продукт, платформа Vaadin (ранее Vaadin Framework), позволяет реализовать веб-интерфейсы пользователя HTML5 с использованием языка программирования Java.

Содержание
  • 1 История
  • 2 Компоненты Vaadin
    • 2.1 Базовое использование
    • 2.2 Доступные компоненты
  • 3 Vaadin Flow
    • 3.1 Базовое использование
    • 3.2 Возможности
      • 3.2.1 Реализация пользовательского интерфейса только с Java
      • 3.2.2 Интеграция веб-компонентов
      • 3.2.3 Маршрутизатор
      • 3.2.4 Связывание данных
      • 3.2.5 HTML-шаблоны
      • 3.2.6 Настройка внешнего вида
      • 3.2.7 Интеграция Spring
  • 4 Сертификаты
  • 5 См. Также
  • 6 Ссылки
  • 7 Дополнительная литература
  • 8 Внешние ссылки
История

Разработка сначала началась как адаптер поверх веб-платформы Millstone 3 с открытым исходным кодом, выпущенной в 2002 году. Он представил основанный на Ajax движок клиентского взаимодействия и рендеринга. Затем в 2006 году эта концепция была разработана отдельно как коммерческий продукт. Как следствие этого, большая часть server-side API Vaadin все еще совместима с Swing-подобными API-интерфейсами Millstone.

В начале 2007 года название продукта было изменено на IT Mill Toolkit, и была выпущена версия 4. Он использовал проприетарную реализацию JavaScript Ajax для рендеринга на стороне клиента, что значительно усложняло реализацию новых виджетов. К концу 2007 года проприетарная реализация на стороне клиента была прекращена, и GWT был интегрирован поверх компонентов на стороне сервера. В то же время лицензия на продукт была изменена на лицензию с открытым исходным кодом Apache License 2.0. Первый готовый к производству выпуск IT Mill Toolkit 5 был выпущен 4 марта 2009 года после более чем одного года бета-тестирования.

11 сентября 2008 г. было публично объявлено, что Майкл Видениус - главный автор оригинальной версии MySQL - инвестировал в IT Mill, разработчика Ваадин. Размер инвестиций не разглашается.

20 мая 2009 г. компания IT Mill Toolkit изменила свое название на. Название происходит от финского слова, обозначающего лань, точнее говоря, самка северного оленя. Его также можно перевести с финского как «я настаиваю». Помимо изменения названия, был запущен предварительный выпуск версии 6 вместе с веб-сайтом сообщества. Позже IT Mill Ltd, компания, стоявшая за Vaadin Framework с открытым исходным кодом, сменила название на Vaadin Ltd.

30 марта 2010 года был открыт каталог Vaadin. Он добавил канал для распространения дополнительных компонентов к ядру Vaadin Framework, как бесплатно, так и на коммерческой основе. На дату запуска для загрузки уже было доступно 95 надстроек.

22 февраля 2017 года была выпущена Vaadin Framework 8. Улучшения включают переписанный API привязки данных с использованием современных функций Java, таких как параметры типов и лямбда-выражения, а также более эффективное использование памяти и ЦП.

25 июня 2018 года Ваадин 10 был освобожден. Vaadin 10 сделал возможным использование компонентов Vaadin из любой технологии, совместимой с веб-компонентами и улучшенным каталогом Vaadin для включения распространения веб-компонентов. Vaadin Flow - следующее поколение Vaadin Framework - был представлен как серверная веб-платформа Java поверх компонентов Vaadin.

5 сентября 2018 г. был выпущен Vaadin 11 с интеграцией Gradle, несколькими новыми компонентами и диаграммами Vaadin 6.1.

5 декабря 2018 г. был выпущен Vaadin 12.

6 марта 2019 г. был выпущен Vaadin 13.

14 августа 2019 г. был выпущен Vaadin 14. Это последняя версия LTS (долгосрочная поддержка) с бесплатным обслуживанием в течение 5 лет. Одна из основных новых функций - поддержка npm и Bower (в режиме совместимости).

Последней стабильной версией по состоянию на 24 мая 2020 г. является Vaadin 14.2.0, выпущенная 20 мая 2020 г.

Vaadin 14.2.0 рассматривает внедрение pnpm в качестве диспетчера пакетов.

Компоненты Ваадина

Компоненты Ваадина представляют собой полный набор Веб-компонентов для разработчиков приложений. Компоненты могут использоваться в веб-документах (без фреймворков) и в веб-фреймворках, совместимых с веб-компонентами. Эти компоненты являются ядром Vaadin Flow, веб-инфраструктуры Java, которая предлагает Java API поверх каждого компонента Vaadin.

Базовое использование

Компоненты Vaadin обычно устанавливаются с npm или Bower. Например, следующая команда устанавливает компонент vaadin-button:

bower install vaadin / vaadin-button

После установки компонент можно использовать на веб-странице следующим образом:

Щелкните меня

Ниже приведен снимок экрана с предыдущей страницы:

Vaadin-components-hello-world-screenshot.png

Доступные компоненты

В следующей таблице показан список бесплатных веб-компонентов с открытым исходным кодом, включенных в Vaadin:

Компоненты Vaadin
КомпонентИмя элементаОписание
Кнопкаvaadin-buttonЭлемент для настраиваемых кнопок
Флажокvaadin-checkboxЭлемент для настраиваемых флажков
Поле со спискомvaadin-combo-boxПоказывает список элементов с фильтрацией
Контекстное менюvaadin-context-menuПоказывает контекстно-зависимые элементы для любого элемента на странице
Выбор датыvaadin-date-pickerВыбор даты поле с прокручиваемым месячным календарем
Dialogvaadin-dialogПоказывает модальные диалоги
Раскрывающееся меню n menuvaadin-dropdown-menuНастраиваемый веб-компонент для раскрывающихся меню
Макет формыvaadin-form-layoutНастраиваемый адаптивный макет для элементов формы
Gridvaadin-gridData grid / data table element
UI icon setvaadin-iconsA Коллекция из 600+ значков
Элементvaadin-itemКонтейнер для элементов элемента
vaadin-list-boxМногоразовые списки
Уведомлениеvaadin-notificationНастроенные уведомления
Упорядоченный макетvaadin-orders-layoutВыровнять HTML-элементы по горизонтали или вертикали
Тематический ввод элементы управления
Индикатор выполненияvaadin-progress-barНастроенные индикаторы выполнения
Переключательvaadin-radio-buttonНастраиваемый переключатель кнопки
Разделить макетvaadin-split-layoutРазделить макет на области с изменяемым размером
Вкладки навигациивкладки vaadinНастраиваемые вкладки
Загрузитьvaadin-uploadЗагрузить несколько файлов с индикатором выполнения
Vaadin Flow
Vaadin Flow
Vaadin-logo
Vaadin-flow-bakery.png
Разработчик (и) Vaadin Ltd.
Стабильный выпуск 2.0.10 / 3 сентября 2019 г.; 13 месяцев назад (03.09.2019)
Предварительный выпуск 3.0.0.alpha1 / 16 августа 2019 г.; 14 месяцев назад (2019-08-16)
Репозиторий Flow Repository
Платформа Java
Тип Веб-фреймворк
Лицензия Лицензия Apache 2.0
Веб-сайтvaadin.com/flow

Vaadin Flow (ранее) - это веб-платформа для создания веб-приложений и веб-сайтов. Модель программирования Vaadin Flow похожа на модель Vaadin Framework - она ​​использует Java в качестве языка программирования для создания веб-контента. Vaadin Flow имеет серверную архитектуру, что означает, что большая часть логики выполняется на сервере. На стороне клиента Vaadin Flow построен на основе стандартов веб-компонентов.

Vaadin Flow включает поддержку веб-компонентов для разработчиков Java и позволяет использовать шаблоны HTML (на основе Polymer ) с автоматическим обменом данными между клиентом и сервером. Он также включает API для маршрутизации (подключение компонентов пользовательского интерфейса к URL-адресам), связывание данных (синхронизация полей ввода с моделями данных на стороне сервера) и DOM <на стороне сервера. 33>манипуляции.

Базовое использование

Ниже приведен элементарный пример использования Vaadin Flow:

@Route ("hello-world") открытый класс MainView расширяет VerticalLayout {public MainView () {TextField textField = новое текстовое поле ("Введите свое имя"); Кнопка button = новая кнопка («Нажми меня», событие ->добавить (новый диапазон («Привет,» + textField.getValue ()))); добавить (текстовое поле, кнопка); }}

Ниже приведен снимок экрана предыдущего приложения:

Vaadin-flow-hello-world-screenshot.png

Возможности

Реализация пользовательского интерфейса только на Java

Vaadin Flow позволяет использовать существующие компоненты интерфейса и реализовать новые, используя код Java, работающий на стороне сервера. Можно создавать и изменять DOM со стороны сервера. Конструктор в следующем фрагменте кода показывает, как создать новый элемент HTML div, установить его атрибут idи добавить прослушиватель кликов:

@Route ("") открытый класс MainView расширяет Div {общедоступный MainView () {Div div = new Div (); div.setText («Нажми меня»); div.getElement (). setAttribute ("идентификатор", "основной"); div.getElement (). addEventListener ("щелчок", событие (DomEventListener) ->add (new Span ("Hello, World"))); добавить (div); }}

Интеграция веб-компонентов

Интеграция веб-компонентов обеспечивается с помощью аннотаций @Tagи @Import. В следующем фрагменте кода показано, как обернуть существующий веб-компонент в компонент Java на стороне сервера:

@Tag ("juicy-ace-editor") @HtmlImport ("bower_components / juicy-ace-editor / juicy-ace -editor.html ") открытый класс JuicyAceEditor расширяет Div {public void setMode (строковый режим) {getElement (). setAttribute (" режим ", режим); }}

Маршрутизатор

Маршрутизатор - это основная концепция Vaadin Flow, обеспечивающая навигацию по URL-адресам. Маршрутизатор позволяет подключать URL-адреса к компонентам пользовательского интерфейса. Он основан на API истории HTML5, который позволяет конечным пользователям перемещаться по страницам, сохраняя при этом состояние страницы. В следующем фрагменте кода показано, как использовать аннотацию @Routeдля отображения аннотированного компонента, когда конечный пользователь запрашивает URL-адрес типа http://yourdomain.com/hello/world:

@ Route ("привет / мир") открытый класс HelloWorldComponent расширяет Div {public HelloWorldComponent () {setText ("Hello, World!"); }}

Привязка данных

Привязка данных выполняется через класс Binder. Это позволяет синхронизировать значения в полях ввода с моделями данных на стороне сервера. В следующем фрагменте кода показано, как привязать поле Java name(через соответствующие методы получения и установки ) гипотетического класса Personсо значением в TextFieldкомпонент:

TextField nameField = new TextField (); Подшивка подшивка = новая подшивка <>(); binder.bind (nameField, Person :: getName, Person :: setName);

HTML-шаблоны

Vaadin Flow позволяет определять HTML-шаблоны с автоматическим обменом данными между клиентом и сервером и привязкой данных (при использовании шаблонов на основе Polymer ). Ниже приведен пример шаблона на основе полимера:

Следующий фрагмент кода показывает, как подключить предыдущий шаблон к серверному компоненту Java:

@Tag ("hello-world") @HtmlImport ("src / hello-world.html") открытый класс HelloWorld расширяет PolymerTemplate {открытый интерфейс HelloWorldModel расширяет TemplateModel {String getName (); void setGreeting (Строковое приветствие); } @EventHandler private void greet () {getModel (). SetGreeting ("Привет," + getModel (). GetName ()); }}

Настройка внешнего вида

Настройка внешнего вида может быть выполнена с помощью CSS, пользовательских стилей HTML или с помощью готовой конфигурации тем.

Интеграция Spring

Vaadin Flow включает интеграцию Spring Framework 5 и Spring Boot 2.

.

Сертификаты

Vaadin предлагает 2 платных сертификационных курса, которые принимаются онлайн (недоступны по состоянию на 8 ноября 2019 г.). Это должно было продемонстрировать навыки разработчика и знания о Vaadin Framework и связанных инструментах для успешной разработки веб-приложений.

  • Онлайн-экзамен Vaadin для сертифицированного разработчика Vaadin 7
  • Онлайн-экзамен Vaadin для сертифицированного разработчика Vaadin 8

Чтобы пройти сертификацию, вам нужно было просмотреть всю документацию и заполнить пару веб-приложений, используя фреймворк. Экзамены также проверяют ваши знания в определенных областях Java SE, Java EE, GWT (Google Web Toolkit) и HTML / JS / CSS.

Сертификаты для Vaadin 8, 10 и 14 теперь доступны после выпуска Учебного центра 3 декабря 2019 года. Они состоят из серии видеороликов, разделенных на два основных трека: Foundation и Professional, и финальный. тест, чтобы получить сертификат.

См. Также
Ссылки
Дополнительная литература
Внешние ссылки
Последняя правка сделана 2021-06-18 08:01:56
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте