Escuela De Codigo
Framework, el mejor amigo del programador
Noviembre 23rd, 2011 - [Enlace local]
Hace unos meses atrás me vi envuelto en un proyecto de mediana complejidad, se trataba de desarrollar un plugin para WordPress, a simple vista no parecía nada complicado así que me lo fui tomando con calma y ahi empezó mi martirio, los tiempos se me fueron haciendo mas pequeños y los requerimientos mas grandes, las tareas se me aglutinaba y dos manos ya no eran para nada suficiente para completar el proyecto, asi que decidí ”subcontratar” a alguien mas pero, la ley de Murphy se cumplia al pie de la letra y las cosas seguían de mal en peor…hasta que…tome una decisión…voy a utilizar un framework!! Vi la luz y fui feliz, recupere semanas de tiempo mal invertido y en un par de horas estaba de nuevo con una gran sonrisa mostrando el demo a mi cliente. Un framework de desarrollo rápido me salvo la vida.
¿Framework?
Si estas con una cara de “este tipo cada día trae unas sus palabritas todas raras” es porque no conoces la definición de la palabra “framework” dejame auxiliarme de la wikipedia para ilustrarte
Es una estructura conceptual y tecnológica de soporte definido, normalmente con artefactos o módulos de software concretos, con base a la cual otro proyecto de software puede ser más fácilmente organizado y desarrollado
¿Aun sin digerirlo? Ok, toma 2: Framework es un conjunto de librerías, códigos, programas y demas cosas que te permiten tener una base suficiente para poder iniciar el desarrollo de tus aplicaciones no desde cero sino que con algo de camino recorrido.
Espera, ¿significa que tengo que usar código de otra persona?
Si,un framework básicamente es el codigo que otro desarrollador (o comunidad de desarrolladores) ha creado para resolver un problema especifico y que pone a disposición de los demas porque cree que así como a el le funciono, nos puede funcionar a nosotros también.
¿No te gusta utilizar código de alguien mas? Se me vienen a la mente un par de clásicas excusas para no utilizar un framework.
- Solo Dios y los angeles sabe que cochinada de código a la que me voy a enfrentar
- No tengo ni idea porque han hecho esto asi, lo hare a mi modo mejor
- No tengo tiempo de andar aprendiendo como otro hace sus cosas, usare mis scripts
- Un verdadero programador de pelo en pecho no anda usando código de otro, lo hace el TODO por su cuenta!
- Mi problema es demasiado unico y puntual, la mejor solución es hacer algo a la medida.
- A mi me gusta hacer todo a mi manera
- Si surge un problema quien me va a ayudar a resolverlo?
- Nada como lo viejo conocido (mis propios programas y código)
Si eres un programador con fobia a usar código de otro, dejame mostrarte que no hay nada que temer, que utilizar un framework te dara una gran ventaja competitiva y te permitira desarrollar mas velozmente.
Que gano utilizando un framework
- Un buen comienzo, iniciar un proyecto o desarrollo tiene una parte muy difícil (y aburrida): el inicio. Preparar cada librería a usar, adaptar ese código fuente de ese otro proyecto para hacerlo funcionar en el nuevo, etc. Hacer eso una y otra vez, es repetitivo, te roba tiempo y te quita la diversión. La mayoría de frameworks te proveen de toda una estructura para tu aplicación para que con unos pocos clicks ya tengas algo funcionando.
- Estandarizacion, cada cosa en su lugar, los frameworks te indican donde debe ir cada parte de tu aplicación.
- Desarrollo Rápido, con tanto código ya hecho, tanta funcionalidad ya implementada, tutoriales, internet y sin fin de ayuda que puedes encontrar en la red es imposible que no tengas una primera version de tu aplicación en cuestion de horas sino es que menos!
¿Cual utilizar?
Ahora que sabemos lo que es un framework, las ventajas que implican utilizarlo (ya no hay excusas), surge la pregunta ¿¿¿y cual utilizar??? Porque framework hay de todo tipo, sabor y color, para multiples propósitos y en cuanto lenguaje de programación que el hombre halla inventado asi que la diversidad no sera problema. Pero, para limitarnos un poco y siendo congruentes con los lenguajes de programación que recomiendo les dejo mi top five de frameworks orientados al desarrollo de aplicaciones web que no debes dejar de aprender.
GRAILS
Grails es un framework para aplicaciones web libre desarrollado sobre el lenguaje de programación Groovy (el cual a su vez se basa en la Java platform). Grails pretende ser un marco de trabajo altamente productivo siguiendo paradigmas tales como convención sobre configuración o no te repitas (DRY), proporcionando un entorno de desarrollo estandarizado y ocultando gran parte de los detalles de configuración al programador.
Escrito en Groovy, corriendo en la plataforma Java, Grails es como el hermano que Rails nunca tuvo (y de seguro nunca quizo tener), hereda todo lo bueno de Rails (no te repitas, convención sobre configuración, scallfolding, etc) y tiene todas las ventaja que provee la plataforma Java. Si creíste que desarrollar aplicaciones web en Java era aburrido, mortificante e increiblemente lento, Groovy te mostrara que no es así.
http://grails.org/Installation
http://es.debugmodeon.com/articulo/introduccion-a-grails
YII
Yii es un alto rendimiento framework PHP mejor para el desarrollo de aplicaciones Web 2.0.
Framework para PHP, el cual personalmente amo mucho porque me saco de un apuro con un cliente, sencillamente tiene un generador de código hermoso y una comunidad muy activa en documentación. Si lo tuyo es programar en PHP, Yii debe formar parte de tu navaja suiza de desarrollador.
http://www.yiiframework.com/doc/guide/
http://caraballomaestre.blogspot.com/2011/05/por-que-yii-framework.html
RUBY ON RAILS
Ruby on Rails, también conocido como RoR o Rails es un framework de aplicaciones web de código abierto escrito en el lenguaje de programación Ruby, siguiendo el paradigma de la arquitectura Modelo Vista Controlador (MVC). Trata de combinar la simplicidad con la posibilidad de desarrollar aplicaciones del mundo real escribiendo menos código que con otros frameworks y con un mínimo de configuración.
El mas famoso, el mas querido, el que dicen inicio una revolución en el desarrollo web, abanderado del desarrollo rápido de aplicaciones. Escrito en Ruby, creado por 37Signals, se han escrito mares y mares de las bondades de este framework asi que no seguire aumentando las alabanzas, solo dare una recomendacion: aprende Rails te divertirás!
http://guides.rubyonrails.org/
SINATRA
Sinatra es un DSL para crear aplicaciones web rápidamente en Ruby con un mínimo esfuerzo
Que dijeras si te contara que puedes hacer toda una aplicación web con un par de lineas de código y en un único archivo de código fuente. Sinatra permite eso. Ideal para introducirte en el mundo de Ruby y crear prototipos y aplicaciones desde pequeñas a medianas.
http://www.sinatrarb.com/intro-es.html
http://sinatra-book.gittr.com/
JQUERY
jQuery es una biblioteca de JavaScript, que permite simplificar la manera de interactuar con los documentos HTML, manipular el árbol DOM, manejar eventos, desarrollar animaciones y agregar interacción con la técnica AJAX a páginas web
Y sin olvidarnos del otro lado del monitor, JQuery un framework javascript que permite dotar a tus aplicaciones de todo esa funcionalidad tan chula y popular de estos tiempos (Ajax, Drag on Drop, etc, etc)
http://www.w3schools.com/jquery/default.asp
http://net.tutsplus.com/articles/web-roundups/jquery-for-absolute-beginners-video-series/
Los frameworks son tus amigos, te facilitan la vida, te ahorran tiempo y te hacen mas productivo, definitivamente tienes que aprender mas de uno.