Различия между Apache Deft, Webbit и Vert.x
Я вижу большой потенциал для создания Node.JS-подобных разработок на JVM с его сильно оптимизированной средой выполнения.
В настоящий момент я вижу три проекта, которые нацелены на создание стиля JWM в стиле Node.js-like.
Должны ли эти проекты объединиться?
Каковы их относительные сильные и слабые стороны?
Какой проект имеет наибольший импульс?
Ответы
Ответ 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-сервер".
Если они должны объединиться? Абсолютно:)