Perl 的 Web 框架,Mojolicious 3.0 发布

jopen 10年前
   <p><a href="/misc/goto?guid=4958194010835348564" target="_blank">Mojolicious </a>是下一代的 Perl 语言的 Web 编程框架,提供强大的功能而无需第三方包依赖,功能包括:RESTful 的路由、插件管理、Perl风格的模板系统、会话管理、签名的 cookie、静态文件服务、测试框架、文件级的Unicode支持等等。</p>    <p>同时 Mojolicious 也是一个全堆栈的 HTTP/1.1 和 WebSocket 的客户端和服务器端的实现,还包括 TLS、Gonjour、IDNA、Comet、Chunking和 multipart支持。内建支持 Linux epoll、kqueue以及Unix Domain套接字的Web服务器。自动检测 CGI, FastCGI, 和 PSGI。提供 JSON 以及 XML/HTML5 的解析器,支持 CSS3 的选择器。</p>    <p>Mojolicious 3.0 发布了,主要改进包括:</p>    <ul>     <li><strong>TLS and IPv6:</strong> Support for both has been greatly improved.</li>     <li><strong>Commands:</strong> The command system has been completely revamped. (<a href="/misc/goto?guid=4958345859153849947">example</a>)</li>     <li><strong>Plugins:</strong> Generator and CPAN upload commands make extending Mojolicious easier than ever. (<a href="/misc/goto?guid=4958345859953306781">example</a>)</li>     <li><strong>Event loops:</strong> Mojolicious no longer needs to control the event loop. (<a href="/misc/goto?guid=4958345860750027365">example</a>)</li>     <li><strong>Content negotiation:</strong> Write more RESTful web services. (<a href="/misc/goto?guid=4958345861551306778">example</a>)</li>     <li><strong>JSON Pointers:</strong> Many features dealing with JSON got a lot smarter. (<a href="/misc/goto?guid=4958345862351239080">example</a>)</li>     <li><strong>Flexible router:</strong> Routes can now be rearranged. (<a href="/misc/goto?guid=4958345863152645886">example</a>)</li>     <li><strong>Flexible renderer:</strong> Serve templates and static files from as many DATA sections and paths as you like. (<a href="/misc/goto?guid=4958345863942454546">example</a>)</li>     <li><strong>Asset plugins:</strong> Easily bundle assets such templates and static files with plugins. (<a href="/misc/goto?guid=4958345864732008053">example</a>)</li>     <li><strong>Not found page:</strong> Is now actually a <a href="/misc/goto?guid=4958345865529266599">development tool</a>.</li>     <li><strong>Hypnotoad:</strong> Doesn't require a separate configuration file anymore. (<a href="/misc/goto?guid=4958345866313325329">example</a>)</li>     <li><strong>WebSockets:</strong> Fully <a href="/misc/goto?guid=4958345867111016413">RFC 6455</a> compliant. (<a href="/misc/goto?guid=4958345867905822582">example</a>)</li>     <li><strong>Relaxed placeholders: </strong>Now look like "/#foo" instead of "/(.foo)". (<a href="/misc/goto?guid=4958345868701310195">example</a>)</li>     <li><strong>I18N plugin:</strong> Maintained as a <a href="/misc/goto?guid=4958345869494815785">separate distribution</a>.</li>    </ul>    <p>完整内容请看 <a href="/misc/goto?guid=4958345870284361863">Changes</a></p>    <p></p>