You are on page 1of 20

3/8/2014

Qu es un framework? | jordisan.net

Home

Blog

About jordisan

Servicios

Portfolio

Currculum V.

Resume

ENGLISH posts

Qu es un
framework?
El trmino framework se utiliza
constantemente en el desarrollo de
software, pero sabramos definir
qu es un framework? He aqu una
descripcin.
September 29, 2006 desarrollo, estndares,

About jordisan
Interfaces front-end usability UX
(whatever they mean) from Mallorca
jordisan is an Information
Systems Engineer and Master
in HCI who tries to develop his
work in border areas between
human and computers, and
between research and
professional projects.

CV Resume LinkedIn
@jordisan ramsys(a)gmail.com

frameworks, Java, JavaServer Faces, metforas, MVC,


Ruby on Rails, TECH, Web 48 Comments

Muchos de los que nos dedicamos al

Twitter

desarrollo de software utilizamos,


conocemos o, como mnimo, nos hemos
tropezado con el concepto de framework
(cuya traduccin aproximada sera marco de
trabajo). En concreto, y por diferentes
motivos, he hecho algn pinito utilizando
JavaServer Faces as como en Ruby on Rails.
Sin embargo, el concepto de framework no es
sencillo de definir, a pesar de que cualquiera
con experiencia programando captar su
sentido de manera casi intuitiva, y es muy
posible que est utilizando su propio
framework (aunque no lo llame as).
Cul es el sentido de un framework?
http://jordisan.net/blog/2006/que-es-un-framework/

1/20

3/8/2014

Qu es un framework? | jordisan.net

En casa del herrero


Sabemos por
experiencia lo
importante que es
la normalizacin
de datos en
cualquier
aplicacin. Los
usuarios pueden
manejar su
informacin en papel, fichas, en su propia
memoria, tenerla duplicada, con
incoherencias, omisiones, Todo un
infierno! Pero una aplicacin informtica
necesita que esa informacin est

Tweets
Eterno Primavera
@SiPeroNo1

Follow
29 Jul

Yo ya lo aviso: Si se independizan, se tienen que


llevar a Marhuenda, Sostres, Fernndez Daz y
Snchez Camacho. Aqu que no nos los dejen
Retweeted by jordisan -aka RamSys
Expand
jordisan -aka RamSys
@jordisan

1 Aug

- Qu hars en tus das de vacaciones?


- Leer lo que tengo pendiente en pestaas del
Chrome.
- Y el resto?
- El resto ya no lo leer.
Expand
jordisan -aka RamSys
@jordisan

1 Aug

Tweet to @jordisan

estructurada de un modo conocido para


poder manejarla: almacenarla, recuperarla, y
todos los -arla que se requieran. Para eso
definimos modelos de datos con una
determinada estructura (que habitualmente se
convierten en tablas de una base de datos).
Pero qu ocurre con la informacin que
manejamos los propios desarrolladores
para crear una aplicacin? Lase cdigo

Latest posts
El botn de los 300 millones de dlares, en
Palma October 30, 2013
An approach to an integrated software-releases
workflow September 29, 2013
Los que no se juegan el pellejo June 15, 2013

fuente, libreras, ficheros de configuracin,

We are not good at designing (or why users are


black swans) June 2, 2013

etc. Muchas veces parece que la nica

Ya te diremos algo. O no. February 8, 2013

eleccin importante es la tecnologa concreta


a utilizar (lenguaje de programacin, gestor de
bases de datos, etc.) pero, a partir de ah,
cada programador puede crear su propio
maremagnum de ficheros y cdigo fuente.
Por qu permitir ese desorden en un
desarrollo, si estamos tan convencidos de las
bondades de estructurar y normalizar la
informacin? Eso es ni ms ni menos lo que
http://jordisan.net/blog/2006/que-es-un-framework/

2/20

3/8/2014

Qu es un framework? | jordisan.net

pretende un framework.

Entonces qu es un
framework?
Siendo muy
simple, es un
esquema
(un
esqueleto,
un patrn)
para el
desarrollo
y/o la
implementacin de una aplicacin. S, es
una definicin muy genrica, pero tambin
puede serlo un framework: sin ir ms lejos, el
paradigma MVC (Model-View-Controller) dice
poco ms que separa en tu aplicacin la
gestin de los datos, las operaciones, y la
presentacin. En el otro extremo, otros
frameworks pueden llegar al detalle de definir
los nombres de ficheros, su estructura, las
convenciones de programacin, etc.

Pongamos un ejemplo: una

aplicacin web que utilice Java como


lenguaje de programacin puede
implementarse de multitud de formas,
mediante servlets y JSPs. Hay
algunas convenciones que es
necesario seguir, como usar un fichero
de configuracin web.xml, pero el
programador sigue sin tener un patrn
claro a seguir para la creacin de
servlets, clases, JSPs, etc.

En una primera

estandarizacin, la utilizacin de una


http://jordisan.net/blog/2006/que-es-un-framework/

3/20

3/8/2014

Qu es un framework? | jordisan.net

arquitectura MVC aconseja que


separemos la lgica de la aplicacin
(en los servlets) de la presentacin
(usando JSPs); en concreto, no sera
correcto codificar lgica de aplicacin
o accesos a base de datos dentro de
los JSP.

Un paso ms all: utilizando

Faces como framework , la estructura


de la aplicacin queda todava ms
definida: un nico servlet
(FacesServlet) va a controlar el flujo de
la aplicacin; adems, el uso de un
fichero concreto (faces-config.xml)
permite crear la navegacin de la
aplicacin, definir los objetos (beans)

pasados como parmetros, etc., todo


ello sin necesidad de codificarlo en
Java o JSP.

Los frameworks no necesariamente estn


ligados a un lenguaje concreto, aunque sea
as en muchas ocasiones. En el cada vez ms
popular Ruby on Rails, Ruby es el lenguaje
de programacin y Rails el framework; por
otro lado, JavaServer Faces est orientado a
desarrollos en Java. Sin embargo, nada impide
definir el mismo framework para lenguajes
diferentes: por ejemplo, existe un framework
llamado Biscuit cuyo objetivo es prcticamente
convertirse en un PHP on Rails. Eso s,
cuanto ms detallado es el framework, ms
necesidad tendr de ceirse a un lenguaje
concreto.
Tambin es posible que el framework defina
una estructura para una aplicacin completa, o
bien slo se centre en un aspecto de ella.
Siguiendo con los ejemplos, Ruby on Rails
ofrece un marco para el desarrollo completo
http://jordisan.net/blog/2006/que-es-un-framework/

4/20

3/8/2014

Qu es un framework? | jordisan.net

de una aplicacin web, mientras que


JavaServer Faces est ms orientado a la
interfaz de usuario.

Qu ventajas tiene
utilizar un framework?
Las que se derivan de utilizar un estndar;
entre otras:
El programador no necesita plantearse una
estructura global de la aplicacin, sino que el
framework le proporciona un esqueleto que
hay que rellenar.
Facilita la colaboracin. Cualquiera que
haya tenido que pelearse con el cdigo
fuente de otro programador (o incluso con el
propio, pasado algn tiempo!) sabr lo difcil
que es entenderlo y modificarlo; por tanto,
todo lo que sea definir y estandarizar va a
ahorrar tiempo y trabajo a los desarrollos
colaborativos.
Es ms fcil encontrar herramientas
(utilidades, libreras) adaptadas al framework
concreto para facilitar el desarrollo.

Y si no necesito o no
quiero utilizar un
framework?
Por supuesto, un desarrollador puede crear
toda una aplicacin sin seguir ningn
framework conocido; puede que sea tan
pequea que no lo considere necesario, que
no conozca ninguno que se adapte a sus
necesidades, o simplemente no desee dedicar
http://jordisan.net/blog/2006/que-es-un-framework/

5/20

3/8/2014

Qu es un framework? | jordisan.net

tiempo a seleccionar y utilizar uno.


Sin embargo, a medida que la aplicacin
crece, un programador competente procurar
seguir unas determinadas pautas que le
faciliten su trabajo de desarrollo y
mantenimiento: separacin de presentacin y
lgica, una sintaxis coherente, etc. La
evolucin natural sera hacia que, de algn
modo, se construir su propio framework.
Y en vez de definir un estndar, por qu no
utilizar uno ya definido, y aprovechar el trabajo
de otros muchos desarrolladores? Hacer un
desarrollo crptico y difcil de interpretar puede
ser til en un concurso de cdigo ofuscado o
para presumir de gur, pero es muy poco til
para desarrollar y mantener una aplicacin. El
coste inicial (la curva de aprendizaje) de
utilizar un framework se compense
probablemente en cuanto el trabajo de
desarrollo crezca mnimamente.

De acuerdo; pero qu
framework utilizo?
Buscando en la red se encuentra mucha
informacin sobre los frameworks existentes
para las diferentes plataformas y lenguajes.
Posiblemente uno de sus principales
problemas es que haya demasiados: ya se
sabe, lo bueno de los estndares es que hay
muchos para elegir :). Sin embargo, la eleccin
del framework concreto a utilizar vendr
marcada por:
El tipo de aplicacin a desarrollar
El lenguaje de programacin y otras
tecnologas concretas: base de datos,
http://jordisan.net/blog/2006/que-es-un-framework/

6/20

3/8/2014

Qu es un framework? | jordisan.net

sistema operativo, etc.

Como introduccin a los frameworks, Ruby on


Rails me parece una buena opcin para
desarrollar una aplicacin web y como ejemplo
de lo que es un framework. Dentro del mundo
Java, Struts parece uno de los ms
extendidos.

En conclusin
La utilizacin de un framework en el desarrollo
de una aplicacin implica un cierto coste inicial
de aprendizaje, aunque a largo plazo es
probable que facilite tanto el desarrollo como
el mantenimiento.
Existen multitud de frameworks orientados a
diferentes lenguajes, funcionalidades, etc.
Aunque la eleccin de uno de ellos puede ser
una tarea complicada, lo ms probable que a
largo plazo slo los mejor definidos (o ms
utilizados, que no siempre coinciden con los
primeros) permanezcan. Y si ninguno de ellos
se adapta a las necesidades de desarrollo,
siempre es mejor definir uno propio que
desarrollar al por mayor.

Tw eet
Like

10

More...

Related Posts:
1. METAeuFORiAS: Un sitio web es
como un restaurante
2. Breve cuestionario sobre tcnicas
de usabilidad y DCU
3. InfoJobs para Windows 8: una app
http://jordisan.net/blog/2006/que-es-un-framework/

7/20

3/8/2014

Qu es un framework? | jordisan.net

para el InfoJobs App Challenge

Algunas ideas que NO son ciertas sobre


las nuevas tecnologas
Por lo menos que no nos duela: un anlisis
de www.contribucions.org

48 thoughts on Qu es
un framework?
1. Pingback: meneame.net
2. Pingback: Miguelsebastian.es cae tan
rpido como el candidato | 5lneas.com |
Internet, desarrollo web, tecnologa y
otras cosas por descubrir
3. Pingback: jordisan.net :: Patrones de
software, MVC y los telfonos mviles

4. Pingback: autobombo.es

Sal

5.

December 17, 2007 at 13:08


Muy bueno este post, te felicito
Reply

Jordi Snchez

6.

Post author

December 17, 2007 at 13:33


Gracias mil, Sal
Reply

7.

novatisimo

http://jordisan.net/blog/2006/que-es-un-framework/

8/20

3/8/2014

Qu es un framework? | jordisan.net

February 1, 2008 at 09:05


Muy buen post, aunque no soy
programador me viene una idea sobre lo
que es un framework.
Una pregunta, mootools es un framework,
pero como incluirlo en modulos ya
creados para joomla?.
Osea, descargo el archivo
mootools.js.php y luego?. Sera que me le
explican?. Gracias
Reply

jordisan

8.

Post author

February 2, 2008 at 21:52


novatisimo,
no he trabajado con MooTools, pero al
ser un framework JavaScript, supongo
que se puede utilizar en Joomla!
integrndolo en una plantilla.
Puede que esto te sea til:
http://beautyindesign.com/tutorial/free_ser
ies_mootools_for_the_rest_of_us.php
Reply

9.

zenphp
February 4, 2008 at 22:35
Hola, no se si vivo en Jpiter o en la
Tierra, pero me ha dado por crear un
framework php en espaol, qu opinas de
que el cdigo ,comentarios ,tutoriales,
foros,etc. sea todo en espaol?
Saludos,ah, la web es
http://blog.zenphp.es

y bueno, he

hecho realidad muchas de las cosas que


comentas sin embargo queda por pulirlo
http://jordisan.net/blog/2006/que-es-un-framework/

9/20

3/8/2014

Qu es un framework? | jordisan.net

para que sea super sencillo de usar


desde una interfaz amigable
Reply

jordisan

10.

Post author

February 5, 2008 at 14:45


zenphp,
enhorabuena por atreverte con un
proyecto as
El hecho de que est todo en espaol
puede limitar bastante el nmero de
usuarios que se decida por l. Aunque
tambin es cierto que podra ser una
caracterstica que lo distinga de la
multitud de frameworks que pululan por
ah.
Yo te dira que, ms que esforzarte en
que est HECHO en espaol, lo
ORIENTES a desarrollos que utilicen ese
idioma; por ejemplo: proporcionando
funciones especficas de fecha y hora, de
moneda; asegurndote de que no hay
problemas con caracteres no-ASCII; etc.
Reply

11.

zenphp
February 5, 2008 at 16:11
Ahora se que vivo en marte, lo estoy
orientando a proyectos en espaol, he
insertado muchas funciones para fechas y
codificacin UTF-8, por ejemplo en la
base de datos se intenta realizar
consultas con ese juego de caracteres
adems recomiendo usar plantillas con
ese juego y se incluye un .htaccess con la

http://jordisan.net/blog/2006/que-es-un-framework/

10/20

3/8/2014

Qu es un framework? | jordisan.net

sentencia AddDefaultCharset UTF8 sin


embargo se que no es suficienteme han
recomendado el uso de gettext, pero no
tengo ni idea de como funciona:O
Lo que no tengo muy claro es de si hacer
algo con la moneda del estilo de
OsCommerce y demsqu opinas?
Reply

jordisan

12.

Post author

February 9, 2008 at 20:44


zenphp,
con el Gettext no te puedo ayudar,
aunque aqu hay un tutorial que parece
interesante:
http://www.onlamp.com/pub/a/php/2002/06
/13/php.html
Hacer algo como OsCommerce es
bastante ambicioso; yo pensaba en algo
ms bsico, como crear funciones de
conversin entre monedas; o un poco
ms avanzado, como crear funciones
para llamar a pasarelas de pago/TPV
virtuales de bancos y cajas espaoles.
Reply

13. Pingback: Meme: mi artculo ms visitado /


Blog (artculos) // jordisan.net

jorgebee65

14.

November 27, 2008 at 06:45


Gracias, me ha servido tu articulo.
Reply

15.

Jhon F. Ortiz O.

http://jordisan.net/blog/2006/que-es-un-framework/

11/20

3/8/2014

Qu es un framework? | jordisan.net

January 13, 2009 at 22:33


Hola! He visto este artculo muy
til sobre-todo para las personas que
llevamos la idea de ser excelentes
programadores. Actualmente programa
en Java, y haba algo que intua, y era la
idea de una forma de programar
aplicaciones siguiendo parmetros bien
definidos, la conclusin un Framework.
Gracias por la informacin. Hasta pronto!
Reply

jordisan

16.

Post author

February 10, 2009 at 19:53


Encantado de que os haya sido til el
artculo!
Reply

Gianky

17.

April 30, 2009 at 14:43


bueno, gracias a ti pude entender lo q es
un framework, mi gran duda ahora es
como trabajar con este; tengo un trabajo
(2 ao d ing d sist) y tengo q elaborar un
trabajo utilizando frameworks, ahora
tabajo con el eclipse y el dreamweaver, y
la verdad es q estoy algo desubicado ya q
cuando descargo un framework no lo
puedo levantar con nada :s quiza este
haciendo algo mal, tu ayuda me vendria
bien.. gracias.
Reply

18.

Gianky
April 30, 2009 at 14:55
bueno creo q me confundi algo tengo q

http://jordisan.net/blog/2006/que-es-un-framework/

12/20

3/8/2014

Qu es un framework? | jordisan.net

trabajar con akelos php framework. lo e


descargado, y ahi empieza el problema.
Reply

Teodoro

19.

September 4, 2009 at 10:25


Hola a todos, os dejo una url con un sitio
en el que te puedes descargar un
framework php5 mvc con templates y un
pequeo proyecto de ejemplo. Espero
que os guste.
Saludos nuevamente.
http://www.phppoo.freezoka.com/es/
Reply

samuel

20.

October 6, 2009 at 22:04


con que se puede ocnfundir framework
???
o tecnicamente QUE NO ES
FRAMEWORK??
Reply

zenphp

21.

October 7, 2009 at 00:38


No es un framework cuando el conjunto
de libreras est sin completar o contiene
errores graves, que para poder hacer
algo sencillo necesites modificar el propio
framework o el lenguaje del mismo sea
tan complejo que sea imposible hacer
nada sin complicarse la vida.
Reply

http://jordisan.net/blog/2006/que-es-un-framework/

13/20

3/8/2014

Qu es un framework? | jordisan.net

JJTR

22.

April 20, 2010 at 21:33


Sprng es un frame work y como empiezo
ha usar Spring
Reply

Julio

23.

April 23, 2010 at 18:24


Y yo que pensaba que un framework era
solamente un conjunto de libreras
Gracias por sacarme de la ignorancia
Reply

Saladashed.-

24.

June 22, 2010 at 00:52


QUE GENIAL, la verdad que este post
vale oro, est explicado sencilla y
claramente, sin caer en la simplicidad.
Ojala encontrara mas colaboradores
como tu!
Felicidades y no te detengas!
Reply

ZardwiZ

25.

September 10, 2010 at 23:56


Muy bueno y claro tu articulo sobre
Framework. He leido 5 o 6 definiciones de
esto y la tuya ha sido la mas clara.
Reply

26.

Mxi
October 10, 2010 at 23:53
Diculpa entonces al desarrollar una
aplicacin tengo que utilizar un
Framework y un IDE ms decirdir que

http://jordisan.net/blog/2006/que-es-un-framework/

14/20

3/8/2014

Qu es un framework? | jordisan.net

lenguaje de programacin utilizar?


Reply

Mxi

27.

October 10, 2010 at 23:57


Entonces puede utilizar solo un
Framework con un lenguaje de
programacin o bien solo el IDe con un
lenguale de programacin?
Reply

Ali

28.

November 1, 2010 at 04:46


Mis felicitaciones estimado amigo
Reply

Zaira

29.

November 24, 2010 at 10:48


Eres un crack. Gracias por explicarlo tan
bien. Yo tambin pensaba que era
slamente un conjunto de libreras.
Reply

Angelica

30.

January 20, 2011 at 22:06


Exelente explicacion estoy haciendo mis
practicas profeciones y me has salvado la
cabeza , felicidades me encanta tu trabajo

Reply

31.

Patricia
February 17, 2011 at 10:59
Muy buena explicacin!

http://jordisan.net/blog/2006/que-es-un-framework/

15/20

3/8/2014

Qu es un framework? | jordisan.net

Reply

Brian

32.

September 3, 2011 at 06:42


tengo una preguntica fuera del caso yo
estoy estudiando tecnologia en desarrollo
de software y quisiera saber en que
puedo laboral y endonde??
que pena ponerte en estas!!
Reply

saopma

33.

September 4, 2011 at 09:46


no cabe duda es una de las definiciones
mas claras que he encontrado en la red.
gracias de antemano!! me sirvi de
mucho para mi formacin curso la carrera
de Ing.TICs
Reply

adfesabo

34.

October 3, 2011 at 05:11


Gracias. Ampli mi concepto de
framework.
Reply

txaler

35.

March 26, 2012 at 13:48


De enorme ayuda por tu post.. Soy
Ingeniero Informatico, y me estoy
empezando a familiarizarme con los
frameworks y es el mejor post que he
leido en mucho tiempo.
Gracias.
http://jordisan.net/blog/2006/que-es-un-framework/

16/20

3/8/2014

Qu es un framework? | jordisan.net

Reply

diseo web

36.

June 7, 2012 at 05:30


Hi my family member! I wish to say that
this post is amazing, great written and
come with almost all vital infos. Id like to
look extra posts like this .
Reply

hkr

37.

July 3, 2012 at 08:47


Muy claro. Gracias
Reply

Oski

38.

October 17, 2012 at 07:57


Muchas gracias Jordi! Me has aclarado
muchos conceptos.
Felicidades por tu trabajo y que tu
altruismo se vuelva contra ti,
Reply

39. Pingback: MARCO DE TRABAJO TI


FRAMEWORK soasaascloudingcmmi
40. Pingback: eMobc, un Framework
opensource para generar aplicaciones
nativas en Android, IOS y Webapps | My
Daily Feeds
41. Pingback: eMobc, un Framework
opensource para generar aplicaciones
nativas en Android, IOS y Webapps Aplicaciones Android
http://jordisan.net/blog/2006/que-es-un-framework/

17/20

3/8/2014

Qu es un framework? | jordisan.net

42. Pingback: NewsMobilePhone eMobc, un


Framework opensource para generar
aplicaciones nativas en Android, IOS y
Webapps

Star academy

43.

February 12, 2013 at 23:39


Creo que es mejor no usar el cdigo y el
cdigo fuente de los dems, ya que
puede haber algn tipo de proteccin de
falla.
Reply

nanu63

44.

September 23, 2013 at 04:47


Solo darte las gracias por explicar de
forma tan sencilla, ya que entendi de una
Saludos
Reply

45. Pingback: Frameworks, para sensatos o


incapaces? | La Hoja Geek

Sebastin

46.

January 18, 2014 at 06:13


Excelente publicacin.
Acabo de agregar tu web a favoritos,
estar atento a tus nuevas publicaciones.
Saludos!
Reply

47. Pingback: GLOSARIO!!!! | BLOG JOMAR


48. Pingback: Flight MicroFramework PHP

http://jordisan.net/blog/2006/que-es-un-framework/

18/20

3/8/2014

Qu es un framework? | jordisan.net

Leave a Reply
Your email address will not be published.
Required fields are marked *
Name *

Email *

Website

Comment

You may use these HTML tags and attributes:


<a href="" title=""> <abbr title="">
<acronym title=""> <b> <blockquote
cite=""> <cite> <code> <del
datetime=""> <em> <i> <q cite="">
<strike> <strong>
post comment

By jordisan (Google+ profile) | @jordisan (Twitter)

http://jordisan.net/blog/2006/que-es-un-framework/

19/20

3/8/2014

http://jordisan.net/blog/2006/que-es-un-framework/

Qu es un framework? | jordisan.net

20/20

You might also like