Подтвердить что ты не робот

Различия между Apache Deft, Webbit и Vert.x

Я вижу большой потенциал для создания Node.JS-подобных разработок на JVM с его сильно оптимизированной средой выполнения.

В настоящий момент я вижу три проекта, которые нацелены на создание стиля JWM в стиле Node.js-like.

Должны ли эти проекты объединиться? Каковы их относительные сильные и слабые стороны? Какой проект имеет наибольший импульс?

4b9b3361

Ответ 1

Отказ от ответственности: я парень Webbit

Существует определенно много перекрытий между тремя проектами. Когда я построил Webbit, я не знал о двух других - если бы я был, это, возможно, не существовало, или я, возможно, потратил свое время, помогая другим.

Я могу немного поговорить о Webbit...

Это не многоцелевая среда ввода-вывода. Или набор сетевых протоколов. Или абстракция файловой системы. Webbit делает лишь небольшую часть того, что делают другие.

Webbit также не является полнофункциональной веб-картой. Подобно Node.JS или API сервлета, он предоставляет основные строительные блоки для построения фреймворков более высокого уровня, но оставляет это для внешних проектов (например, Webbit-EasyRemote или Webbit-REST).

То, что сосредоточено в Webbit, - это простой, встраиваемый, неблокирующий сервер HTTP и WebSocket.

Поскольку он использует "сделать одно и делать это хорошо", он также был разработан для использования в сочетании с другими библиотеками. Это позволяет внешнему java.util.concurrent.Executors быть переданным и избегать однопоточных контекстов потоков, что делает его особенно хорошо подходящим для интеграции с библиотеками concurrency в стиле Actor, такими как Jetlang и HeySync.

Vert.x и Deft приносят полные рамки для разработки стиля Node. Webbit - это всего лишь небольшой инструмент, который может помочь HTTP/WebSocket включить ваше приложение. Существует необходимость в обоих из них, и это действительно зависит от ваших потребностей (и личного стиля), что более подходит.

Ответ 2

Раскрытие информации - я парень vert.x:)

Vert.x - это полноценная платформа для создания многоязычных, масштабируемых асинхронных приложений с поддержкой веб-приложений.

Он сильно вдохновлен node.js, но идет дальше, чем node.js, и предоставляет распределенную шину событий, которая поступает с сервера прямо на клиентскую сторону JavaScript, создавая, таким образом, суперпростую модель для так называемого "реального -time". Мы также отправляем с почтовым отправителем и persistor mongodb. Здесь полный учебник здесь http://vertx.io/tutorials.html

Но, вероятно, главное, что отличает его от других асинхронных фреймворков, - это полиглот. Тот же (или похожий) API доступен в Java, Ruby, JavaScript и Groovy (с поддержкой Clojure, Python и Scala).

Vert.x действительно использует истинную многопоточность JVM для обеспечения масштабируемости и производительности, чем node.js не может касаться.

Если вам не нужна вся платформа. Vert.x также может использоваться как библиотека для предоставления HTTP, TCP, websockets, sockjs, eventbus и т.д. Поддержки в вашем приложении Java или Groovy.

Для получения дополнительной информации см. веб-сайт http://vertx.io

Ответ 3

Отказ от ответственности: я - коммандер Apache Deft.

Apache Deft имеет больше общего с торнадо и скручивается, чем до node.js, тогда как vert.x сильно зависит от node.js. Тим Фокс из wmware отлично справляется с vert.x, и скорость разработки действительно впечатляет.

vert.x имеет пару examples. Некоторые примеры Apache Deft . Apache Deft также имеет более крупное демонстрационное приложение , которое должно дать вам представление о том, как вы можете использовать фреймворк для других вещей, кроме http.

В настоящее время веб-сайтом AFAIK является "WebSocket и HTTP-сервер".

Если они должны объединиться? Абсолютно:)