我应该使用哪个Perl Web框架?

16

我希望使用Perl开发一个Web应用程序。

推荐一些Perl软件包(例如Strawberry),这些软件包安装简单。同时,它们也适合用于Web应用程序。


5
你能澄清一下你的问题吗?你是在寻找一个Perl的Web框架(例如Python的Django或Ruby的Ruby on Rails)吗?(而且它是Perl,不是PERL)。 - Quentin
1
至于简单的安装,Perl 中几乎所有东西都可以在提示符下键入 cpan Package::Name 进行类型安装(除非您使用 ActiveState,它的打包方式不同,但您已经提到了 Strawberry)。 - Quentin
1
我不懂PERL,我只是刚接触PERL,我在PHP方面有大约3年的经验,所以我可以向初学者提供建议,你可以使用PHP制作各种类型的应用程序,例如登录、外部插件集成、FBconnect等。因此,我想问除了Strawberry PERL之外,是否还有其他具有强大功能的语言? - Bharanikumar
你是在询问应该选择哪个 Perl 发行版吗?(猜测你提到了 Strawberry,所以是在 Windows 上)还是在询问应该选择哪个 Perl Web 开发框架? - DVK
能否更新这里的答案? - BugBuddy
6个回答

31
请查看Mojolicious,一个完整且现代的Web应用程序框架,它的唯一要求是Perl(无需额外的模块!)。
安装它很简单,只需下载Strawberry Perl版本并发出cpan Mojolicious命令:不需要其他依赖项。或者,下载最新的Mojolicioustar.gz,解压缩,并运行perl Makefile.PL && make test install
借助它,您可以获得现代化的Perl Web客户端、服务器、MVC框架、插件、WebSocket和模板引擎……你想要的都有,唯一的要求是Perl(5.8.8+)。
或者,查看Catalyst,它的要求比Mojolicious略高,但也有几本书和更大的社区支持。
您可以安装各种现代化的Perl好东西,只需查看Task::Kensho即可。它旨在拥有开发Web应用程序等所使用的所有现代化Perl模块。如果有任何先决条件不能安装,请报告一个错误,因为它应该可以正常工作。

Mojolicious非常容易安装 - 我甚至成功地将其安装在xampp上。https://dev59.com/u1rUa4cB1Zd3GeqPlJJz#7177318 - Matthew Lock
2
2020年,Mojolicious仍然是首选吗? - BugBuddy

22

尝试使用Dancer - 轻松的Web框架。它非常易于使用。

#!/usr/bin/perl

use Dancer;

get '/hi' => sub {
    "Hello World!"
};

dance();

6

首先,我始终建议使用CGI::ApplicationHTML::Template作为模板引擎来查看。安装和开始使用非常简单,轻量级但仍然具有足够的功能,可以让大家(几乎)满意!


3
由于cgi::app是一个单一的类(每个页面都是一个方法),因此您可以从旧类中继承一个新的cgi::app。这非常有用,因为您可以创建一个具有许多常见方法(如登录/注销等)的通用网站,并为每个新网站继承该类。 - Matthew Lock

4
大约10年前,我忙于使用Embperl 2.0 beta进行全职Web应用程序开发。当时使用它确实很不错。自那时以来,它似乎已经通过错误修复等方式得到了维护,但从根本上讲并没有太大的变化。
几年前,我研究了所有Perl WAFs,但没有找到真正吸引人的东西。在工作中,我们使用Python+Django,但似乎没有一个稳定的Perl版本。
因此,对于任何快速而简单的Web项目,我仍然倾向于使用老牌的CGI.pm。我仍然是一个Perl爱好者。
目前,我再次研究了所有最新的Perl工具包,Mojolicious与DBIx::Class肯定是正确的选择!
但我还没有找到如何轻松构建Mojolicious的数据库应用程序的丰富用户界面的答案,而无需过多担心生成HTML表格和执行常规CRUD操作。

2

我推荐Mojolicious,特别是他们的微型框架Mojolicious::Lite,可以让你快速入门。它没有像Catalyst那样详细的文档,但正在不断完善中。除了核心Perl之外,无需其他依赖项,这应该能帮助你轻松上手。


2
Embperl仍在维护中,虽然邮件列表上的讨论相对较少。
对于小型网站来说,Embperl可能是一个选择。
它在概念上类似于PHP,但更加强大。由于有很多C绑定,速度很快,安装也很容易(最好从命令行安装),最适合与mod_perl一起使用,但也支持CGI操作模式。
尽管我没有使用过所有高级功能(例如嵌入xml-libs、配置https等),但在数据输出方面使用perl非常棒,特别是当你的数据输入方也使用perl时(数据暂存/清洗)。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接