X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=catagits%2FCatalyst-Runtime.git;a=blobdiff_plain;f=lib%2FCatalyst%2FManual%2FIntro.pod;h=314ced440d5ee1d260f0d8ff0a6ec57426e95e0f;hp=c4460146a4ede6fd7aa9cd3bf16adb4029c9a78b;hb=141459fa3fc9852fd6f05138caddb410bbe2949c;hpb=e178a66a280ae154d84488ddce8aa85599a32ac2 diff --git a/lib/Catalyst/Manual/Intro.pod b/lib/Catalyst/Manual/Intro.pod index c446014..314ced4 100644 --- a/lib/Catalyst/Manual/Intro.pod +++ b/lib/Catalyst/Manual/Intro.pod @@ -4,15 +4,26 @@ Catalyst::Manual::Intro - Introduction to Catalyst =head1 DESCRIPTION -This is a brief overview of why and how to use Catalyst. It explains how -Catalyst works and shows how to get a simple application up and running -quickly. +This is a brief introduction to Catalyst. It explains the most important +features of how Catalyst works and shows how to get a simple application +up and running quickly. For an introduction (without code) to Catalyst +itself, and why you should be using it, see L. +For a systematic step-by-step introduction to writing an application +with Catalyst, see L. =head2 What is Catalyst? Catalyst is an elegant web application framework, extremely flexible yet -extremely simple. It's similar to Ruby on Rails, Spring (Java) and -L, upon which it was originally based. +extremely simple. It's similar to Ruby on Rails, Spring (Java), and +L, upon which it was originally based. Its most important +design philosphy is to provide easy access to all the tools you need to +develop web applications, with few restrictions on how you need to use +these tools. Under Catalyst, it is always possible to do things in a +different way. However, this does mean that it is always possible to do +things in a different way. Other web frameworks are simpler to use and +easy to get up and running, but achieve this by locking the programmer +into a single set of tools. Catalyst's emphasis on flexibility means +that you have to think more to use it. We view this as a feature. =head3 MVC @@ -30,7 +41,8 @@ well-known Perl modules you may want to use for each. =item * B -Access and modify content (data). L, L, L... +Access and modify content (data). L, L, +L, L... =item * B @@ -40,15 +52,15 @@ L, L... =item * B Control the whole request phase, check parameters, dispatch actions, flow -control. Catalyst! +control. Catalyst itself! =back -If you're unfamiliar with MVC and design patterns, you may want to check -out the original book on the subject, I, by Gamma, -Helm, Johnson, and Vlissides, also known as the Gang of Four (GoF). You -can also just Google it. Many, many web application frameworks are -based on MVC, including all those listed above. +If you're unfamiliar with MVC and design patterns, you may want to +check out the original book on the subject, I, by +Gamma, Helm, Johnson, and Vlissides, also known as the Gang of Four +(GoF). Many, many web application frameworks are based on MVC, which +is becoming a popular design method for web applications. =head3 Flexibility @@ -78,7 +90,7 @@ multiple Catalyst applications. =item * B -Catalyst allows you to dispatch any URLs to any application L, +Catalyst allows you to dispatch any URLs to any application L, even through regular expressions! Unlike most other frameworks, it doesn't require mod_rewrite or class and method names in URLs. @@ -108,7 +120,7 @@ simple way. =item * B Components interoperate very smoothly. For example, Catalyst -automatically makes a L object available to every +automatically makes a L object available to every component. Via the context, you can access the request object, share data between components, and control the flow of your application. Building a Catalyst application feels a lot like snapping @@ -121,8 +133,8 @@ and loads them. =item * B -See L for L, or L -for L