Está en la página 1de 23

Desarrollo ágil de

aplicaciones web
Perl, Python y Ruby ..

Christian Sánchez, Mayo 2010             CNSL Maracay


La Web está cambiando
constantemente
• La tendencia es usar aplicaciones
en la "nube"
• Es más fácil y más rápido hacer
que una aplicación funcione en el
navegador, sin las complicaciones
del modelo cliente - servidor

Desarrollo ágil de aplicaciones web


Es por eso que necesitamos un
framework
¿Y qué es un framework?

Desarrollo ágil de aplicaciones web


Framework

• Es una estructura de soporte definida en la cual otro


proyecto de software puede ser organizado y desarrollado.
• Es una estructura software compuesta de componentes
personalizables e intercambiables para el desarrollo de una
aplicación.
• En otras palabras, es una aplicación genérica incompleta y
configurable a la que podemos añadirle las últimas piezas
para construir una aplicación concreta.

Desarrollo ágil de aplicaciones web - Framework 


¿Y para qué sirve un framework?

• Desarrollo rápido y estructurado


• Mejor reutilización del código
• Aprovechamos las herramientas prediseñadas (No
reinventar la rueda)
• Nos enfocamos en lo que necesitamos que haga la
aplicación y no en como lo va a hacer

Minimizar el esfuerzo en el desarrollo

Desarrollo ágil de aplicaciones web - Framework 


¡No más código Spaghetti!
El framework necesita un
patrón de diseño ..
Y en este caso uno que funcione
bien en aplicaciones web:

Desarrollo ágil de aplicaciones web - Framework 


MVC
Modelo, Vista y Controlador

Desarrollo ágil de aplicaciones web - MVC 


¿Y qué es MVC?

Es el patrón de diseño de Software


que divide el desarrollo de un
proyecto en 3 capas:

Desarrollo ágil de aplicaciones web - MVC 


Modelo
Se refiere a la parte que modela y
contiene la lógica del dominio de la
aplicación, por lo general la parte de la
Base de Datos ..

Desarrollo ágil de aplicaciones web - MVC 


Vista
Se refiere a la parte que contiene y
provee la lógica de presentación ..

Desarrollo ágil de aplicaciones web - MVC 


Controlador
Se refiere a la parte que funciona como
engranaje entre el modelo y la vista,
además de contener la lógica del
negocio ..

Desarrollo ágil de aplicaciones web - MVC 


¿Y que framework puedo usar?

Existen muchas opciones,


dependiendo del lenguaje de
programación:

Desarrollo ágil de aplicaciones web - MVC 


Perl
Catalyst, el Framework Elegante

Desarrollo ágil de aplicaciones web - Perl 


Catalyst
• Todos los componentes están en CPAN o por lo general
empaquetados para tu distribución de Linux.
• Sigue las "filosofías" de desarrolo: DRY (Don't Repeat
Yourself), KISS (Keep It Simple, Stupid).
• Se pueden usar distintas herramientas para cada capa:
o Modelo: DBIx::Class, Class::DBI ..
o Vista: Template::Toolkit, HTML::Template, Mason ..
• El Controlador en este caso se arma usando Perl y la
estructura que ofrece Catalyst.

Desarrollo ágil de aplicaciones web - Catalyst


Catalyst

La instalación es sencilla:

aptitude install libcatalyst-perl libcatalyst-


modules-perl libcatalyst-devel-perl

Luego, crear una aplicación nueva:

catalyst.pl MiAplicacion

Desarrollo ágil de aplicaciones web - Catalyst


Python
Django, el entorno de desarrollo
web para perfeccionistas con
agendas apretadas

Desarrollo ágil de aplicaciones web - Django


Django

• Una API de base de datos robusta.


• Un sistema incorporado de "vistas genéricas" que ahorra
tener que escribir la lógica de ciertas tareas comunes.
• Un sistema extensible de plantillas basado en etiquetas,
con herencia de plantillas.
• Un despachador de URLs basado en expresiones
regulares.

Desarrollo ágil de aplicaciones web - Django


Django

Para instalarlo:

aptitude install python-django

Luego, crear una aplicación nueva:

django-admin startproject miaplicacion

Desarrollo ágil de aplicaciones web - Django


Ruby
Ruby On Rails, el desarrollo Web
que no molesta

Desarrollo ágil de aplicaciones web - Rails


Ruby On Rails

• Es el padre de los frameworks web MVC


• Las clases del Modelo son gestionadas por ActiveRecord
• Existen muchas aplicaciones desarrolladas con este
Framework, el más popular es Twitter.
• Se distribuyen muchas librerías que pueden ser agregadas
a la aplicación mediante "Gems"
• Convención sobre configuración, lo que permite tener
menos código que escribir.

Desarrollo ágil de aplicaciones web - Rails


Rails

Para instalarlo:

aptitude install rails

Luego, crear una aplicación nueva:

rails miaplicacion

Desarrollo ágil de aplicaciones web - Rails


Mas información en:

• Catalyst: http://www.catalystframework.org/
• Django: http://django.es/
• Ruby on Rails: http://rubyonrails.org/

Contacto:
• sanchezchristian@gmail.com
• Twitter: @g013m
• Página Web: http://blog.g013m.com.ve