32 votes

Différences entre Apache Deft, Webbit et Vert.x

Je vois beaucoup de potentiel dans le développement de type Node.JS sur la JVM, avec son runtime fortement optimisé.

À l'heure actuelle, je vois trois projets qui visent à apporter un style de développement semblable à celui de node.js à la JVM :

Ces projets devraient-ils s'associer ? Quelles sont leurs forces et faiblesses relatives ? Quel projet a le plus d'élan ?

31voto

Divulgation - Je suis le gars du vert.x :)

Vert.x est une plateforme à part entière permettant de créer des applications web polyglottes, évolutives et asynchrones.

Il s'inspire fortement de node.js mais va plus loin et fournit un bus d'événements distribués qui va du serveur jusqu'au JavaScript côté client, créant ainsi un modèle super simple pour les applications web dites "en temps réel". Nous fournissons également un mailer et un persistor mongodb. Il y a un tutoriel complet ici http://vertx.io/tutorials.html

Mais l'élément principal qui le distingue des autres frameworks asynchrones est probablement sa nature polyglotte. La même API (ou une API similaire) est disponible en Java, Ruby, JavaScript et Groovy (avec un support pour Clojure, Python et Scala à venir).

Vert.x tire réellement parti du véritable multithreading de la JVM pour offrir une évolutivité et des performances que node.js ne peut atteindre.

Si vous ne voulez pas la plateforme entière. Vert.x peut également être utilisé comme une bibliothèque pour fournir un support HTTP, TCP, websockets, sockjs, eventbus, etc. dans votre application Java ou Groovy.

Pour plus d'informations, veuillez consulter le site web http://vertx.io

28voto

Joe Walnes Points 321

Clause de non-responsabilité : je suis le gars du Webbit

Il y a définitivement beaucoup de chevauchement entre les 3 projets. Lorsque j'ai construit Webbit, je n'étais pas au courant des deux autres - si je l'avais été, il n'existerait peut-être pas, ou j'aurais peut-être passé mon temps à contribuer aux autres.

Je peux parler un peu de Webbit...

Il ne s'agit pas d'un cadre d'entrée-sortie événementiel polyvalent. Ou une boîte à outils de protocole réseau. Ou une abstraction de système de fichiers. Webbit ne fait qu'une petite fraction de ce que font les autres.

Webbit n'est pas non plus un cadre Web complet. Comme Node.JS ou l'API Servlet, il fournit les blocs de construction de base pour construire des cadres de plus haut niveau, mais laisse cela à des projets externes (tels que Webbit-EasyRemote ou Webbit-REST ).

L'objectif de Webbit est d'être un serveur HTTP et WebSocket simple, intégrable et non bloquant.

Comme elle adopte l'approche "faire une chose et la faire bien", elle a également été conçue pour être utilisée en conjonction avec d'autres bibliothèques. Elle permet de passer des exécuteurs externes java.util.concurrent.Executors et évite les contextes de threads singletons, ce qui la rend particulièrement bien adaptée à l'intégration avec des bibliothèques de concurrence de type Actor telles que Jetlang y HeySync .

Vert.x et Deft apportent des cadres complets pour un développement de style Node prêt à l'emploi. Webbit est juste un petit outil qui peut aider à activer HTTP/WebSocket dans votre application. Ces deux outils sont nécessaires et c'est en fonction de vos besoins (et de votre style personnel) qu'il convient de choisir celui qui est le plus approprié.

21voto

Schildmeijer Points 10975

Disclaimer : Je suis un participant à Apache Deft.

Apache Deft a plus de points communs avec tornado et twisted qu'avec node.js, alors que vert.x est fortement influencé par node.js. Tim Fox de wmware fait un excellent travail avec vert.x et la vitesse de développement est vraiment impressionnante.

vert.x a un couple de exemples disponible. Quelques Apache Deft exemples . Apache Deft a aussi un plus grand " application de démonstration "Cela devrait vous donner une idée de la façon dont vous pouvez utiliser le cadre pour d'autres choses que http.

AFAIK webbit vise actuellement à être un "serveur WebSocket et HTTP".

S'ils doivent faire équipe ? Absolument :)

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X