z*******3 发帖数: 13709 | 1 http://vertx.io/
3.0,目前支持四种语言,java,groovy,ruby和javascript
上次看说打算3.0一开始只支持java和javascript
但是这次出来多了另外两个,哦也
几个重要的features
1)官方web framework,可以直接当web server用了
2)rx和rx stream的支持,streaming的支持很重要
3)jdbc支持,现在不用为jdbc是同步的烦恼了,可以直接连db了
4)mongo和redis的支持,c*支持还在制作中
5)docker的支持,qa和operation应该喜欢这个
6)去掉了对gradle以及maven的依赖,不再需要这两个生成模板
可用可不用,对于不会用maven和gradle的笨蛋来说,是一个福音
7)去掉了对eclipse等ide的依赖,用vi一样可以可以很容易hello world
是不会用eclipse笨蛋的福音,当然你在ide中一样可以轻松debug
8)可以直接使用node.js的npm
9)metrics支持,这个没太看懂是啥,目前支持java,groovy和ruby
10)jmx,jca的支持,企业用户的福音
11)多线程以及thread pool的支持
12)clustering的支持
基本上涵盖了最新的流行的异步框架,数据连接,message等
绝大多数都是optional,也就意味着你可以选择你所需要的部分插入使用
不用的话,不懂也没关系,vert.x的核心很小,几十m而已
最重要的是,vert.x从来都以良好的文档著称
你不再需要面对晦涩难懂的所谓的技术文档瞎子摸象了
iq正常的人可以在5分钟之内根据官方网站以及github上的examples做出自己的东东
不信的话,自己试试看5分钟之内hello world是否能出来,我说了也没用不是? |
z*******3 发帖数: 13709 | 2 vert.x最有趣的就是想怎么做就怎么做
比如有人为了vert.x 3做了typescript的语言support
https://github.com/michel-kraemer/vertx-lang-typescript
还有人正在做php的vert.x 3的support
社区有人提议过做lua的support,不过这些语言都比较小众
除了第一个以外,其他两个都缺人投入
官方语言支持,在3.1可能会加入
clojure
scala
python
和ceylon
客户端方面,除了自己倒腾tcp,udp,http这些以外
目前vert.x bus的客户端有c++版本
我看了下,好像bus通信用的是websocket
算了,这个协议不熟悉,还是直接用udp吧,省得麻烦
听说fb用这个协议比较多
vert.x最好一点就是,无论它做什么
都留下来足够的余地让你自由选择
比如做web,光一个html template
就可以选择
Handlebars
Jade,
MVEL
Thymeleaf
这样你熟悉哪个,就可以用哪个
就很像eclipse当年成功的经验,它只做一些基本的功能
剩下的东西,用template和plugin去扩展
每个人的eclipse都是不一样的,这就保证了共性之上有了差异性
共性就是人们对于framework,libs这些的需求
差异性则是每个人自己需要实现和熟悉的部分
什么东西都自己去做,把自己累死,对于懒人比如我来说,是很痛苦的一件事
什么东西都交给框架去做,那最后离开了框架,啥都做不了,只要框架不支持
你做起来就很痛苦,不自由,被框架限制死鸟
vert.x在懒惰与自由之间找到了一个很好的平衡点 |
p***o 发帖数: 1252 | 3 eventbus和v2的能不能兼容?
【在 z*******3 的大作中提到】 : vert.x最有趣的就是想怎么做就怎么做 : 比如有人为了vert.x 3做了typescript的语言support : https://github.com/michel-kraemer/vertx-lang-typescript : 还有人正在做php的vert.x 3的support : 社区有人提议过做lua的support,不过这些语言都比较小众 : 除了第一个以外,其他两个都缺人投入 : 官方语言支持,在3.1可能会加入 : clojure : scala : python
|
d*******r 发帖数: 3299 | 4 8) 跟之前那个 http://nodyn.io/ 是什么关系?
题外话, 用 vertx 是不是跟 Spring 一点关系都不搭, 可以不需要了解吧
【在 z*******3 的大作中提到】 : http://vertx.io/ : 3.0,目前支持四种语言,java,groovy,ruby和javascript : 上次看说打算3.0一开始只支持java和javascript : 但是这次出来多了另外两个,哦也 : 几个重要的features : 1)官方web framework,可以直接当web server用了 : 2)rx和rx stream的支持,streaming的支持很重要 : 3)jdbc支持,现在不用为jdbc是同步的烦恼了,可以直接连db了 : 4)mongo和redis的支持,c*支持还在制作中 : 5)docker的支持,qa和operation应该喜欢这个
|
l**********n 发帖数: 8443 | 5 vertx和node什么关系?vertx能用npm吗? |
z*******3 发帖数: 13709 | 6 eventbus部分我看他们并没有做什么改动
基本上还是原来那个,但是v2时代没有什么eventbus相关的产品吧?
v3也不过才做出第一个c++的客户端,其他的都没有看到
听说他们想做ios和android的客户端,但是目前这个优先级还比较低
还没有看到有谁打算去实现,只是tim等人的一个设想而已
如果你已经做了或者用了什么,你可以试试看,应该不会有太大问题
但是不确定,eventbus这一块对于用户来说是透明的,所以参考资料不是很多
如果想通信的话,可以直接用udp或者tcp或者http跟vert.x通信
用verticle伺候就好了,不需要直接塞入eventbus
【在 p***o 的大作中提到】 : eventbus和v2的能不能兼容?
|
z*******3 发帖数: 13709 | 7
这一批人都是red hat那个项目组的project odd
http://projectodd.org/
vert.x曾经也是这个项目组的一员
那个项目组还做了很多除了vert.x以外的其他东西
比如不同的jvm上的js引擎
因为他们对于rhino也就是mozilla的js引擎在jvm上实现的效率不满意
所以自己搞了一个,v3用的是red hat开发的js引擎nashorn,而非mozilla的rhino
还有jruby,也是red hat跟东京大学在搞
目标就是不需要修改ror的ruby代码可以直接移植到jvm上运行
这个也是他们项目组在搞
然后你说的这个,就是打算搬运npm到jvm上去运行
或者确切点说就是搬运到vert.x上运行,跟ror类似
不需要修改npm就可以运行,当然这个非常理想,还是有小部分npm无法用
因为npm有些不是js写的,js写的问题不大,但是如果是c写的npm
为了兼顾跨平台,所以就不得不抛弃了
vert.x和spring可以说完全没关系
vert.x跟spring有过一个讨论,community尤其是java的开发人员
都认为spring是by default 企业王者,所以就在讨论是否要将spring
确切滴说就是ioc,搞入vert.x,但是导致其他语言的开发者反对
主要原因是其他语言做不到像java那样的ioc,很多语言都是1st class func
这个没办法inject,因为要inject需要一个object作为proxy
纯粹的oop比如java,做这个很自然而然,因为什么都是obj
但是支持1st class func的就找不到这么一个obj,所以为了保持接口的相同
暂时官方不支持spring以及ioc,但是如果你想用ioc
还是可以找到很多类库来支持的,但是仅支持java语言
v3大部分实现语言是通过codgen自动生成的
自动转换java代码为其他代码,目前脚本部分都已经完成,所以第一批出来的
基本上都是脚本,js, groovy和ruby,非官方的typescript也搞定了
第二批主要是伺候python(半脚本),clojure(fp),ceylon
最难的是scala,因为大量的api不一致,导致很多地方需要重新实现
所以核心开发人员在抱怨,v2好容易写完了,v3又是一大堆工作要做
【在 d*******r 的大作中提到】 : 8) 跟之前那个 http://nodyn.io/ 是什么关系? : 题外话, 用 vertx 是不是跟 Spring 一点关系都不搭, 可以不需要了解吧
|
z*******3 发帖数: 13709 | 8
简单说,可以用
确切点说,绝大部分可以
除了一些c写的npm,还是没有办法直接用
node可以不管跨平台,但是对于jvm上的东西来说
跨平台是必需的,所以如果想用这部分npm,需要换其他类库
jvm上有的是其他类库/轮子可以用,随便选
【在 l**********n 的大作中提到】 : vertx和node什么关系?vertx能用npm吗?
|
z*******3 发帖数: 13709 | 9 速度方面
v3号称超过以前所有版本
2013年时候,vert.x在比拼中有些测试高居所有web server/framework第一位
http://www.techempower.com/benchmarks/#section=data-r8&hw=i7&te
14年和15年时候为了制作v3,tim要求撤下了结果
现在新版本出来了,期待vert.x再次加入比拼
跟vert.x师出同门的red hat的undertow表现非常亮眼啊
http://www.techempower.com/benchmarks/#section=data-r9&hw=i7&te
排第一的是oracle/sun的glassfish的grizzly
但是这个跟undertow主要还是伺候http,适用范围略微不同
不像vert.x那么宽泛,啥都可以做
期待新一轮的速度比拼 |
p***o 发帖数: 1252 | 10 我的意思是说在把已有的v2的module都更新到v3之前,两个版本的
module能不能通过eventbus在cluster中共存。
【在 z*******3 的大作中提到】 : eventbus部分我看他们并没有做什么改动 : 基本上还是原来那个,但是v2时代没有什么eventbus相关的产品吧? : v3也不过才做出第一个c++的客户端,其他的都没有看到 : 听说他们想做ios和android的客户端,但是目前这个优先级还比较低 : 还没有看到有谁打算去实现,只是tim等人的一个设想而已 : 如果你已经做了或者用了什么,你可以试试看,应该不会有太大问题 : 但是不确定,eventbus这一块对于用户来说是透明的,所以参考资料不是很多 : 如果想通信的话,可以直接用udp或者tcp或者http跟vert.x通信 : 用verticle伺候就好了,不需要直接塞入eventbus
|
z*******3 发帖数: 13709 | 11
都是用web socket的应该可以
不过没试过,去社区问问他们?
【在 p***o 的大作中提到】 : 我的意思是说在把已有的v2的module都更新到v3之前,两个版本的 : module能不能通过eventbus在cluster中共存。
|