Вы находитесь на странице: 1из 14

El manual trata en cada uno de sus captulos de introducir cada

una de las tecnologas utilizadas en el desarrollo de pginas web.


Es un manual para conocer lo esencial de cada tecnologa.

Tweet

Si te parece til este manual aydanos compartiendo!! :)

1.- Qu es HTML
Lleg el momento de hablar sobre HTML, el lenguaje con el que crean las pginas
web.

2.- Qu es XHTML
Una breve definicin del lenguaje XHTML que nos haga entender qu es, as
como unos pocos de sus fundamentos e historia.

3.- Qu es DHTML o HTML Dinmico


Explica rpidamente lo que es HTML Dinmico y diferencia entre DHTML del lado
del cliente y del servidor.

4.- Qu es CSS
Comentamos brevemente que son las hojas de estilo en cascada y explicamos
una serie de efectos rpidos e interesantes que se pueden hacer con ellas.

5.- Qu es Visual Basic Script

Explicamos el lenguaje de scripts de Microsoft para la creacin de pginas web.


Lo enfocamos a su parte en el cliente y diferenciamos con su faceta de servidor en
pginas ASP.

6.- Qu es Java
Descripcin y caractersticas de este potente y moderno lenguaje de
programacin.

7.- Qu son los Applets de Java

Una manera de incluir programas complejos en el mbito de una pgina web.


Estos applets se programan en Java y por tanto se benefician de la potencia de
este lenguaje para la Red.

8.- Qu es ASP

Es el lenguaje de scripting del lado del servidor creado por Microsoft.

9.- Qu es PHP
Es un lenguaje para programar scripts del lado del servidor, que se incrustan
dentro del cdigo HTML. Este lenguaje es gratuito y multiplataforma.

10.- Qu es XML

Vemos muy rpidamente lo que es el mundo XML y algunos destellos de sus


posibilidades.

11.- Qu es VRML
VRML es un lenguaje para modelar mundos en virtuales en 3D. Conoce el
lenguaje, un poco de su historia, los materiales necesarios y algunos ejemplos.

12.- Qu son las cookies

Veamos que son esas pequeas galletitas, algunos de sus usos y ms cosas.

13.- Qu es SQL
Qu es y para qu sirve el SQL

14.- Qu es un Webmaster
Utilizamos muy habitualmente la palabra webmaster, pero sabemos bien lo que
significa?

15.- Qu es Streaming
Descubre la tecnologa que nos acerca hacia una Internet de radio y televisin.

16.- Qu es la programacion orientada a objetos

Introducimos para los ms profanos las bases sobre las que se asienta la
Programacin Orientada a Objetos.

17.- Que es un firewall


Un firewall es un dispositivo de seguridad, veamos exactamente lo que hace y en
que se basa su funcionamiento.

18.- Qu es CGI

Una breve introduccin a CGI, con apuntes sobre la metodologa de trabajo y


desventajas frente a otras tecnologas del servidor.

19.- Qu es Perl
Documento introductorio al lenguaje Perl.

20.- Qu es C#

Descripcin del nuevo lenguaje de Microsoft C#, vinculado a la plataforma .NET.

21.- Qu es .NET
La plataforma de Microsoft orientada a la creacin de software para Internet.

22.- Qu es JSP
La tecnologa Java para la creacin de pginas web con programacin en el
servidor.

23.- Qu es Oracle
Oracle es una potente herramienta cliente/servidor para la gestin de Bases de
Datos. Explicamos la herramienta y las ayudas que ofrece al desarrollador.

24.- Qu es ActiveX
Explicamos los detalles ms importantes de la tecnologa para el desarrollo de
pginas dinmicas de Microsoft.

25.- Qu son las Extensiones de Frontpage


Descripcin de las extensiones de Frontpage y unas pequeas ayudas a la hora
de instalarlas.

26.- Qu es Fortran
Fortran es el primer lenguaje de alto nivel que sali al mercado. Ya que sigue
siendo til en Fsica, vamos a estudiarlo.

27.- Qu es Lisp

Vamos a ver un tipo de lenguaje funcional que es muy til en el campo de la


Inteligencia Artificial: Lisp.

28.- Qu es Prolog
Estudiaremos un caso de lenguaje orientado a la programacin lgica (clculo de
predicados): Prolog.

29.- Qu es la Interaccin Persona-Ordenador


La Interaccin Persona-Ordenador, es la disciplina que estudia el intercambio de
informacin entre las personas y los ordenadores. Su objetivo es que este
intercambio sea ms eficiente: minimiza los errores, incrementa la satisfaccin...

30.- Qu es el formato PDF


Veremos qu es PDF, un poco de historia y lo que necesitamos para leer este
formato.

31.- La filosofa Basecamp y Ruby on Rails


la apuesta del 2005. Si un lenguaje de programacin est haciendo ruido en este
momento es Ruby. Gracias a Basecamp y su filosofa, se ha convertido en algo
ms que un lenguaje: un estilo de vida.

32.- Qu es Cross Browser

Se refiere Cross Browser al desarrollo de pginas web que se ven exactamente


igual en cualquier navegador.

33.- Qu es Telnet y SSH?


Qu es este protocolo de red y para qu puede servir hacer telnet a un webmaster.

34.- Qu es AJAX
Damos un repaso global a AJAX, desde su comienzo hasta la actualidad.

35.- Qu es Adobe AIR

Presentamos la tecnologa Adobe AIR, que permite crear aplicaciones de escritorio


a partir de pginas o aplicaciones web.

36.- Qu son los documentos XPS


XPS es un nuevo formato, basado en XML, para documentos electrnicos creado
por Microsoft, disponible en todas las instalaciones de Windows Vista.

37.- Qu es RSS

Vemos qu es RSS, rpidamente y en lneas generales. RSS es un formato de


distribucin de contenidos de Internet basado en XML.

38.- Qu es Webkit
Webkit Open Source Project. Una sencilla explicacin en castellano sobre este
sistema de cdigo abierto que es el motor de productos como el navegador Safari.

39.- Qu es el DOM

El DOM es la estructura de objetos que genera el navegador cuando se carga un


documento y se puede alterar mediante Javascript para cambiar dinmicamente
los contenidos y aspecto de la pgina.

40.- Qu son los BBCode


Los cdigos BBCode son una notacin para especificar estilo y formato de textos,
utilizados comnmente en foros.

41.- Qu es un Blog

En este primer artculo vamos a conocer lo que es un Blog y vamos a relatar un


poco de su historia.

42.- Qu es un CMS
Definicin y ejemplos de sistemas CMS: Content Manager System (Sistema gestor
de contenidos).

43.- Qu es Podcast
Introduccin al termino Podcast, en resumen, la suscripcin o sindicacin de audio
y vdeo por RSS. Veremos qu es Podcasting y cmo acceder a ese tipo de
contenidos multimedia.

44.- Qu es HDR

Explicamos lo que es la tcnica HDR o HDRR: High Dynamic Range Rendering,


con la que podemos conseguir fotos espectaculares.

45.- Qu es el cloud computing?

En estos ltimos aos se ha hablado mucho acerca del cloud computing, la nube,
el cambio que esto supone en nuestra forma de desarrollar y gestionar nuestras
aplicaciones Pero Qu es realmente el cloud computing?

46.- Qu es Office 365?


Vemos qu es Office 365 o tambin llamado Office en la nube.

47.- Qu es la virtualizacin

Artculo para personas no tcnicas que explica con palabras sencillas el concepto
de la virtualizacin.

48.- Qu es el overclocking
Vemos qu es y en que consiste el llamado overclocking en equipos informticos.

49.- Introduccin a las redes

Concepto e historia de las redes de datos y su repercusin en la sociedad.

50.- Introduccin a NodeJS


Una inmersin terica en NodeJS, plataforma para el desarrollo con Javascript del
lado del servidor. Qu es node, quines lo estn usando y por qu es una buena
idea aprender Node.JS.

51.- Vdeo: Qu es JSON


Un vdeo que explica qu es JSON, el formato ligero para intercambio de datos,
con notacin de objeto Javascript.

52.- Qu es BackboneJS
BackboneJS es una librera Javascript para programacin del lado del cliente que
nos ofrece diferentes ventajas y utilidades en la programacin, atendiendo a
patrones, de una manera flexible.

53.- Introduccin a Kendo MVVM


Pequea introducin al framework Kendo MVVM. Qu es el patron MVVM.
Adems realizamos nuestro primer ejemplo basado en esta librera Javascript.

54.- Qu es MVC
Te explicamos de manera general MVC, Model - View - Controller o Modelo - Vista
- Controlador un patrn de diseo de software para programacin que propone
separar el cdigo de los programas por sus diferentes responsabilidades.

55.- Pueden los modelos acceder a las vistas


directamente en MVC?

MVC es un patrn de diseo susceptible a interpretaciones que producirn


diversas implementaciones. En este artculo discutimos acerca de la manera
correcta de aplicar MVC en torno a la pregunta Pueden acceder las vistas
directamente al modelo?

56.- Qu es SVG

Explicaciones detalladas sobre el formato grfico vectorial SVG, un lenguaje de


estndar abierto que forma parte de HTML5, usado para realizar dibujos
vectoriales en 2D.

57.- Qu es Markdown
En el artculo de hoy veremos cmo trabajar con Markdown, un rpido sistema de
formateo de texto en XHTML.

58.- Qu es el SEO

Conceptos generales sobre SEO para introducir a cualquier persona en el mundo


del posicionamiento en buscadores.

59.- Qu es REST
Puede que te suene por las API REST. Te explicamos por qu se han popularizado
tanto en el mundo de Internet y qu caractersticas tienen estos sistemas.

60.- Snap.SVG librera Javascript para trabajar con SVG


Qu es Snap.SVG y primeros pasos para manejar una potente librera que permite
crear, modificar y aplicar interaccin dentro de imgenes SVG y cualquier tipo de
elemento dentro de stas.

61.- JSONP
Qu es JSONP y por qu se utiliza en el desarrollo de sitios web. Ejemplos
JSONP en la librera Javascript jQuery.

62.- Raspberry Pi, un completo ordenador en una tarjeta


de crdito
Un ordenador de coste y tamao super reducido que es capaz de facilitar el
acceso universal a la tecnologa y permite llevar ms all el mundo del Internet de
las Cosas.

Qu es MVC

Por Miguel Angel Alvarez

Seguir a midesweb

02 de enero de 2014

19 Comentarios

Desarrollo

Te explicamos de manera general MVC, Model - View Controller o Modelo - Vista - Controlador un patrn de diseo
de software para programacin que propone separar el
cdigo de los programas por sus diferentes
responsabilidades.
En lneas generales, MVC es una propuesta de diseo de software utilizada para
implementar sistemas donde se requiere el uso de interfaces de usuario. Surge de la
necesidad de crear software ms robusto con un ciclo de vida ms adecuado,
donde se potencie la facilidad de mantenimiento, reutilizacin del cdigo y la
separacin de conceptos.

Su fundamento es la separacin del cdigo en tres capas diferentes, acotadas por su


responsabilidad, en lo que se llaman Modelos, Vistas y Controladores, o lo que es lo
mismo, Model, Views & Controllers, si lo prefieres en ingls. En este artculo
estudiaremos con detalle estos conceptos, as como las ventajas de ponerlos en
marcha cuando desarrollamos.

MVC es un "invento" que ya tiene varias dcadas y fue presentado incluso antes
de la aparicin de la Web. No obstante, en los ltimos aos ha ganado mucha
fuerza y seguidores gracias a la aparicin de numerosos frameworks de desarrollo web
que utilizan el patrn MVC como modelo para la arquitectura de las aplicaciones web.
Nota: Como ya hemos mencionado, MVC es til para cualquier desarrollo en el que intervengan
interfaces de usuario. Sin embargo, a lo largo de este artculo explicaremos el paradigma bajo el prisma
del desarrollo web.

Por qu MVC
La rama de la ingeniera del software se preocupa por crear procesos que aseguren
calidad en los programas que se realizan y esa calidad atiende a diversos parmetros que
son deseables para todo desarrollo, como la estructuracin de los programas o
reutilizacin del cdigo, lo que debe influir positivamente en la facilidad de desarrollo y el
mantenimiento.

Los ingenieros del software se dedican a estudiar de qu manera se pueden


mejorar los procesos de creacin de software y una de las soluciones a las que
han llegado es la arquitectura basada en capas que separan el cdigo en funcin
de sus responsabilidades o conceptos. Por tanto, cuando estudiamos MVC lo
primero que tenemos que saber es que est ah para ayudarnos a crear
aplicaciones con mayor calidad.

Quizs, para que a todos nos queden claras las ventajas del MVC podamos echar
mano de unos cuantos ejemplos:
1.

Aunque no tenga nada que ver, comencemos con algo tan sencillo como son el HTML
y las CSS. Al principio, en el HTML se mezclaba tanto el contenido como la presentacin. Es
decir, en el propio HTML tenemos etiquetas como "font" que sirven para definir las
caractersticas de una fuente, o atributos como "bgcolor" que definen el color de un fondo. El
resultado es que tanto el contenido como la presentacin estaban juntos y si algn da
pretendamos cambiar la forma con la que se mostraba una pgina, estbamos obligados a
cambiar cada uno de los archivos HTML que componen una web, tocando todas y cada una
de las etiquetas que hay en el documento. Con el tiempo se observ que eso no era prctico

y se cre el lenguaje CSS, en el que se separ la responsabilidad de aplicar el


formato de una web.
2.

Al escribir programas en lenguajes como PHP, cualquiera de nosotros comienza


mezclando tanto el cdigo PHP como el cdigo HTML (e incluso el Javascript) en el mismo
archivo. Esto produce lo que se denomina el "Cdigo Espagueti". Si algn da pretendemos
cambiar el modo en cmo queremos que se muestre el contenido, estamos obligados a
repasar todas y cada una de las pginas que tiene nuestro proyecto. Sera mucho ms til
que el HTML estuviera separado del PHP.

3.

Si queremos que en un equipo intervengan perfiles distintos de profesionales y


trabajen de manera autnoma, como diseadores o programadores, ambos tienen que tocar
los mismos archivos y el diseador se tiene necesariamente que relacionar con mucho
cdigo en un lenguaje de programacin que puede no serle familiar, siendo que a ste
quizs solo le interesan los bloques donde hay HTML. De nuevo, sera mucho ms fcil
la separacin del cdigo.

4.

Durante la manipulacin de datos en una aplicacin es posible que estemos


accediendo a los mismos datos en lugares distintos. Por ejemplo, podemos acceder a los
datos de un artculo desde la pgina donde se muestra ste, la pgina donde se listan los
artculos de un manual o la pgina de backend donde se administran los artculos de un sitio
web. Si un da cambiamos los datos de los artculos (alteramos la tabla para aadir nuevos
campos o cambiar los existentes porque las necesidades de nuestros artculos varan),
estamos obligados a cambiar, pgina a pgina, todos los lugares donde se consuman datos
de los artculos. Adems, si tenemos el cdigo de acceso a datos disperso por decenas de
lugares, es posible que estemos repitiendo las mismas sentencias de acceso a esos datos y
por tanto no estamos reutilizando cdigo.

Quizs te hayas visto en alguna de esas situaciones en el pasado. Son solo son
simples ejemplos, habiendo decenas de casos similares en los que resultara til
aplicar una arquitectura como el MVC, con la que nos obliguemos a separar
nuestro cdigo atendiendo a sus responsabilidades.
Ahora que ya podemos tener una idea de las ventajas que nos puede aportar el
MVC, analicemos las diversas partes o conceptos en los que debemos separar el
cdigo de nuestras aplicaciones.

Modelos
Es la capa donde se trabaja con los datos, por tanto contendr mecanismos para
acceder a la informacin y tambin para actualizar su estado. Los datos los tendremos
habitualmente en una base de datos, por lo que en los modelos tendremos todas las
funciones que accedern a las tablas y harn los correspondientes selects, updates,
inserts, etc.

No obstante, cabe mencionar que cuando se trabaja con MCV lo habitual tambin
es utilizar otras libreras como PDO o algn ORM como Doctrine, que nos
permiten trabajar con abstraccin de bases de datos y persistencia en objetos. Por
ello, en vez de usar directamente sentencias SQL, que suelen depender del motor
de base de datos con el que se est trabajando, se utiliza un dialecto de acceso a
datos basado en clases y objetos.

Vistas
Las vistas, como su nombre nos hace entender, contienen el cdigo de nuestra aplicacin
que va a producir la visualizacin de las interfaces de usuario, o sea, el cdigo que nos
permitir renderizar los estados de nuestra aplicacin en HTML. En las vistas nada ms
tenemos los cdigos HTML y PHP que nos permite mostrar la salida.

En la vista generalmente trabajamos con los datos, sin embargo, no se realiza un


acceso directo a stos. Las vistas requerirn los datos a los modelos y ellas se
generar la salida, tal como nuestra aplicacin requiera.

Controladores
Contiene el cdigo necesario para responder a las acciones que se solicitan en la
aplicacin, como visualizar un elemento, realizar una compra, una bsqueda de
informacin, etc.

En realidad es una capa que sirve de enlace entre las vistas y los modelos,
respondiendo a los mecanismos que puedan requerirse para implementar las
necesidades de nuestra aplicacin. Sin embargo, su responsabilidad no es

manipular directamente datos, ni mostrar ningn tipo de salida, sino servir de

enlace entre los modelos y las vistas para implementar las diversas necesidades
del desarrollo.

Arquitectura de aplicaciones MVC


A continuacin encontrars un diagrama que te servir para entender un poco mejor cmo
colaboran las distintas capas que componen la arquitectura de desarrollo de software en
el patrn MVC.

En esta imagen hemos representado con flechas los modos de colaboracin entre
los distintos elementos que formaran una aplicacin MVC, junto con el usuario.
Como se puede ver, los controladores, con su lgica de negocio, hacen de puente
entre los modelos y las vistas. Pero adems en algunos casos los modelos pueden
enviar datos a las vistas. Veamos paso a paso cmo sera el flujo de trabajo
caracterstico en un esquema MVC.

1.

El usuario realiza una solicitud a nuestro sitio web. Generalmente estar


desencadenada por acceder a una pgina de nuestro sitio. Esa solicitud le llega al
controlador.

2.

El controlador comunica tanto con modelos como con vistas. A los modelos les
solicita datos o les manda realizar actualizaciones de los datos. A las vistas les solicita la
salida correspondiente, una vez se hayan realizado las operaciones pertinentes segn la
lgica del negocio.

3.

Para producir la salida, en ocasiones las vistas pueden solicitar ms informacin a


los modelos. En ocasiones, el controlador ser el responsable de solicitar todos los datos a
los modelos y de enviarlos a las vistas, haciendo de puente entre unos y otros. Sera
corriente tanto una cosa como la otra, todo depende de nuestra implementacin; por eso esa
flecha la hemos coloreado de otro color.

4.

Las vistas envan al usuario la salida. Aunque en ocasiones esa salida puede ir de
vuelta al controlador y sera ste el que hace el envo al cliente, por eso he puesto la flecha
en otro color.

Lgica de negocio / Lgica de la aplicacin


Hay un concepto que se usa mucho cuando se explica el MVC que es la "lgica de
negocio". Es un conjunto de reglas que se siguen en el software para reaccionar
ante distintas situaciones. En una aplicacin el usuario se comunica con el sistema
por medio de una interfaz, pero cuando acciona esa interfaz para realizar acciones
con el programa, se ejecutan una serie de procesos que se conocen como la
lgica del negocio. Este es un concepto de desarrollo de software en general.
La lgica del negocio, aparte de marcar un comportamiento cuando ocurren cosas
dentro de un software, tambin tiene normas sobre lo que se puede hacer y lo que
no se puede hacer. Eso tambin se conoce como reglas del negocio. Bien, pues
en el MVC la lgica del negocio queda del lado de los modelos. Ellos son los que
deben saber cmo operar en diversas situaciones y las cosas que pueden permitir
que ocurran en el proceso de ejecucin de una aplicacin.
Por ejemplo, pensemos en un sistema que implementa usuarios. Los usuarios
pueden realizar comentarios. Pues si en un modelo nos piden eliminar un usuario
nosotros debemos borrar todos los comentarios que ha realizado ese usuario

tambin. Eso es una responsabilidad del modelo y forma parte de lo que se llama
la lgica del negocio.
Nota: Si no queremos que esos comentarios se pierdan otra posibilidad sera mantener el registro del
usuario en la tabla de usuario y nicamente borrar sus datos personales. Cambiaramos el nombre del
usuario por algo como "Jon Nadie" (o cualquier otra cosa), de modo que no perdamos la integridad
referencial de la base de datos entre la tabla de comentario y la tabla de usuario (no debe haber
comenarios con un id_usuario que luego no existe en la tabla de usuario). Esta otra lgica tambin forma
parte de lo que se denomina lgica del negocio y se tiene que implementar en el modelo.

Incluso, en nuestra aplicacin podra haber usuarios especiales, por ejemplo


"administradores" y que no est permitido borrar, hasta que no les quitemos el rol
de administrador. Eso tambin lo deberan controlar los modelos, realizando las
comprobaciones necesarias antes de borrar efectivamente el usuario.
Sin embargo existe otro concepto que se usa en la terminologa del MVC que es la
"lgica de aplicacin", que es algo que pertenece a los controladores. Por ejemplo,
cuando me piden ver el resumen de datos de un usuario. Esa accin le llega al
controlador, que tendr que acceder al modelo del usuario para pedir sus datos.
Luego llamar a la vista apropiada para poder mostrar esos datos del usuario. Si
en el resumen del usuario queremos mostrar los artculos que ha publicado dentro
de la aplicacin, quizs el controlador tendr que llamar al modelo de artculos,
pedirle todos los publicados por ese usuario y con ese listado de artculos invocar
a la vista correspondiente para mostrarlos. Todo ese conjunto de acciones que se
realizan invocando mtodos de los modelos y mandando datos a las vistas forman
parte de la lgica de la aplicacin.
Nota: Este concepto Lgica de aplicacin no est tan extendido entre todos los tericos, pero nos puede
ayudar a comprender dnde est cada responsabilidad de nuestro sistema y dnde tenemos que escribir
cada parte del cdigo.

Otro ejemplo. Tenemos un sistema para borrar productos. Cuando se hace una
solicitud a una pgina para borrar un producto de la base de datos, se pone en
marcha un controlador que recibe el identificador del producto que se tiene que
borrar. Entonces le pide al modelo que lo borre y a continuacin se comprueba si

el modelo nos responde que se ha podido borrar o no. En caso que se haya
borrado queremos mostrar una vista y en caso que no se haya borrado queremos
mostrar otra. Este proceso tambin est en los controladores y lo podemos
denominar como lgica de la aplicacin.
De momento eso es todo! Esperamos que este artculo haya podido aclarar los
distintos conceptos relacionados con el MVC y aunque no hayamos visto una
implementacin en cdigo, te sirva para poder investigar a partir de aqu. En
DesarrolloWeb.com hemos tratado con mayor detalle algunos aspectos de MVC y
la relacin entre vistas y modelos y sus interpretaciones en un artculo que seguro
te interesar. Adems podrs ver cmo trabajar con MVC en el Manual de
Codeigniter, en el Manual de Laravel y en el Manual del framework ASP.NET MVC.
Paralelamente queremos que conozcas nuestra plataforma para la formacin
EscuelaIT, donde podrs aprender con nosotros todo sobre este MVC y otros
asuntos relacionados con la arquitectura del software en este curso de MVC y
otras Tcnicas de desarrollo de aplicaciones web en PHP.

Вам также может понравиться