Una pequeña introducción al patrón de desarrollo MVC y su aplicación usando frameworks en Perl, Python y Ruby...
Desarrollo ágil de aplicaciones web Perl, Python y Ruby ..
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
Es por eso que necesitamos un framework ¿Y qué es un framework?
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.
¿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
¡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:
MVC Modelo, Vista y Controlador
¿Y qué es MVC? Es el patrón de diseño de Software que divide el desarrollo de un proyecto en 3 capas:
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 ..
Vista Se refiere a la parte que contiene y provee la lógica de presentación ..
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 ..
¿Y que framework puedo usar? Existen muchas opciones, dependiendo del lenguaje de programación:
Perl Catalyst, el Framework Elegante
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.
Catalyst La instalación es sencilla: aptitude install libcatalyst-perl libcatalystmodules-perl libcatalyst-devel-perl
Luego, crear una aplicación nueva: catalyst.pl MiAplicacion
Python Django, el entorno de desarrollo web para perfeccionistas con agendas apretadas
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.
Django Para instalarlo: aptitude install python-django
Luego, crear una aplicación nueva: django-admin startproject miaplicacion
Ruby Ruby On Rails, el desarrollo Web que no molesta
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.
Rails Para instalarlo: aptitude install rails
Luego, crear una aplicación nueva: rails miaplicacion
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