Tutorial de Catalyst Framework
Publicado: 2013-10-03 05:03 @252
A partir de hoy y durante varios días publicaré un pequeño tutorial para los que quieran probrar este framework.
El ambiente de trabajo que he usado para hacerlo ha sido un PC con Arch Linux (https://www.archlinux.org/); Kernel 3.7.8-1; MySQL 5.5; Catalyst 5.90020
Lección 1. Instalación de las herramientas necesarias: Catalyst Framework, MySQL...
Instalación de Catalyst
Si se usa Debian/Ubuntu se puede instalar desde apt-get, aunque no contaríamos con la última versión de Catalyst.
Se recomienda instalar mejor desde cpan.
También se puede instalar ejecutando:
Si queremos que instale los módulos y dependencias necesarias sin tener que estar pendiente de decirle que sí a todo, ejecutamos:
Recuerde que si decide instalar el Catalyst usando cpan se debe tener instaladas primero las herramientas necesarias (make, gcc) para compilar en nuestra distribución preferida de Linux.
Una vez instalado y dependiendo de lo que queramos hacer, es necesario ir añadiendo algunos módulos y complementos. Para este proyecto usaremos:
Los tres primeros módulos para trabajar con la base de datos, los dos siguientes son los complementos que requiere Catalyst para funcionar con DBI. El último es un "sistema de procesamiento de plantillas rápido, flexible y altamente extensible... fue creado específicamente para permitir a los diseñadores web y desarrolladores centrarse en la generación de páginas web sin empantanarse en materia de programación" (http://www.template-toolkit.org/). No es el único del que disponemos en Perl. Están Mason 2 y HTML::Template. Uso TT porque me gusta más
El proceso de instalación puede tardar un buen rato, depende de la velocidad de conexión a Internet así como de la potencia de nuestro PC.
Tras finalizar el proceso de instalación, ya se puede crear una aplicación. Para ello ejecutamos:
El comando catalyst.pl crea la estructura y los archivos necesarios para empezar a trabajar. Una vez ejecutado en nuestra terminal veremos:
Nos cambiamos a la carpeta Proyecto1/ y ejecutamos proyecto1_server.pl que se encuentra dentro de la carpeta script/.
Con esta instrucción tenemos ya disponible la aplicación recién creada accesible desde nuestro navegador web:
http://localhost:3000
Se nos muestra la pagina genérica que trae el framework.
Si no tenemos instalado MySQL, ahora sería el mejor momento para instalarlo. Lo dejamos a elección del lector el método seleccionado para su instalación. Depende, claro, de la distribución de Linux que usemos.
Si desea saber más sobre la instalación de Catalyst, recomendamos leer http://wiki.catalystframework.org/wiki/ ... ngcatalyst
Eso es todo por hoy. En la próxima entrega crearemos una base de datos en Mysql y trataremos de explicar un poco la organización del framework.
El ambiente de trabajo que he usado para hacerlo ha sido un PC con Arch Linux (https://www.archlinux.org/); Kernel 3.7.8-1; MySQL 5.5; Catalyst 5.90020
Lección 1. Instalación de las herramientas necesarias: Catalyst Framework, MySQL...
Instalación de Catalyst
Si se usa Debian/Ubuntu se puede instalar desde apt-get, aunque no contaríamos con la última versión de Catalyst.
Se recomienda instalar mejor desde cpan.
Using bash Syntax Highlighting
- perl -MCPAN -e 'install Catalyst::Runtime'
- perl -MCPAN -e 'install Catalyst::Devel'
Coloreado en 0.003 segundos, usando GeSHi 1.0.8.4
También se puede instalar ejecutando:
Using bash Syntax Highlighting
- cpan Catalyst::Runtime
- cpan Catalyst::Devel
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4
Si queremos que instale los módulos y dependencias necesarias sin tener que estar pendiente de decirle que sí a todo, ejecutamos:
Using bash Syntax Highlighting
- PERL_MM_USE_DEFAULT=1 cpan Catalyst::Runtime Catalyst::Devel
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4
Recuerde que si decide instalar el Catalyst usando cpan se debe tener instaladas primero las herramientas necesarias (make, gcc) para compilar en nuestra distribución preferida de Linux.
Una vez instalado y dependiendo de lo que queramos hacer, es necesario ir añadiendo algunos módulos y complementos. Para este proyecto usaremos:
Using bash Syntax Highlighting
- perl -MCPAN -e 'install DBIx::Class'
- perl -MCPAN -e 'install DBIx::Class::TimeStamp'
- perl -MCPAN -e 'install DBIx::Class::PassphraseColumn'
- perl -MCPAN -e 'install Catalyst::Model::DBIC::Schema'
- perl -MCPAN -e 'install Catalyst::Model::DBIC::Schema::Types'
- perl -MCPAN -e 'install Catalyst::Plugin::DateTime'
- perl -MCPAN -e 'install Template Toolkit'
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4
Los tres primeros módulos para trabajar con la base de datos, los dos siguientes son los complementos que requiere Catalyst para funcionar con DBI. El último es un "sistema de procesamiento de plantillas rápido, flexible y altamente extensible... fue creado específicamente para permitir a los diseñadores web y desarrolladores centrarse en la generación de páginas web sin empantanarse en materia de programación" (http://www.template-toolkit.org/). No es el único del que disponemos en Perl. Están Mason 2 y HTML::Template. Uso TT porque me gusta más
El proceso de instalación puede tardar un buen rato, depende de la velocidad de conexión a Internet así como de la potencia de nuestro PC.
Tras finalizar el proceso de instalación, ya se puede crear una aplicación. Para ello ejecutamos:
Using bash Syntax Highlighting
- catalyst.pl Proyecto1
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4
El comando catalyst.pl crea la estructura y los archivos necesarios para empezar a trabajar. Una vez ejecutado en nuestra terminal veremos:
Using text Syntax Highlighting
created "Proyecto1"
created "Proyecto1/script"
created "Proyecto1/lib"
created "Proyecto1/root"
created "Proyecto1/root/static"
created "Proyecto1/root/static/images"
created "Proyecto1/t"
created "Proyecto1/lib/Proyecto1"
created "Proyecto1/lib/Proyecto1/Model"
created "Proyecto1/lib/Proyecto1/View"
created "Proyecto1/lib/Proyecto1/Controller"
created "Proyecto1/proyecto1.conf"
created "Proyecto1/proyecto1.psgi"
created "Proyecto1/lib/Proyecto1.pm"
created "Proyecto1/lib/Proyecto1/Controller/Root.pm"
created "Proyecto1/README"
created "Proyecto1/Changes"
created "Proyecto1/t/01app.t"
created "Proyecto1/t/02pod.t"
created "Proyecto1/t/03podcoverage.t"
created "Proyecto1/root/static/images/catalyst_logo.png"
created "Proyecto1/root/static/images/btn_120x50_built.png"
created "Proyecto1/root/static/images/btn_120x50_built_shadow.png"
created "Proyecto1/root/static/images/btn_120x50_powered.png"
created "Proyecto1/root/static/images/btn_120x50_powered_shadow.png"
created "Proyecto1/root/static/images/btn_88x31_built.png"
created "Proyecto1/root/static/images/btn_88x31_built_shadow.png"
created "Proyecto1/root/static/images/btn_88x31_powered.png"
created "Proyecto1/root/static/images/btn_88x31_powered_shadow.png"
created "Proyecto1/root/favicon.ico"
created "Proyecto1/Makefile.PL"
created "Proyecto1/script/proyecto1_cgi.pl"
created "Proyecto1/script/proyecto1_fastcgi.pl"
created "Proyecto1/script/proyecto1_server.pl"
created "Proyecto1/script/proyecto1_test.pl"
created "Proyecto1/script/proyecto1_create.pl"
Change to application directory and Run "perl Makefile.PL to make sure your install is complete
created "Proyecto1/script"
created "Proyecto1/lib"
created "Proyecto1/root"
created "Proyecto1/root/static"
created "Proyecto1/root/static/images"
created "Proyecto1/t"
created "Proyecto1/lib/Proyecto1"
created "Proyecto1/lib/Proyecto1/Model"
created "Proyecto1/lib/Proyecto1/View"
created "Proyecto1/lib/Proyecto1/Controller"
created "Proyecto1/proyecto1.conf"
created "Proyecto1/proyecto1.psgi"
created "Proyecto1/lib/Proyecto1.pm"
created "Proyecto1/lib/Proyecto1/Controller/Root.pm"
created "Proyecto1/README"
created "Proyecto1/Changes"
created "Proyecto1/t/01app.t"
created "Proyecto1/t/02pod.t"
created "Proyecto1/t/03podcoverage.t"
created "Proyecto1/root/static/images/catalyst_logo.png"
created "Proyecto1/root/static/images/btn_120x50_built.png"
created "Proyecto1/root/static/images/btn_120x50_built_shadow.png"
created "Proyecto1/root/static/images/btn_120x50_powered.png"
created "Proyecto1/root/static/images/btn_120x50_powered_shadow.png"
created "Proyecto1/root/static/images/btn_88x31_built.png"
created "Proyecto1/root/static/images/btn_88x31_built_shadow.png"
created "Proyecto1/root/static/images/btn_88x31_powered.png"
created "Proyecto1/root/static/images/btn_88x31_powered_shadow.png"
created "Proyecto1/root/favicon.ico"
created "Proyecto1/Makefile.PL"
created "Proyecto1/script/proyecto1_cgi.pl"
created "Proyecto1/script/proyecto1_fastcgi.pl"
created "Proyecto1/script/proyecto1_server.pl"
created "Proyecto1/script/proyecto1_test.pl"
created "Proyecto1/script/proyecto1_create.pl"
Change to application directory and Run "perl Makefile.PL to make sure your install is complete
Coloreado en 0.000 segundos, usando GeSHi 1.0.8.4
Nos cambiamos a la carpeta Proyecto1/ y ejecutamos proyecto1_server.pl que se encuentra dentro de la carpeta script/.
Using bash Syntax Highlighting
- cd Proyecto1
- script/proyecto1_server.pl
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4
Con esta instrucción tenemos ya disponible la aplicación recién creada accesible desde nuestro navegador web:
http://localhost:3000
Se nos muestra la pagina genérica que trae el framework.
Si no tenemos instalado MySQL, ahora sería el mejor momento para instalarlo. Lo dejamos a elección del lector el método seleccionado para su instalación. Depende, claro, de la distribución de Linux que usemos.
Si desea saber más sobre la instalación de Catalyst, recomendamos leer http://wiki.catalystframework.org/wiki/ ... ngcatalyst
Eso es todo por hoy. En la próxima entrega crearemos una base de datos en Mysql y trataremos de explicar un poco la organización del framework.