Vert.x

редактировать
Vert.x
Vert.x Logo.svg
Автор (ы) Тим Фокс
Разработчик (и) Тим Фокс, VMWare, Red Hat, Eclipse Foundation
Стабильный выпуск 3.9.2 / 22 июля 2020 г.; 3 месяца назад (22.07.2020)
Предварительный выпуск 4.0.0.Beta1 / 28 июля 2020 г.; 3 месяца назад (2020-07-28)
Репозиторий Измените это в Wikidata
Написано наJava, JavaScript, Apache Groovy, Ruby, Scala, Kotlin
Операционная система Кросс-платформенная
Платформа Виртуальная машина Java
Тип Управляемая событиями сеть
Лицензия Лицензия Apache, вер. 2.0, Общественная лицензия Eclipse ver. 2.0
Веб-сайтvertx.io
  • Портал бесплатного программного обеспечения с открытым исходным кодом

Eclipse Vert.x - это полиглот , управляемый событиями инфраструктура приложения, работающая на виртуальной машине Java.

Подобные среды, написанные на других языках программирования, включают Node.js для JavaScript, Twisted для Python, Perl Object Environment для Perl, libevent для C, reactPHP и amphp для PHP и EventMachine для Ruby.

Начиная с версии 2.1.4, Vert.x предоставляет свой API в Java, JavaScript, Groovy, Ruby, Python, Scala, Clojure и Ceylon.

Начиная с версии 3.7.0, Vert.x предоставляет свой API в Java, JavaScript, Groovy, Ruby, Scala, Kotlin и Ceylon.

Начиная с версии 3.9.1, Vert.x предоставляет свой API в Java, JavaScript, Groovy, Ruby, Scala и Kotlin.

Содержание
  • 1 История
  • 2 Архитектура
  • 3 Примеры
  • 4 Ссылки
  • 5 Внешние ссылки
История

Vert.x был запущен Тимом Фоксом в 2011 году, когда он работал в VMware.

Fox изначально назвала проект «Node.x», игра на названии Node.js, где «x» обозначает тот факт, что новый проект по своей природе был многоязычным., и не просто поддерживает JavaScript. Позже проект был переименован в «Vert.x», чтобы избежать каких-либо потенциальных юридических проблем, поскольку «Node» был товарным знаком, принадлежащим Joyent Inc. Новое имя было также игрой на имени узла, поскольку вершина является синонимом узла. по математике.

В декабре 2012 года, после того, как он уволился с работы, VMware подала юридические документы на Тима Фокса, чтобы получить контроль над товарным знаком Vert.x, доменным именем, блогом, учетной записью Github и группой Google из сообщества Vert.x

После долгих обсуждений с другими сторонами в январе 2013 года VMware была убеждена, что в интересах сообщества Vert.x переместить проект и связанный с ним IP-адрес в Ecl ipse Foundation, нейтральное юридическое лицо..

В августе 2013 года основной проект Vert.x завершил перенос в Eclipse Foundation. Другие проекты, составляющие стек Vert.x, не перешли на Eclipse, но продолжали использовать товарный знак Vert.x с молчаливого одобрения Eclipse Foundation.

В мае 2014 года Vert.x получил награду «Самая инновационная технология Java» на конкурсе JAX Innovation awards.

12 января 2016 года Тим Фокс ушел с поста руководителя Проект Vert.x. и Жюльен Вьет, давний участник, занял его место.

Архитектура

Vert.x использует низкоуровневую библиотеку ввода-вывода Netty.

Платформа приложения включает следующие функции:

  • Polyglot. Компоненты приложения могут быть написаны на Java, JavaScript, Groovy, Ruby, Scala, Kotlin и Ceylon.
  • Простая модель параллелизма. Весь код является однопоточным, что избавляет от хлопот, связанных с многопоточным программированием.
  • Простая асинхронная модель программирования для написания действительно масштабируемых неблокирующих приложений.
  • Распределенная шина событий, которая охватывает клиента и на стороне сервера. Шина событий даже проникает в JavaScript в браузере, позволяя создавать так называемые веб-приложения в реальном времени.
  • Модель акторов и публичный репозиторий для повторного использования и совместного использования компонентов.
Примеры

Веб-сервер, обслуживающий "Привет от Vert.x!" можно было бы написать на Java:

import io.vertx.core.AbstractVerticle; открытый класс Server расширяет AbstractVerticle {public void start () {vertx.createHttpServer (). requestHandler (req ->{req.response ().putHeader ("content-type", "text / plain").end ("Hello from Vert.x! ");}). Listen (8080); }}

И в JavaScript :

vertx.createHttpServer ().requestHandler (function (req) {req.response ().putHeader ("content-type", "text / plain").end ( «Привет от Vert.x!»);}). Listen (8080);

В обоих случаях веб-сервер будет обслуживать контент с высокой степенью масштабируемости.

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