【问题标题】:Is Catalyst+Mason+Template::Toolkit worth learning rather than sticking to LAMP+Axkit?Catalyst+Mason+Template::Toolkit 是否值得学习而不是固守 LAMP+Axkit?
【发布时间】:2010-09-27 12:05:48
【问题描述】:

目前我正在使用 Unix + Mysql + Perl + Apache 和一些 javascript 来使其更像 ajax。而且我一直在寻找 web 2.0 和 stackoverflow 的网站,并且非常喜欢简单的设计以及页面和操作等的流畅流程。

我正在尝试确定学习催化剂、mason 等是否能够让我能够以更少的工作量和更容易和更清洁的代码构建强大而流畅的 web 2.0 网站,以便以后维护。

截至目前,我不太喜欢我建立的网站,因为它非常陈旧且缓慢。但是i've read from here 如果我想以此为职业,那么 LAMP 会是更好的选择吗?

只是想知道根据这三个标准,我最好的进步是什么?

  1. 职业发展
  2. 轻松构建强大的 web 2.0 网站
  3. Catalyst 在哪些方面实际上比 LAMP 更好?

谢谢。 〜史蒂夫

【问题讨论】:

  • Catalyst Mason 和 Template::Toolkit,都可以成为 LAMP 的一部分,因为它们在 Perl 下运行。
  • 好吧,澄清一下,实际上我只使用 mod_perl 并利用 axkit 将 xml 数据 + xsl 转换为 html,并且想知道是否有更强大和更有效的方法来做到这一点。到目前为止,您需要单独处理每个项目。
  • s/坚持LAMP/坚持LAMP + axkit/;
  • LAMP == Linux + Apache + MySql + Perl

标签: perl exchange-server web-frameworks catalyst


【解决方案1】:

回答您的问题....

  1. “职业发展” - MVC 是一种很好的编程实践,因此获得有关它的知识和经验肯定会增强你的职业潜力。

  2. “轻松构建强大的 web 2.0 网站” - Catalyst 确实让这件事变得容易多了,因为已经有人参与并完成了它(即 CPAN 上的模块)。

  3. “Catalyst 在哪些方面实际上比 LAMP 更好?” - 实际上它们只是不同而已。然而,Catalyst 确实执行了一个清晰的编程范式 (MVC),这使得测试、重构、生成可重用代码等等变得更加容易......恕我直言 ;-)

希望这会有所帮助。

PS。 Catalyst 是 Perl 上的 Web (MVC) 框架之父,我强烈推荐它。但是请检查替代方案...Suggest some Good MVC Framework in Perl

PPS。可以在Perl5 Wiki 上找到一个很好的 Web 框架列表(不仅仅是 MVC 框架)。

购买力平价。 Perl 是并将继续是 web (2.0) 开发的好选择(即忽略 FUD)。如果碰巧我错了,那么学习 Catalyst / MVC 之类的东西将为您提供必要的技能,这些技能很容易适应其他地方。

【讨论】:

  • 但是目前我们正在使用 mod_perl + apache + axkit,尝试使用 Catalyst 是否需要任何重大的基础更改,或者我需要自己学习这一点?谢谢。
  • AxKit 很不错。我记得以前用过。也许你不需要搬家? (但是说我似乎记得 AxKit 2.0 从来没有出现过.. 耻辱)。 Catalyst / LAMP / 其他框架不是 XML 应用服务器,因此它们是“不同的”,因此需要一些工作量。
  • 回复:以上。我认为 Catalyst 可能是您的最佳选择。 Catalyst 与 mod_perl 一起工作,并且在涉及到其使用的模型和视图时也是不可知的,因此您可能至少在过渡期间能够与您当前的代码(例如 XSP 视图)集成。
  • ok 听起来很棒,因为我听到了很多关于 Catalyst 的好消息,我确实想提高我的 Web 开发能力和选项。谢谢。
【解决方案2】:

LAMP 是 Linux、Apache、Mysql 和 Perl。那只是一个堆栈。如果您使用 Perl Web 框架,那么您仍然在使用 Perl。您并没有真正在 LAMP 和 Catalyst 或 Mason 之间进行选择。

【讨论】:

  • 嗯,P 可以是 PHP、Perl 或 Python :-)
  • P 可以,但正如问题文本中所述,他正在使用 Perl P。:)
【解决方案3】:

Catalyst 似乎是一个非常好的框架,尤其是与Template Toolkit 结合使用时。如果你想学习 Catalyst,我肯定会通读 Catalyst tutorial

Template Toolkit 在我看来是一个比Mason 更强大的模板处理系统。

我个人认为Template Toolkit 值得学习,即使你不将它用于网络。

Template-Toolkit.org复制的代码

[% FOREACH 人 IN 人 %] [% IF 循环。第一个 %] 排名 姓名 电子邮件 [% 结尾 %] [% loop.count %] [% person.name %] [% person.email %] [% IF 循环.last %] [% 结尾 %] [% 结尾 %]

您甚至可以将Perl 代码直接嵌入到您的模板中。必须启用 EVAL_PERL 选项才能评估 Perl 代码。

[% 尝试 %] [% PERL %] die "没有什么可活的\n"; [% 结尾 %] [% 抓住 %] 错误:[% error.info %] [% 结尾 %]

【讨论】:

  • 目前我们正在使用 axkit,因此我可以将变量嵌入到我的 xsl 中并动态转换它们,因此使用 xslt 和 xpath 我觉得我可以实现相同的目标。那么如果我学习 template::toolkit 有什么好处吗?
  • “在我看来,模板工具包是一个比 Mason 更有能力的模板处理系统。”嗯? Mason 允许您在模板中嵌入 Perl,并为您提供 Perl 的全部功能。 TT是一种迷你语言!现在,很多人更喜欢迷你语言,但你的情况完全倒退了。
  • 您可以在 TT 中嵌入 Perl 代码。您基本上必须了解 Perl 才能使用 Mason 完成任何工作,如果您让其他人设计您的网站,这很糟糕。在 TT TIMTOWTDI 中,这实际上使它在精神上更像 Perl。
  • 我什至敢说 TT 比 Mason 更有“光彩”。
【解决方案4】:

我知道这个帖子很老了,但我会贡献一个想法。恕我直言,学习新东西总是值得的,即使你认为你不会专业地使用它。接触新代码几乎总能带来新的见解。这些见解可能是否定的:“他们为什么要那样做?这没有意义?”。但我认为更多时候你会提出一种看待事物的新方式,或者一种解决常见问题的新方法。

这些见解有助于防止程序员变得陈旧。也许这就是为什么这么多人编写自己的编程语言,或者正在重新发明轮子等等。

【讨论】:

    【解决方案5】:

    我同意 Dave Rolsky 的观点:称 TT 比 Mason“更有能力”是一个糟糕的选择。喜欢 TT 的人似乎喜欢它,因为它应该更“干净”。从 Mason 来到 TT,TT 感觉就像一件相当紧的直筒夹克。假设您很可能在 TT 和 Mason 内部都“拥有 perl 的全部功能”,但是对它的访问是被掩埋的,事实上,如果它不被掩埋,它就会失去它的一个真正卖点:它不会t 看起来“更干净”了。

    我自己,我不确定我是否会承认 TT 更“干净”(如果 perl 人不再将反 perl 抹黑运动中的言论内化,并克服这种自卑情结,那就太酷了)。如果这个想法是 web-monkeys 应该在 TT 而不是 Mason 中更好地修改控制结构,我建议这不成立:我希望他们通常需要真正的程序员的帮助在任何情况下。

    【讨论】:

      猜你喜欢
      • 2010-11-23
      • 2010-10-22
      • 2013-02-04
      • 1970-01-01
      • 2012-02-08
      • 2018-01-19
      • 2013-05-17
      • 2014-07-18
      • 1970-01-01
      相关资源
      最近更新 更多