推荐一些好的 Perl 中的 MVC 框架 [关闭]
-
09-06-2019 - |
题
你能为 perl 推荐一些好的 MVC 框架吗——我知道的是 催化剂
需要能够在 Perl 基础设施上公开服务,这些服务可以由 Java/.Net 应用程序无缝调用。
其他提示
除了已经提到的方法之外,另一个选择是连续性;然而,它(正如其名称所暗示的那样)是基于延续的,而不是典型意义上的 MVC。尽管如此,它仍然值得一提,因为它是更好的 Perl Web 框架之一。
也就是说,与任何替代品相比,我更喜欢 Catalyst。而且它还在一直变得更好!其缺点是,当前首选的编码方法继续以相当匆忙的速度发展 - 但对于最后几个版本,人们非常重视 API 兼容性,因此现在的负担主要是精神上的而不是管理上的。特别是即将到来的 Moose 内部移植有望提供一些出色的优势。
但在我看来,支持 Catalyst 的最大论据是链式调度类型。我在整个 web-framework-dom 中都没有见过类似的东西,它是一个最优秀的工具,可以让你的代码尽可能保持干燥。这与 Catalyst 提供的另一项伟大功能相结合,即 uri_for
– 一个方法,它接受一个控制器和一堆参数,然后构造一个 URI,将分派到该位置并返回该位置。总之,这些工具意味着您可以以任何您认为正确的方式构建您的 URI 空间,同时可以构建您的控制器以避免逻辑重复, 和 使模板独立于 URI 结构。
这真是太棒了。
附议其他人的评论:Catalyst(或多或少是从 Maypole 分叉出来的)无疑是其中最完整、最强大的。乔纳森·洛克威(Jonathan Rockway)写的一本书肯定会帮助您掌握它。
除了“链式”调度类型之外,:Regex(和:LocalRegex)调度方法还提供了巨大的灵活性。我们在这里构建的最新应用程序仅通过少数使用 :LocalRegex 的子程序即可支持许多外观不同的 URL。
我还特别喜欢这样一个事实:您不限于特定的模板语言或数据库。邮件列表(和本书)都偏爱 Template::Toolkit(我也是如此)和 DBIx::Class(我们继续使用 Class::DBI),但您几乎可以使用任何您喜欢的东西。Catalyst 在这方面具有惊人的不可知性。
不要因为 Catalyst 似乎需要一半的 CPAN 作为依赖项而推迟。一旦你启动并运行它,它就是一台运转良好的机器。它现在已经达到了成熟的程度,一旦你开始掌握它,你就会发现它“消失在背景中”。您将时间花在解决业务需求上,而不是与您使用的工具作斗争。
它的作用正如罐头上所说的那样。催化剂++
还有 CGI::Application,它更像是框架的核心。它可以帮助人们编写基本的 CGI 并将其粘贴到其上,使其成为他们喜欢的自定义内容。所以你可以让它几乎使用任何模块,或者几乎使用阳光下的每个模块。
催化剂是必经之路。还有 Jifty,但是(我上次看时)它的文档很糟糕。
如果您已经了解 Catalyst,那么我建议您重点关注它。它很成熟,文档齐全,并且拥有非常庞大的用户群、社区和插件集合。
对于您的问题,我将研究 Jifty::Plugin::REST,它允许使用各种格式访问模型和操作。
我只想说,Jifty 没有糟糕的文档。然而,大部分包含的文档都是 API 文档,但也有一个非常低噪音的邮件列表,其中包含有用的提示和应用程序链接。
维基百科在 http://jifty.org/ 是另一个具有有用位的资源。
如果你的目标是在下午制作视频商店(我最喜欢的 4GL 和 CRUD 框架基准),那么它真的值得一看!
另一个选择是 龙门架 当与 BigTop 模块结合使用时,它可以减少构建简单 CRUD 站点所需的时间。
还有 清压机 我可以推荐它作为一个有用的数据库支持的应用程序。它需要的依赖项比 Catalyst 少。我们用它编写了一些大型应用程序,并且我使用它运行了一个羽毛球天梯网站。
我已经构建了一些应用程序 海带, ,它很容易学习并且非常有帮助。