ArticleslgStudy

computer science

Vert.x

Vert.x is a computer science topic covered in the lgStudy science library. This page brings together a partial reference excerpt, illustrations, worked examples, real-world applications and a short study plan, so you can understand Vert.x rather than just read about it. In short: Eclipse Vert.x is a polyglot event-driven application framework that runs on the Java virtual machine. Similar environments written in other programming languages include Node.js for JavaScript, Twisted for Python, Perl Object Environment for Perl, libevent for C, reactPHP and amphp for PHP and EventMachine for Ruby.

Vert.x — main illustration
Vert.x — illustration

Key takeaways

  • Vert.x belongs to computer science; place it in that map before memorising details.
  • Learn the definition first, then one example that makes the definition concrete.
  • Connect Vert.x to a quantity you can measure, compute or draw — that is where exam questions come from.
  • Reproduce the core statement of Vert.x from memory before moving on to harder problems.

Reference excerpt

Eclipse Vert.x is a polyglot event-driven application framework that runs on the Java virtual machine. Similar environments written in other programming languages include Node.js for JavaScript, Twisted for Python, Perl Object Environment for Perl, libevent for C, reactPHP and amphp for PHP and EventMachine for Ruby.

History Vert.x was started by Tim Fox in 2011 while he was employed by VMware. Fox initially named the project "Node.x", a play on the naming of Node.js, with the "x" representing the fact that the new project was polyglot in nature, and didn't simply support JavaScript. The project was later renamed to "Vert.x" to avoid any potential legal issues as "Node" was a trademark owned by Joyent Inc. The new name was also a play on the name node, as a vertex is a synonym for a node in mathematics. In December 2012, after he left their employment, VMware served legal papers on Tim Fox to take control of the Vert.x trademark, domain name, blog, GitHub account, and Google Group from the Vert.x community. After much discussion with other parties, in January 2013, VMware was persuaded that it would be in the best interests of the Vert.x community to move the project and associated IP to the Eclipse Foundation, a neutral legal entity. In August 2013, the core Vert.x project completed its move to the Eclipse Foundation. The other projects that make up the Vert.x stack did not migrate to Eclipse but continued to use the "Vert.x" trademark with tacit approval of the Eclipse Foundation. In May 2014, Vert.x won the award for "Most Innovative Java Technology" at the JAX Innovation awards. On January 12, 2016, Tim Fox stepped down as the lead of the Vert.x project. and Julien Viet, a long-time contributor, took his place.

Language support As of version 2.1.4 (2014), Vert.x exposes its API in Java, JavaScript, Groovy, Ruby, Python, Scala, Clojure and Ceylon. As of version 3.7.0 (2019), Vert.x exposes its API in Java, JavaScript, Groovy, Ruby, Scala, Kotlin and Ceylon. As of version 3.9.1 (2020), Vert.x exposes its API in Java, JavaScript, Groovy, Ruby, Scala and Kotlin. As of version 4.0.0 (2020), Vert.x exposes its API in Java, Groovy and Kotlin.

Architecture

Vert.x uses low level IO library Netty. The application framework includes these features:

Polyglot. Application components can be written in Java, JavaScript, Groovy, Ruby, Scala, Kotlin and Ceylon. Simple concurrency model. All code is single threaded, freeing from the hassle of multi-threaded programming. Simple, asynchronous programming model for writing truly scalable non-blocking applications. Distributed event bus that spans the client and server side. The event bus even penetrates into in-browser JavaScript allowing to create so-called real-time web applications. Actor model and public repository, to re-use and share components.

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

And in JavaScript:

Both cases will result in a web server serving content in a highly scalable manner.

References

External links Official website

Illustrations

Vert.x illustration

Worked examples

Example 1 — a first encounter with Vert.x

Start with the simplest possible case. Write down what Vert.x claims or describes in one sentence, then invent the smallest concrete situation in which that sentence is true. In computer science, the smallest case is usually a single object, a single equation or a single measurement. Check that every symbol or term in your sentence has a meaning in that case.

Example 2 — changing one variable

Take the situation from Example 1 and change exactly one quantity: double it, halve it, or set it to zero. Predict what should happen to Vert.x before you calculate. Comparing your prediction with the result is the fastest way to find out whether you understand the idea or only the words.

Example 3 — an exam-style question

Typical questions about Vert.x ask you to (a) state it precisely, (b) apply it to given data, and (c) explain a limitation. Practise writing all three answers in under five minutes; the third part is what separates a full-mark answer from an average one.

Applications of Vert.x

In research
Vert.x appears in computer science research whenever the underlying quantities have to be modelled precisely. Papers usually cite it as a starting assumption and then explore where it breaks down.
In technology and industry
Engineering practice reuses Vert.x in design rules, simulations and safety margins. Knowing the idea lets you read a specification sheet and understand why the numbers look the way they do.
In the classroom
Vert.x is common in secondary-school and first-year university syllabi. It links to neighbouring topics Concurrent programming libraries, Cross-platform software, Events (computing), so understanding it makes those chapters shorter.
In everyday life
Look for Vert.x outside the textbook — in sport, cooking, traffic, electronics or the sky above you. An example you found yourself is remembered far longer than one you were given.

Affiliate

Preply — study more efficiently by working with a personal tutor. 50% off.

How to study Vert.x in 20 minutes

  1. Read the reference excerpt below once, without taking notes.
  2. Close the page and write down what Vert.x means in your own words.
  3. Compare your version with the excerpt and mark what you missed.
  4. Work through the three examples above with pen and paper.
  5. Explain Vert.x out loud to somebody else — or to Teacher Smith in the lgStudy chat.

Frequently asked questions

What is Vert.x in simple terms?

Eclipse Vert.x is a polyglot event-driven application framework that runs on the Java virtual machine. Similar environments written in other programming languages include Node.js for JavaScript, Twisted for Python, Perl Object Environment for Perl, libevent for C, reactPHP and amphp for PHP and Eve…

Why does Vert.x matter?

Because it connects several computer science ideas at once: it gives you a definition you can apply, a quantity you can calculate, and a way to check whether a result is plausible.

How should I study Vert.x?

Read the excerpt, restate it from memory, then work through the examples and applications listed on this page. The five-step study plan above takes about twenty minutes.

What does this page cover?

It gives you a compact reference excerpt plus original lgStudy explanations, examples, applications and study material on Vert.x.

Tags

  • Concurrent programming libraries
  • Cross-platform software
  • Events (computing)
  • Free computer libraries
  • Java virtual machine

Keep exploring