Eclipse Vert.x es un marco de aplicación poliglota controlado por eventos que se ejecuta en la máquina virtual Java. [3] [4]
Autor (es) original (es) | Tim Fox |
---|---|
Desarrollador (es) | Tim Fox, VMWare , Red Hat , Fundación Eclipse |
Lanzamiento estable | 4.0.0 / 9 de diciembre de 2020 [1] |
Versión de vista previa | 4.0.0.Beta1 / 28 de julio de 2020 [2] |
Repositorio | |
Escrito en | Java , JavaScript , Apache Groovy , Ruby , Scala , Kotlin |
Sistema operativo | Multiplataforma |
Plataforma | máquina virtual de Java |
Tipo | Redes impulsadas por eventos |
Licencia | Licencia de Apache ver. 2.0 , licencia pública de Eclipse ver. 2.0 |
Sitio web | vertx |
Entornos similares escritos en otros lenguajes de programación incluyen Node.js para JavaScript , Twisted para Python , Perl Object Environment para Perl , libevent para C , reactPHP y amphp para PHP y EventMachine para Ruby .
A partir de la versión 2.1.4, Vert.x expone su API en Java , JavaScript , Groovy , Ruby , Python , Scala , Clojure y Ceylon .
A partir de la versión 3.7.0, Vert.x expone su API en Java , JavaScript , Groovy , Ruby , Scala , Kotlin y Ceylon .
A partir de la versión 3.9.1, Vert.x expone su API en Java , JavaScript , Groovy , Ruby , Scala y Kotlin .
Historia
Vert.x fue iniciado por Tim Fox en 2011 mientras trabajaba para VMware .
Fox inicialmente nombró al proyecto "Node.x", un juego sobre el nombre de Node.js , con la "x" representando el hecho de que el nuevo proyecto era de naturaleza políglota y no solo era compatible con JavaScript. El proyecto fue rebautizado más tarde a "Vert.x" para evitar posibles problemas legales, ya que "Node" era una marca comercial propiedad de Joyent Inc. [5] El nuevo nombre también fue un juego en el nodo del nombre, ya que un vértice es un sinónimo para un nodo en matemáticas.
En diciembre de 2012, después de dejar su empleo, VMware entregó documentos legales a Tim Fox para tomar el control de la marca comercial Vert.x, el nombre de dominio, el blog, la cuenta de Github y el Grupo de Google de la comunidad Vert.x [6] [7]
Después de muchas discusiones con otras partes, en enero de 2013, VMware fue persuadido de que sería en el mejor interés de la comunidad Vert.x trasladar el proyecto y la propiedad intelectual asociada a la Fundación Eclipse, una entidad legal neutral. [8]
En agosto de 2013, el proyecto central Vert.x completó su traslado a la Fundación Eclipse. Los otros proyectos que componen la pila Vert.x no migraron a Eclipse, pero continuaron usando la marca comercial "Vert.x" con la aprobación tácita de la Fundación Eclipse.
En mayo de 2014, Vert.x ganó el premio a la "Tecnología Java más innovadora" en los premios JAX Innovation. [9]
El 12 de enero de 2016, Tim Fox renunció como líder del proyecto Vert.x. [10] y Julien Viet, colaborador desde hace mucho tiempo, ocupó su lugar.
Arquitectura
Vert.x utiliza la biblioteca de E / S de bajo nivel Netty . [11]
El marco de la aplicación incluye estas características:
- Polígloto. Los componentes de la aplicación se pueden escribir en Java, JavaScript, Groovy, Ruby, Scala, Kotlin y Ceylon.
- Modelo de concurrencia simple. Todo el código es de un solo subproceso, lo que libera de la molestia de la programación de múltiples subprocesos.
- Modelo de programación simple y asincrónico para escribir aplicaciones sin bloqueo verdaderamente escalables.
- Bus de eventos distribuido que abarca el lado del cliente y del servidor. El bus de eventos incluso penetra en JavaScript en el navegador, lo que permite crear las llamadas aplicaciones web en tiempo real.
- Modelo de actor y repositorio público, para reutilizar y compartir componentes.
Ejemplos de
Un servidor web que sirve "¡Hola desde Vert.x!" podría estar escrito en Java:
import io.vertx.core.AbstractVerticle ;El servidor de clase pública extiende AbstractVerticle { public void start () { vertx . createHttpServer (). requestHandler ( req -> { req . response () . putHeader ( "content-type" , "text / plain" ) . end ( "¡Hola desde Vert.x!" ); }). escuchar ( 8080 ); } }
Y en JavaScript :
vertx . createHttpServer () . requestHandler ( function ( req ) { req . response () . putHeader ( "content-type" , "text / plain" ) . end ( "¡Hola desde Vert.x!" ); }). escuchar ( 8080 );
Ambos casos darán como resultado un servidor web que servirá contenido de una manera altamente escalable.
Referencias
- ^ "Eclipse Vert.x 3.9.2" . Consultado el 21 de julio de 2020 .
- ^ "Eclipse Vert.x 4 beta 1" . Consultado el 28 de julio de 2020 .
- ↑ Wait, vert.x - JVM Polyglot Alternative to Node.js , por Dio Synodinos, 04 de mayo de 2012, infoq
- ^ Vert.x: un marco web Java asincrónico, impulsado por eventos , por Eberhard Wolff, 20 de junio de 2012, hDeveloper
- ^ https://groups.google.com/d/msg/vertx/lxZGADtT6dQ/a0qzaQpzfroJ
- ^ "Los tratos de VMware con el fundador de Vert.x deberían servir como advertencia".
- ^ "¿Quién controla Vert.x: Red Hat, VMware o ninguno?"
- ^ "Vert.x se une a la Fundación Eclipse"
- ^ "Vert.x gana el premio a la innovación JAX"
- ^ https://groups.google.com/forum/?fromgroups#!topic/vertx/yluLHXa5CRU
- ^ vert.x - JVM Polyglot Alternative to Node.js , por Dio Synodinos, 04 de mayo de 2012, InfoQ
enlaces externos
- Página web oficial