Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Is Catalyst+Mason+Template::Toolkit worth learning rather than sticking to LAMP+Axkit?

Currently i'm using pretty much Unix + Mysql + Perl + Apache with some javascript to make it more ajax like. and i've been looking at sites which are web 2.0 and stackoverflow and really like the simple design and the smooth flow from pages and action, etc.

i'm trying to decide if learning catalyst, mason and the likes are going to be able to provide me with the capability to build powerful and smooth web 2.0 website with less effort and easier and cleaner code to maintain later.

as of right now, i don't really like the website that i built as it's pretty much stale and slow. but i've read from here that if i want to build a career out of it, then LAMP would be a better choice?

just wondering in terms of these three criterias, what would be my best step forward?

  1. career development
  2. ease of building powerful web 2.0 websites
  3. in what way is the Catalyst actually better than LAMP?

thanks. ~steve

like image 209
melaos Avatar asked Dec 18 '08 09:12

melaos


3 Answers

Answers to your questions....

  1. "career development" - MVC is a good programming practice so gaining knowledge and experience of it would definitely enhance your career potential.

  2. "ease of building powerful web 2.0 website" - Catalyst certainly make this a lot easier because there are already people that have been there and done it (ie. modules on CPAN).

  3. "in what way is Catalyst actually better than LAMP?" - Well really they're just different. However Catalyst does enforce a clear programming paradigm (MVC) which makes testing, refactoring, producing reusable code and much more a lot easier... IMHO ;-)

Hope this helps.

PS. Catalyst is the daddy of web (MVC) frameworks on Perl and I highly recommend it. However do check out the alternatives... Suggest some Good MVC Framework in Perl.

PPS. A good list of web frameworks (not just MVC ones) can be found on Perl5 Wiki.

PPPS. Perl is and will continue be a good choice for web (2.0) development (ie. ignore the FUD). If by chance I'm wrong then learning something like Catalyst / MVC will provide you with necessary skills which are easily adaptable elsewhere.

like image 142
draegtun Avatar answered Oct 22 '22 04:10

draegtun


LAMP is Linux, Apache, Mysql, and Perl. That's just a stack. If you use a Perl web framework, you're still using Perl. You're not really choosing between LAMP and Catalyst or Mason.

like image 40
brian d foy Avatar answered Oct 22 '22 04:10

brian d foy


Catalyst seems to be a very good framework, especially when coupled with Template Toolkit. If you want to learn Catalyst, I would definitely read through the Catalyst tutorial.

Template Toolkit seems to me to be a more capable template processing system than Mason.

Personally, I think Template Toolkit is worth learning, even if you don't use it for the web.

Code copied from Template-Toolkit.org

[% FOREACH person IN people %]
[%   IF loop.first %]
<table>
  <tr>
    <th>Rank</th>
    <th>Name</th>
    <th>Email</th>
  </tr>
[%   END %]
  <tr>
    <td>[% loop.count %]</td>
    <td>[% person.name %]</td>
    <td>[% person.email %]</td>
  </tr>
[%   IF loop.last %]
</table>
[%   END %]
[% END %]

You can even embed Perl code directly into your templates. The EVAL_PERL option must be enabled for Perl code to be evaluated.

[% TRY %]
   [% PERL %]
      die "nothing to live for\n";
   [% END %]
[% CATCH %]
   error: [% error.info %]
[% END %]
like image 4
Brad Gilbert Avatar answered Oct 22 '22 03:10

Brad Gilbert