desarrollo agil de aplicaciones web
DESCRIPTION
Una pequeña introducción al patrón de desarrollo MVC y su aplicación usando frameworks en Perl, Python y RubyTRANSCRIPT
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
MVCModelo, 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
ModeloSe 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
VistaSe refiere a la parte que contiene y provee la lógica de presentación ..
Desarrollo ágil de aplicaciones web - MVC
ControladorSe 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:
• [email protected]• Twitter: @g013m
• Página Web: http://blog.g013m.com.ve