sno*_*kin 27 model-view-controller perl catalyst dancer
你怎么看待这两个?我开始读一本关于Catalyst的书,发现它与Dancer相比非常复杂.所以现在我正在试试舞者,它看起来更容易学习,更"人性化".
per*_*rin 32
我认为大卫的评论是非常准确和优秀的.然而,作为一个在两者中都做过开发但不是开发人员的人,也许我可以稍微更客观(和技术)的差异.
这两个框架都提供了Web MVC范例的变体.
Catalyst的主要抽象级别是Controller.Catalyst希望您以某种逻辑方式将单独的逻辑分解为单独的包(登录代码在此处,注册代码在那里,搜索功能在这里).如果你有一个程序员团队,这非常有效,因为你们每个人都可以处理单独的文件,而不是在合并期间互相遍历.Catalyst提供了许多工具来使Controller逻辑具有可扩展性和灵活性,我认为这是一个典型的例子,它可以让您为任何给定的请求拆分和构建复杂的流程.缺点是将业务逻辑放入控制器变得非常诱人,并且在控制器中最终会出现非常胖的逻辑(理论上)它属于模型.
舞者的主要抽象层次是路线.我与Dancer的经验是这导致了更小的应用程序.天色这里我的经验与事实色彩,我已经处理了催化剂几千行应用程序,但我还没有写一个舞者的应用程序比200线(与较长的多小的范围).不过我认为这种体验是正确的.Dancer的推动使得Controller逻辑非常薄,因为它没有相同的工具来管理Catalyst所做的复杂行为.
老实说,我很高兴在这两方面工作.他们都对Web应用程序的编写提供了不同的意见.我想,考虑到时间和兴趣,建议学习都少不了.
Dav*_*ous 28
这是一个有点主观的问题,但我会尽量以客观的方式给你答案.首先,免责声明:我是Dancer开发团队的一员,所以我的观点当然应该被认为有些偏见:)
Catalyst比Dancer更广泛使用,因此它背后有更多的社区支持 - 如果您要寻找具有使用任一框架经验的承包商,比如说,您更有可能找到使用Catalyst的开发人员.因此,如果您正在寻找商业支持,那么选择Catalyst将是一个很好的理由.
Dancer是一个更年轻的项目,更倾向于小型项目,使得快速和轻松的起床和跑步,并试图避开你的方式.但这并不是说Dancer不适合大型项目; 保持不受影响的习惯意味着您可以按照适合自己的方式组织项目.
然而,它已经获得了很多支持,并且在IRC和邮件列表上有越来越多的有用用户和开发人员社区,并且越来越多的有用插件一直在发布.与Catalyst一样,Dancer的设计使您可以选择您喜欢的模板引擎,会话存储后端等,如果需要,可以通过编写自己的插件来扩展框架.
有关用户推荐,了解人们对Dancer的看法,请参阅新网站主页底部的部分:http://www.perldancer.org/
为了展示其他选项,还有Mojolicious,这是另一个现代的Perl Web框架,最近越来越受欢迎.