Ваадин - Vaadin - Wikipedia

Ваадин
Ваадин-логотип
Веб-приложение, реализованное с помощью Vaadin Flow
Веб-приложение, реализованное с помощью Vaadin Flow
Разработчики)Vaadin Ltd.
Стабильный выпуск18.0.3 (21 декабря 2020 г.; 1 день назад (2020-12-21)[1]) [±]

14.4.4 (LTS) (30 ноября 2020 г.; 22 дней назад (2020-11-30)[2]) [±]

8.12.1 (LTS) (4 декабря 2020 г.); 18 дней назад (2020-12-04)[3]) [±]
РепозиторийРепозиторий Ваадин
Написано вЯва, JavaScript
ПлатформаКросс-платформа
ТипВеб-фреймворк
ЛицензияЛицензия Apache 2.0
Интернет сайтvaadin.com

Ваадин (Финское произношение:[ˈƲɑːdin]) является Открытый исходный код платформа для веб приложение разработка. Платформа Vaadin включает в себя набор веб-компоненты, Java веб-фреймворк, а также набор инструментов и стартеров приложений. Его флагманский продукт, платформа Vaadin (ранее Vaadin Framework), позволяет реализовать пользовательские веб-интерфейсы HTML5 с помощью Язык программирования Java.

История

Первоначально разработка начиналась как адаптер поверх Millstone 3. Открытый исходный код веб-фреймворк, выпущенный в 2002 году. Он представил Аякс -система взаимодействия с клиентами и рендеринга. В 2006 году эта концепция была затем разработана отдельно как коммерческий продукт. Как следствие этого, большая часть Ваадина на стороне сервера API все еще совместим с Millstone Качели API.

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

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

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

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

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

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

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

5 декабря 2018 года Ваадин 12 был освобожден.[8]

6 марта 2019 года был выпущен Vaadin 13.[9]

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

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

Vaadin 14.2.0 видит введение pnpm[12] как пакетный менеджер.

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

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

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

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

bower установить vaadin / vaadin-button

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

<html><голова>    <связь rel="импорт" href="bower_components / vaadin-button / vaadin-button.html" /></голова><тело>    <кнопка ваадин по щелчку='alert ("Привет, мир")'>Нажми на меня</кнопка ваадин></тело></html>

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

Ваадин-компоненты-привет-мир-скриншот.png

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

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

Компоненты Vaadin
КомпонентИмя элементаОписание
Кнопкакнопка ваадинЭлемент для настраиваемых кнопок
Флажокvaadin-checkboxЭлемент для настраиваемых флажков
Поле со спискомvaadin-combo-boxПоказывает список товаров с фильтрацией
Контекстное менюvaadin-контекстное менюПоказывает контекстно-зависимые элементы для любого элемента на странице
Выбор датываадин-подборщик свиданийПоле выбора даты с прокручиваемым календарём на месяц
Диалогvaadin-диалогПоказывает модальные диалоги
Выпадающее менюvaadin-выпадающее-менюНастраиваемый веб-компонент для раскрывающихся меню
Макет формыvaadin-form-layoutНастраиваемый адаптивный макет для элементов формы
Сеткаваадин-сеткаСетка данных / элемент таблицы данных
Набор иконок пользовательского интерфейсаваадин-иконыКоллекция из 600+ иконок
Элементваадин-предметКонтейнер для элементов item
Ваадин-список-окноМногоразовые списки
Уведомлениеvaadin-уведомлениеИндивидуальные уведомления
Заказной макетvaadin-заказанный макетГоризонтальное или вертикальное выравнивание HTML-элементов
Тематические элементы управления вводом
Индикаторvaadin-прогресс-барНастраиваемые индикаторы выполнения
Переключательvaadin-радио-кнопкаИндивидуальные переключатели
Разделить макетvaadin-split-layoutРазбиение макета на области с изменяемым размером
Вкладки навигацииvaadin-tabsИндивидуальные вкладки
Загрузитьvaadin-uploadЗагрузить несколько файлов с индикацией прогресса

Vaadin Flow

Vaadin Flow
Ваадин-логотип
Vaadin-flow-bakery.png
Разработчики)Vaadin Ltd.
Стабильный выпуск
2.0.10 / 3 сентября 2019; 15 месяцев назад (2019-09-03)[13]
Предварительный выпуск
3.0.0.alpha1 / 16 августа 2019; 16 месяцев назад (2019-08-16)[14]
РепозиторийРепозиторий потока
ПлатформаЯва
ТипВеб-фреймворк
ЛицензияЛицензия Apache 2.0
Интернет сайтvaadin.com/flow

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

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

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

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

@Маршрут("Привет, мир")общественный учебный класс MainView расширяет VerticalLayout {    общественный MainView() {        Текстовое поле текстовое поле = новый Текстовое поле("Введите ваше имя");        Кнопка кнопка = новый Кнопка("Нажми на меня", мероприятие ->                Добавить(новый Охватывать("Привет, " + текстовое поле.getValue())));        Добавить(текстовое поле, кнопка);    }}

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

Ваадин-поток-привет-мир-скриншот.png

Функции

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

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

@Маршрут("")общественный учебный класс MainView расширяет Div {    общественный MainView() {        Div div = новый Div();        div.setText("Нажми на меня");        div.getElement().setAttribute("я бы", "главный");        div.getElement().addEventListener("щелкнуть", (DomEventListener) мероприятие ->                Добавить(новый Охватывать("Привет, мир")));        Добавить(div);    }}

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

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

@Тег("сочный-туз-редактор")@HtmlImport("bower_components / juicy-ace-editor / juicy-ace-editor.html")общественный учебный класс JuicyAceEditor расширяет Div {    общественный пустота установить режим(Нить Режим) {        getElement().setAttribute("Режим", Режим);    }}

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

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

@Маршрут("Привет, мир")общественный учебный класс HelloWorldComponent расширяет Div {    общественный HelloWorldComponent() {        setText("Привет, мир!");    }}

Связывание данных

Связывание данных осуществляется через Связующее учебный класс. Это позволяет синхронизировать значения в полях ввода с моделями данных на стороне сервера. Следующий фрагмент кода показывает, как привязать имя Поле Java (через соответствующий геттер и сеттер ) гипотетического Человек класс к значению в Текстовое поле компонент:

Текстовое поле nameField = новый Текстовое поле();Связующее<Человек> связующее = новый Связующее<>();связующее.связывать(nameField, Человек::getName, Человек::Имя набора);

HTML шаблоны

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

<связь rel="импорт" href="../bower_components/polymer/polymer-element.html"><связь rel="импорт" href="../bower_components/vaadin-text-field/vaadin-text-field.html"><dom-модуль я бы="Привет, мир">    <шаблон>        <vaadin-текстовое поле метка="Ваше имя" ценить="{{имя}}"></vaadin-текстовое поле>        <кнопка по щелчку="приветствовать">Нажми на меня</кнопка>        <div я бы="приветствие">[[приветствие]]</div>    </шаблон>    <сценарий>        учебный класс Привет, мир расширяет Полимер.Элемент {            статический получать является() {                возвращаться 'Привет, мир'            }        }        customElements.определять(Привет, мир.является, Привет, мир);    </сценарий></dom-модуль>

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

@Тег("Привет, мир")@HtmlImport("src / hello-world.html")общественный учебный класс Привет, мир расширяет Полимерный шаблон<Привет, мир.HelloWorldModel> {        общественный интерфейс HelloWorldModel расширяет TemplateModel {        Нить getName();        пустота setGreeting(Нить приветствие);    }    @Обработчик события    частный пустота приветствовать() {        getModel().setGreeting("Привет, " + getModel().getName());    }}

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

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

Весенняя интеграция

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


Сертификаты

Ваадин предложил 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, и финального теста для получения сертификата.

Смотрите также

Рекомендации

  1. ^ «Выпуск Vaadin 18.0.3 · vaadin / платформа · GitHub». GitHub. Получено 2020-12-21.
  2. ^ "Выпуск Vaadin 14.4.4 · vaadin / платформа · GitHub". GitHub. Получено 2020-12-09.
  3. ^ «Выпуск Vaadin 8.12.1 · vaadin / framework · GitHub». GitHub. Получено 2020-12-09.
  4. ^ "Майкл" Монти "Видениус инвестирует в Finnish IT Mill". Инвестируйте в Финляндию. Архивировано из оригинал на 2011-07-20. Получено 2009-01-31.
  5. ^ Asay, Мэтт. «Монти Видениус инвестирует в Act II: IT Mill». CNET Новости. Архивировано из оригинал на 2016-03-11. Получено 2009-01-31.
  6. ^ Ваадин. "Vaadin выпускает Vaadin Framework 8". www.prnewswire.com.
  7. ^ Ваадин. «Vaadin модернизирует Java-разработку с помощью своего самого большого на сегодняшний день релиза: Vaadin 10». www.businessinsider.com.
  8. ^ «Релиз Vaadin 12.0.0 на GitHub».
  9. ^ «Релиз Vaadin 13.0.0 на GitHub».
  10. ^ «Релиз Vaadin 14.0.0 на GitHub».
  11. ^ «Релиз Vaadin 14.2.0 на GitHub».
  12. ^ "pnpm Быстрый диспетчер пакетов с эффективным использованием дискового пространства".
  13. ^ «Выпуск 2.0.10 - Техническая версия · vaadin / flow · GitHub». GitHub.
  14. ^ «Выпуск Vaadin Flow 3.0.0.alpha1 · vaadin / flow · GitHub». GitHub.

дальнейшее чтение

внешняя ссылка