Jump to content

User:Marcos Cyan/sandbox

From Wikipedia, the free encyclopedia

Vert.X

[edit]

O Eclipse Vert.x é polyglot event-driven application framework (aplicação multilinguagem direcionada a eventos) que é rodada no Java Virtual Machine.

Situações similiares escritas em outras linguagens de programação incluem Node.js para JavaScript, Twisted para Python,Python, Perl Object Environment para Perl, libevent para C, reactPHP and amphp para PHP e EventMachine para Ruby.

Na versão 2.1.4, Vert.x apresenta sua API in Java, JavaScript, Groovy, Ruby, Python, Scala, Clojure and Ceylon.

Na versão 3.7.0, Vert.x apresenta sua API in Java, JavaScript, Groovy, Ruby, Scala, Kotlin and Ceylon.

Na versão 3.9.1, Vert.x apresenta sua API in Java, JavaScript, Groovy, Ruby, Scala and Kotlin.

Na versão 4.0.0, Vert.x apresenta sua API in Java, Groovy and Kotlin.

Historia

[edit]

Vert.x foi criada por Tim Fox em 2011 enquanto ele era um empregado da VMware.

Fox inicialmente nomeu o projeto de "Node.x" um jogo de palavras no nome do Node.js com o "x" representando o fato do novo projeto ser polyglota, e não suportar apenas o JavaScript. O projeto foi mais tarde renomeado para "Vert.x" para evitar qualquer potencial ação juridica ja que o "Node" é um marca de porpriedade da Joyent Inc. O Novo nome tambem faz um jogo de palavras do node, ja que vertex é um sinonimo para node em matematica.

Em dezenbro de 2012, apos ele sair da empresa, VMware fez uma ação juridica em Tim Fox para obter direitos do Nome, blog, GitHub account e Google Group da Vert.x community relacionados a Vert.x.

Apos muita discussão com outros envolvidos, em Janeiro de 2013, VMware foi pesuadida que seria de melhor interesse da Vert.x community mover o projeto e IP associada para a Eclipse Foundation, um entidade legalmente neutra.

Em Agosto de 2013, o nucleo Vert.x project completou sua mudança para o Eclipse Foundation. Os outros programas que faziam parte do Vert.x stack não migraram para Eclipse mas continuaram a usar a marca "Vert.x" com aprovação da Eclipse Foundation.

Em Maio de 2014, Vert.x ganhou o premio de "Most Innovative Java Technology" (tecnologia Java mais inovadora) no JAX Innovation awards.

Em 12 de Janeiro de 2016, Tim Fox Se retirou da liderança do Vert.x project. e Julien Viet, um comtribuidor de longa data assumiu seu lugar.

Arquitetura

[edit]

Vert.x usa low level IO library Netty.

The application framework includes these features:

A aplicação Framework inclui as seguintes funções:

  • Poliglota. Componentes da aplicação pode ser escritos em Java,JavaScript, Groovy, Ruby, Scala, Kotlin and Ceylon
  • Simples modelo simultâneo. Todo código é uma única linha, se libertando do multi-threaded programming.
  • Simples, modelo de programação assincrona para escrever verdadeiramente scalable non-blocking applications.
  • Distruibuição de eventos que expandem os lados do cliente e servidor. O event bus ate penetra dentro do In-browser JavaScript Permitindo criar so-called real-time web applications.
  • Modelo ator e repositorio publico que re utiliza e compartilha components.

Exemplos

[edit]

A web server serving "Hello from Vert.x!" could be written in Java:

Um web server apresentando "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 iram resultar em uma apresentação web server content em maneira de larga escala: