- 论坛徽章:
- 1
|
本帖最后由 py 于 2014-01-07 11:45 编辑
让代码解释一切。- # lib/test.pm
- package test;
- use Dancer ':syntax';
- use AnyEvent;
- our $VERSION = '0.1';
- my $i = 1;
- our $w;
- $w = AnyEvent->timer(after => 1, interval => 1, cb => sub { $i++ });
- get '/' => sub {
- return $i;
- };
- true;
复制代码 这样运行:- plackup -p 80 -s Twiggy bin/app.pl
复制代码 这其实解决了很多问题(至少解决了我很多问题)。可以用事件触发更新,也可以把事件放到路径中,用户访问特定目录触发指定事件做后台处理。
个人认为Dancer缺乏先进性,不是一个纯事件框架,所以没法原生支持事件驱动,还要靠Twiggy这样的东西。
Mojolicious号称支持libev,但看了一下好像也不是原生支持。而且使用的人还是太少,不敢用。
其他的框架就更陈旧了。我觉得现在要是有个牛人用libev+libeio重写一个框架,就类似feersum那样就行。
期待Dancer2...
更新:2014年1月7日
修正错误:Mojolicious就是原生支持libev。
目前Mojolicious的使用者要多于Dancer,并且可以很负责任地说,Mojolicious远先进于Dancer。新开始的项目一定要用Mojolicious |
|