Автор (ы) оригинала | Тим Фокс |
---|---|
Разработчики) | Тим Фокс, VMWare , Red Hat , Eclipse Foundation |
Стабильный выпуск | 4.0.0 / 9 декабря 2020 г . [1] |
Предварительный выпуск | 4.0.0.Beta1 / 28 июля 2020 г . [2] |
Репозиторий | |
Написано в | Java , JavaScript , Apache Groovy , Ruby , Scala , Kotlin |
Операционная система | Кроссплатформенность |
Платформа | Виртуальная машина Java |
Тип | Событийный сети |
Лицензия | Лицензия Apache, вер. 2.0 , Общественная лицензия Eclipse вер. 2.0 |
Веб-сайт | vertx |
Eclipse Vert.x - это среда многоязычных приложений , управляемая событиями, которая работает на виртуальной машине Java. [3] [4]
Подобные среды, написанные на других языках программирования, включают 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 .
История [ править ]
Vert.x был основан Тимом Фоксом в 2011 году, когда он работал в VMware .
Первоначально Fox назвал проект «Node.x», игра на названии Node.js , где «x» означает тот факт, что новый проект был полиглотным по своей природе и не просто поддерживал JavaScript. Позже проект был переименован в «Vert.x», чтобы избежать каких-либо потенциальных юридических проблем, поскольку «Node» был товарным знаком, принадлежащим Joyent Inc. [5] Новое имя было также игрой на имени node, поскольку вершина является синонимом для узла в математике.
В декабре 2012 года, после того как он уволился с работы, VMware подала юридические документы на Тима Фокса, чтобы получить контроль над товарным знаком Vert.x, доменным именем, блогом, учетной записью Github и группой Google из сообщества Vert.x [6] [7]
После долгих обсуждений с другими сторонами в январе 2013 г. VMware убедили, что в интересах сообщества Vert.x передать проект и связанный с ним IP-адрес в Eclipse Foundation, нейтральное юридическое лицо. [8]
В августе 2013 года основной проект Vert.x завершил переход в Eclipse Foundation. Другие проекты, составляющие стек Vert.x, не перешли на Eclipse, но продолжали использовать товарный знак Vert.x с молчаливого одобрения Eclipse Foundation.
В мае 2014 года Vert.x получил награду «Самая инновационная технология Java» на конкурсе JAX Innovation awards. [9]
12 января 2016 года Тим Фокс ушел с поста руководителя проекта Vert.x. [10] и Жюльен Вьет, давний участник, занял его место.
Архитектура [ править ]
Этот раздел в значительной степени или полностью основан на одном источнике . май 2015 г. ) ( |
Vert.x использует низкоуровневую библиотеку ввода-вывода Netty . [11]
Платформа приложения включает следующие функции:
- Полиглот. Компоненты приложения могут быть написаны на 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!" ); }). слушайте ( 8080 ); } }
И в JavaScript :
vertx . createHttpServer () . requestHandler ( function ( req ) { req . response () . putHeader ( "content-type" , "text / plain" ) . end ( "Hello from Vert.x!" ); }). слушайте ( 8080 );
В обоих случаях веб-сервер будет обслуживать контент с высокой степенью масштабируемости.
Ссылки [ править ]
- ^ "Eclipse Vert.x 3.9.2" . Проверено 21 июл 2020 .
- ^ "Eclipse Vert.x 4 beta 1" . Проверено 28 июл 2020 .
- ^ Подождите, vert.x - JVM Polyglot, альтернатива Node.js , Дио Синодинос, 4 мая 2012 г., infoq
- ^ Vert.x - асинхронная веб-платформа Java, управляемая событиями , Эберхард Вольф, 20 июня 2012 г., hDeveloper
- ^ https://groups.google.com/d/msg/vertx/lxZGADtT6dQ/a0qzaQpzfroJ
- ^ «Отношения VMware с основателем Vert.x должны служить предупреждением».
- ^ "Кто контролирует Vert.x: Red Hat, VMware или ни то, ни другое?"
- ^ "Vert.x Присоединение к Eclipse Foundation"
- ^ "Vert.x получает награду за инновации JAX"
- ^ https://groups.google.com/forum/?fromgroups#!topic/vertx/yluLHXa5CRU
- ^ vert.x - JVM Polyglot, альтернатива Node.js , Автор: Дио Синодинос, 4 мая 2012 г., InfoQ
Внешние ссылки [ править ]
- Официальный веб-сайт