Catalyst, Catalyst, Catalyst.
- SQL abstraction
- All data level interaction is abstracted in Catalyst in a way that it's not in, say, RoR. You can use any SQL kit (most choose DBIx::Class but Rose::DB is also popular), you can use anything as your model and you can have as many models in your app as you like; from Berkeley to CSV to webservice calls to IPC::Run wrappers on other tools.
- Multi-language support (e.g. via templates)
- Yep. Though I'm not versed in this, many folks are doing it and there are at least two major il8n kits in Perl and views in Cat are like Models. You can have as many as you like and they can be anything you like.
- Support for basic mechanisms like user sign-up, sessions
- Mostly. Sign-up will never be completely abstracted except in tied-down frameworks because if you ask 5 devs what constitutes a user account, you'll get 10 answers.
- AJAX abstraction
- Same as the view. There are some ready-made pieces but you might have to write your own JS if you're serious about it. The view stuff in Cat can be amazing. The same method/URI for example can return JSON, XML, HTML, YAML, whatever, based on the accept headers the client has sent.
It would be a plus if the system would run (albeit slowly) under CGI as well, which would enable me to prototype it on my current host first without having to find a mod_perl server.
Even better it has several engines including one that runs as a persistent (test) server with immediate, automatic restarts . You could use it on some hosts but developing on a live server is usually a mistake. Just do it at home. It's faster, easier, and more fun. If you follow best practices with your Cat stuff it will also be easy to deploy anywhere else. Since RoR is gaining popularity, many more hosts support fcgi than used to. Cat apps run great on it. A small one might be bearable on CGI but you want fastcgi, mod_perl, or the test server (some folks are running it in personal production set-ups).
Cat is 4, maybe 5, years old, I think. I've been using it for most of that time. It's not trivial to learn how to use it but once you do, writing web apps with it can become so.
Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
Read Where should I post X? if you're not absolutely sure you're posting in the right place.
Please read these before you post! —
Posts may use any of the Perl Monks Approved HTML tags:
You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
- a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
Link using PerlMonks shortcuts! What shortcuts can I use for linking?
See Writeup Formatting Tips and other pages linked from there for more info.
| & || & |
| < || < |
| > || > |
| [ || [ |
| ] || ] ||