在Perl中提出一些好的MVC框架
我们能为perl建议一些好的MVC框架吗?我知道这是一个催化剂
需要能够在perl基础结构上公开服务,这些服务可以被Java / .Net应用程序无缝调用。
解决方案
回答
现在,我将告诉我们,就快速的应用程序开发MVC框架而言,Catalyst在Perl开发人员中享有最佳声誉。
就"纯" MVC而言,我不确定甚至还有很多"成熟"或者至少是可用于生产的替代品。
如果Catalyst不合适,那么我们可以基于轻量级框架CGI :: Application来满足需求,或者看看一些鲜为人知的MVC框架,例如PageKit和Maypole。
回答
催化剂就是要走的路。还有Jifty,但是(我上次看)它有糟糕的文档。
回答
对于问题,我将研究Jifty :: Plugin :: REST,它允许使用各种格式访问模型和动作。
我只是说Jifty没有糟糕的文档。但是,其中包含的大多数文档都是API文档,但是有一个非常低噪声的邮件列表,其中包含有用的提示和应用程序链接。
Wiki(http://jifty.org/)是另一种有用的资源。
如果目标是在下午制作视频存储(我最喜欢的4GL和CRUD框架基准测试),那么真的值得一看!
回答
如果我们已经了解Catalyst,则建议我们重点关注它。它是成熟的,有据可查的,并且具有庞大的用户群,社区和插件集合。
回答
除了已经提到的之外,另一种选择是连续性。但是,它(如名称所暗示的那样)是基于连续的,而不是典型意义上的MVC。仍然值得一提,因为它是更好的Perl Web框架之一。
就是说,我比任何其他替代品都更喜欢Catalyst。而且它一直在变得越来越好!不利之处在于,当前的首选编码方法仍在匆匆忙忙地发展着,但是在最后几个版本中,一直非常强调API兼容性,因此现在的负担主要是精神上的而不是管理上的。特别是即将到来的Moose内部构件端口将提供一些出色的好处。
但是,支持Catalyst(IMO)的最大论点是链式调度类型。我在所有的web-framework-dom中都没有看到过这样的东西,它是使代码尽可能保持DRY的最佳工具。这与Catalyst提供的另一个很棒的东西很好地结合在一起,即uri_for方法,该方法接受控制器和一堆参数,然后构造一个URI,该URI将分派到该地方,并返回该地方。总之,这些功能意味着我们可以按照自己认为正确的任何方式来构造URI空间,同时可以构造控制器以避免逻辑上的重复,并使模板独立于URI结构。
真是太好了。
回答
另一个选择是Gantry,当与BigTop模块结合使用时,它可以减少构建简单CRUD站点所需的时间。
回答
别人提出的第二点意见:催化剂(或者多或者少来自五月柱公司)是迄今为止最完整,最强大的催化剂。乔纳森·洛克威(Jonathan Rockway)有一本书肯定会掌握它。
除了'Chained'调度类型外,:Regex(和:LocalRegex)调度方法还提供了极大的灵活性。我们在这里构建的最新应用程序通过使用:LocalRegex的少数子程序支持许多不同的URL。
我还特别喜欢我们不局限于特定的模板语言或者数据库这一事实。邮件列表(和书)都具有Template :: Toolkit(与我一样)和DBIx :: Class(我们继续使用Class :: DBI)的首选项,但是我们可以使用几乎所有喜欢的东西。催化剂是如此不可知的。
Catalyst似乎需要CPAN的一半作为依赖关系,这一点不要被推迟。一旦启动并运行,它就是一台运转良好的机器。现在,它已经达到了成熟的水平,一旦我们掌握了它,就会发现它"逐渐淡出了背景"。我们花费时间解决业务需求,而不是与使用的工具作斗争。
它按照锡罐上的说明去做。催化剂++
回答
还有CGI :: Application,它更像框架的内胆。它可以帮助一个人编写基本的CGI,并在其上粘贴一些位,以使其随心所欲地定制。因此,我们几乎可以不使用任何模块,也可以几乎不使用任何模块。
回答
最近几天一直在玩Squatting,我不得不说它看起来非常有前途,而且使用起来很有趣。
它是一个微型网络框架(或者网络微型框架;-),并受到以Ruby编写的Camping的严重影响。
注意蹲(&Camping)没有将模型组件烘焙到框架中。这是作者对模型的评论..."模型?整个世界就是模型。;-)我一直对在此定义策略抱有矛盾。使用对我们有用的任何东西"
回答
我还建议我们使用Clearpress作为有用的数据库支持应用程序。它比Catalyst需要更少的依赖项。我们已经用它编写了一些大型应用程序,并且我使用它来运行羽毛球梯网站。