Perl 编程语言的下一代的 Web 框架.

早期互联网,很多人熟悉并了解 Perl 是因为它是有非常优秀的 CGI 的 lib 库, 使用 CGI 模块当时并不同于其它的语言,当时这个不需要开发者掌握太多的 Perl 语言语法规则并且能够让人们在学习和开发应用程序的过程中感受 Perl 的乐趣. 虽然以我们现在的眼光来看以前的这种开发方法已经不在适用于现在的 Web 时代,但是 CGI 的开发思想却对我们有很深的影响。 Mojolicious 正是实现了新的开发思想在而产生的新的开发技术.

特性

直接进入文档

直接跳过其它看我们的文档主页 文档!

安装

你所需要的就是一个单行,它大级需要一分钟的时间.

$ curl -L https://cpanmin.us | perl - -M https://cpan.metacpan.org -n Mojolicious 

入门

这三行是一个完整的应用.

  use Mojolicious::Lite;

  get '/' => {text => 'I ♥ Mojolicious!'};

  app->start;
若是你要运行上面这个例子, 你需要给上面的例子到一个文件中,并使用 "morbo" 来启动它.

$ morbo hello.pl
    Server available at http://127.0.0.1:3000

    $ curl http://127.0.0.1:3000/
    I ♥ Mojolicious!

HTML5的应用程序开发

这个框架可以让 Web 开发变得简单和有趣。

use Mojolicious::Lite;
use 5.20.0;
use experimental 'signatures';

# Render template "index.html.ep" from the DATA section
get '/' => {template => 'index'};

# WebSocket service used by the template to extract the title from a web site
websocket '/title' => sub ($c) {
  $c->on(message => sub ($c, $msg) {
    my $title = $c->ua->get($msg)->res->dom->at('title')->text;
    $c->send($title);
  });
};

app->start;
__DATA__

@@ index.html.ep
% my $url = url_for 'title';
<script>
  var ws = new WebSocket('<%= $url->to_abs %>');
  ws.onmessage = function (event) { document.body.innerHTML += event.data };
  ws.onopen    = function (event) { ws.send('http://mojolicio.us') };
</script>

象这种单文件的原型很容易扩展成有层次结构的大型应用程序。

想了解更多?

看看我们优秀的 文档!