Vert.x

Origem: Wikipédia, a enciclopédia livre.
Vert.x
Logótipo
Vert.x
Desenvolvedor Tim Fox e colaboradores do projeto
Escrito em Java, Javascript, Ruby, Python, Groovy, CoffeeScript, Clojure, Scala
Licença Apache Software Licence 2.0, Eclipse Public Licence

O Eclipse Vert.x é uma estrutura de aplicativo orientada a eventos Polyglot que é executada na Java Virtual Machine.[1][2] É lançado como código aberto sob Apache Software License 2.0 e Eclipse Public License.

Em particular, o Vert.x permite a criação de servidores web, permitindo em particular um escalonamento muito eficiente.[carece de fontes?] O Vert.x, portanto, apresenta-se como uma alternativa aos contêineres de servlet definidos no padrão Java EE, como Tomcat ou Jetty.

O Vert.x também pode ser incorporado como uma biblioteca em outro aplicativo Java.

História[editar | editar código-fonte]

Vert.x foi iniciada por Tim Fox em 2011 enquanto ele trabalhava para a VMware.

Fox inicialmente chamou o projeto de "Node.x" uma brincadeira com a nomenclatura de Node.js, com o "x" representando o fato de que o novo projeto era poliglota por natureza e não apenas suportava JavaScript. O projeto foi posteriormente renomeado para "Vert.x" para evitar possíveis problemas legais, já que "Node" era uma marca registrada de propriedade da Joyent Inc.[carece de fontes?] O novo nome também foi uma brincadeira com o nome node, já que vértice é sinônimo para um nó em matemática.

Em dezembro de 2012, depois que ele deixou o emprego, a VMware entregou documentos legais a Tim Fox para assumir o controle da marca Vert.x, nome de domínio, blog, conta GitHub e Google Group da comunidade Vert.x.[3][4]

Depois de muita discussão com outras partes, em janeiro de 2013, a VMware foi persuadida de que seria do interesse da comunidade Vert.x transferir o projeto e o IP associado para a Fundação Eclipse, uma entidade legal neutra.[5]

Em agosto de 2013, o projeto principal Vert.x concluiu sua mudança para a Eclipse Foundation. Os outros projetos que compõem a pilha Vert.x não migraram para o Eclipse, mas continuaram a usar a marca registrada "Vert.x" com aprovação tácita da Eclipse Foundation.

Em maio de 2014, Vert.x ganhou o prêmio de "Most Innovative Java Technology" nos prêmios JAX Innovation.[6]

Em 12 de janeiro de 2016, Tim Fox deixou o cargo de líder do projeto Vert.x.[carece de fontes?] e Julien Viet, um colaborador de longa data, assumiu seu lugar.

Arquitetura[editar | editar código-fonte]

Vert.x usa a biblioteca de e/s de baixo nível Netty.[7]

A estrutura do aplicativo inclui estes recursos:

  • Poliglota. Os componentes do aplicativo podem ser escritos em Java, JavaScript, Groovy, Ruby, Scala, Kotlin e Ceylon.
  • Modelo de simultaneidade simples. Todo o código é de thread único, liberando o incômodo da programação multithread.
  • Modelo de programação simples e assíncrono para escrever aplicativos sem bloqueio verdadeiramente escaláveis.
  • Barramento de evento distribuído que abrange o lado do cliente e do servidor. O barramento de eventos penetra até mesmo no JavaScript do navegador, permitindo criar os chamados aplicativos da Web em tempo real.
  • Modelo de ator e repositório público, para reutilizar e compartilhar componentes.

Exemplos[editar | editar código-fonte]

Um servidor web servindo "Hello from Vert.x!" poderia ser escrito em Java:

import io.vertx.core.AbstractVerticle;

public class Server extends AbstractVerticle {
  public void start() {
    vertx.createHttpServer().requestHandler(req -> {
      req.response()
        .putHeader("content-type", "text/plain")
        .end("Hello from Vert.x!");
    }).listen(8080);
  }
}

E em JavaScript:

vertx.createHttpServer()
  .requestHandler(function (req) {
    req.response()
      .putHeader("content-type", "text/plain")
      .end("Hello from Vert.x!");
}).listen(8080);

Ambos os casos resultarão em um servidor da Web que fornece conteúdo de maneira altamente escalável.

Referências

  1. «vert.x – JVM Polyglot Alternative to Node.js». InfoQ (em inglês). Consultado em 14 de dezembro de 2022 
  2. «Vert.x – an asynchronous, event-driven Java web framework - The H Developer: News and Features». www.h-online.com. Consultado em 14 de dezembro de 2022 
  3. Asay, Matt. «Hey, open sourcers: Who's your code's daddy?». www.theregister.com (em inglês). Consultado em 14 de dezembro de 2022 
  4. Phipps, Simon (11 de janeiro de 2013). «Who controls Vert.x: Red Hat, VMware, or neither?». InfoWorld (em inglês). Consultado em 14 de dezembro de 2022 
  5. «Vert.x Joining Eclipse Foundation». InfoQ (em inglês). Consultado em 14 de dezembro de 2022 
  6. «JAX & W-JAX 2023 | Konferenzen für Java, Architektur & Software-Innovationen». JAX (em alemão). Consultado em 14 de dezembro de 2022 
  7. «vert.x – JVM Polyglot Alternative to Node.js». InfoQ (em inglês). Consultado em 15 de dezembro de 2022 

Ligações externas[editar | editar código-fonte]