Skip to content

Commit

Permalink
updated README for new website
Browse files Browse the repository at this point in the history
  • Loading branch information
purplefox committed Feb 28, 2012
1 parent 774681c commit 2f3a910
Showing 1 changed file with 9 additions and 60 deletions.
69 changes: 9 additions & 60 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,71 +1,20 @@
# vert.x
## What is vert.x?

The next generation polyglot asynchronous application framework.
(Formerly known as node.x)
**Vert.x is the framework for the next generation of asynchronous, effortlessly scalable, concurrent applications.**

* Runs on the JVM.
* Embraces the good bits of event driven frameworks like node.js then adds some even juicier bits.
* Everything is non-blocking.
* Polyglot. vert.x will be usable from multiple languages: Ruby, Groovy, Java, JavaScript, Python, Clojure, Scala. Currently we support Java and Ruby and have partial Groovy support. Write your code in the language *you* choose. Leverage the power of vert.x from that language.
* Goes with the recent developments with InvokeDynamic in Java 7 and bets on the JVM being the future premier runtime for dynamic languages.
* Enables you to create network servers or clients incredibly easily.
* True scalability. Unlike other well-known event-driven frameworks, you can have more than one event loop per process. No more spinning up 32 instances just to utilise the cores on your server.
* Incredibly simple [concurrency model] (https://github.com/purplefox/vert.x/wiki/Concurrency-model). Write your code as single threaded but watch it scale across multiple cores. No need to worry about race conditions or locks.
* Understands multiple network protocols out of the box including: TCP, SSL, HTTP, HTTPS, Websockets.
* Efficiently serve static files from the filesystem bypassing user-space altogether.
* Simple Sinatra/Express style resource based web routing.
* Distributed event bus. Multiple vert.x instances work together seamlessly to provide a distributed event bus
* SockJS support
Vert.x is a framework which takes inspiration from event driven frameworks like node.js, combines it with a distributed event bus and sticks it all on the JVM - a runtime with *real* concurrency and unrivalled performance. Vert.x then exposes the API in Ruby and Java too.

## Jump to the examples
Some of the key highlights include:

Take a look at some of these working Ruby examples to see the kind of things you can do with vert.x
* Polyglot. Write your application components in JavaScript, Java or Ruby. It's up to you. Or mix and match several programming languages in a single application. (Groovy, Scala and Clojure support is scheduled too).

[Ruby examples](https://github.com/purplefox/vert.x/tree/master/src/examples/ruby "Ruby examples")
* No more worrying about concurrency. Vert.x allows you to write all your code as single threaded, freeing you from the hassle of multi-threaded programming. Race conditions and locks are a thing of the past.

[Java examples](https://github.com/purplefox/vert.x/tree/master/src/examples/java "Java examples")
* Vert.x has a super simple, asynchronous programming model for writing truly scalable non-blocking applications.

## API docs
* Vert.x includes a distributed event bus that spans the client and server side so your applications components can communicate incredibly easily. The event bus even penetrates into in-browser JavaScript allowing you to create effortless so-called *real-time* web applications.

API docs in Java and Ruby are [here] (http://purplefox.github.com/vert.x/)
* Vert.x provides real power and simplicity, without being simplistic. No more boilerplate or sprawling xml configuration files.

## What is the status of vert.x?

The second binary release, vert.x 0.2, has been released.

You can find the Road-map [here] (https://github.com/purplefox/vert.x/wiki/Road-map)

## What is the architecture?

vert.x *core* is currently written in Java. We then provide a thin layer in each of the JVM languages we support which allows the API to be used in each of the supported languages.

We do not expose the Java API directly in the other languages since we wish to retain the normal coding idioms for each supported language.

We don't leak Java stuff to other languages through the API.

vert.x internally uses [Netty](https://github.com/netty/netty "Netty") for much of the asynchronous IO.

## Building from source

Instructions for building vert.x from source are [here](https://github.com/purplefox/vert.x/wiki/Build-instructions)

## Installation and running the examples

Instructions for installing and running vert.x are are [here] (https://github.com/purplefox/vert.x/wiki/Installation-and-running)

## Development and user discussions

[vert.x Google Group](http://groups.google.com/group/vertx)

## FAQ

FAQ [here] (https://github.com/purplefox/vert.x/wiki/FAQ)

## IRC

There's an IRC channel at irc.freenode.net#vertx if you want to drop in to chat about any user or development topics

## Join us!!

There is lots to do! We are looking for contributors - both individual and corporate. Ping @timfox on twitter, or post on the [vert.x Google Group](http://groups.google.com/group/vertx).
**Please see the [website](http://purplefox.github.com/vert.x/) for full documentation and information on vert.x**

0 comments on commit 2f3a910

Please sign in to comment.