Busqueda local

Loading

lunes, 9 de febrero de 2015

MVC y sus tecnologías relacionadas para principiantes.

Cuando trabajaba con aplicaciones de escritorio, las tecnologías requeridas eran pocas: un lenguaje de programación, una base de datos, controles ya sea desarrollados por nosotros o por un tercero y un reporteado como Crystal Reports. Rara vez se requería algo adicional que merezca mención.

image

Cuando empecé con ASP la migración no fue muy traumática, después de todo el entorno era similar a programar una aplicación de escritorio. Pero cuando descubrí MVC mi cerebro hizo BOOOOM!...

 

Por que?

Como ya les he explicado en artículos anteriores, MVC no es como ASP; aun que MS insista en incluir las siglas ASP.NET como parte del nombre. MVC es una verdadera programación en ambiente WEB. MVC no es ASP, yo creo que es la evolución del ASP y que con el tiempo el ASP podría ser descontinuado.

image

MVC no tiene el lastre de la programación de aplicaciones de escritorio, MVC no nos cobija en su manto, para que no tengamos que lidiar con el HTTP. MVC nos lleva a un nuevo entorno, a un entorno donde no bastara con saber un lenguaje de programación para ser programadores.

 

Importa el lenguaje?.

Si programan con VB.NET o con C#, pueden ponerle una marca al lenguaje de programación, aun que para ser sincero, el lenguaje de programación de su preferencia podría tener cierto impacto en sus habilidades en la WEB.

image

Microsoft tiene dos lenguajes principales: VB.NET (desde 2002) y C#, ambos son poderoso modernos lenguajes orientados al desarrollo de aplicaciones orientadas a objetos (clases). Sin embargo VB.NET es la evolución del Visual Basic (previo a 2002) y ha requerido de muchos cambios y re factorizaciones, para adaptarlo al nuevo entorno.

En cambio C# a pesar de todos los comentarios adversos en sus orígenes, es un lenguaje innovador, que ha cambiado la forma en la cual escribimos programas. (Antes yo programaba en VB, luego VB.NET y me resistía a dejarlo para aprender C#, hasta que vi lo que podía hacer).

Lo más importante de todo esto es la similitud entre C# y el principal lenguaje de programación de la WEB, ese que se ejecuta en el navegador y que ha evolucionado junto con internet, me refiero al JavaScript. Si aprendes C#, comprenderás la mayor parte del código de JavaScript y si ya sabes escribir código en JavaScript, pero programas en VB.NET resultara muy fácil aprender a programar usando C#.

Creo que la sintaxis podría ser la única ventaja significativa, aun que no tiene que ser determinante; VB.NET y C# son capaces de crear código para solucionar los mismos requerimientos. Ambos tienen ventajas y desventajas, ambos trabajan con el .NET framework.

 

Modelos de comunicación por la red.

Lo primero que debemos comprender cuando incursionamos en el ambiente de la red, son las formas por medio de las cuales podemos escribir aplicaciones, o sea como lograremos la comunicación entre nuestra aplicación y el servidor.

  1. Cliente-Servidor: En este modelo, el código se encuentra distribuido en diferentes equipos a través de una red. Donde algunas piezas del código residen en un servidor y responden a las solicitudes de un programa hermano que se encuentra en otra máquina. Todos son parte del mismo sistema. Este tipo de comunicación no requiere que el programador este consiente de la comunicación entre las partes. ASP emplea un paradigma similar.
  2. Pull Technology: Este modelo de comunicación se origina en una solicitud por parte de un cliente, lo que ocasiona una respuesta por parte del servidor. Este modelo es ampliamente usado en Internet para atender la solicitud de paginas HTML. El entorno hace necesario conocer y comprender la forma en que se comunican las partes. MVC emplea este modelo.
  3. Push Technology: en este modelo de comunicación, es el servidor el que origina la transmisión de información; en ciertas circunstancias es mas practico recurrir a este mecanismo. Los clientes han establecido ciertas preferencias y el servidor se encarga de atenderlas cada vez que exista algo que compartir. En las aplicaciones modernas es común encontrar este modelo de comunicación, por ejemplo en Facebook.

 

Que es un framework?

Se trata de un concepto muy popular, es la actualidad se emplean para desarrollar una aplicación mucho más rápido que si tuviéramos que empezar desde cero. En general es una estructura conceptual o real que tiene como objetivo server como soporte, base, punto de origen, lineamientos, guía para construir algo. Que se ampliara para crear una estructura útil.

image

Un buen Framework es un conjunto de bibliotecas que nos ofrecen la solución a determinado requerimiento, simplificando las capas de abstracción, evitándonos tener que lidiar con ciertas tareas repetitivas que ya han sido resultas para que podamos sacar provecho de ese esfuerzo.

Por ejemplo: Bootstrap, se trata del framework para Front-End mas popular, que nos permite crear aplicaciones que puedan adaptarse al dispositivo con facilidad, sin que tengamos que hacer algún esfuerzo extra para lograrlo. MVC 5 incluye este framework como parte de su propuesta.

 

Lista de tecnologías.

Ya hemos establecido que mi recomendación para programar en MVC es usar C#, así que ahora vamos a concentrarnos en las tecnologías; cada tecnología tendrá una breve explicación. Enlistare las más importantes, el orden no está relacionado con su importancia:

  • HTTP: Se trata de un protocolo, que establece los lineamientos de cómo se debe formatear la información para ser transmitida; así mismos establece las acciones deberán realizar servidores y navegadores antes ciertos comandos. Se trata de un protocolo sin estado, esto quiere decir que cada comando se ejecuta de manera independiente del otro y sin conocimiento entre estos.
  • HTML: se trata de un lenguaje de programación. Es muy fácil de aprender y es bastante poderoso por sí solo. El HTML en combinación con el HTTP detonaron el éxito del internet. Su relación no lineal, nos permite movernos a través de diferentes sitios en cualquier parte de internet. Los componentes básicos son los hipertextos y las etiquetas. La idea de tras de este es que sea empleado únicamente para definir el documento. En MVC las vistas son paginas HTML.
  • XHTML: Se trata de código HTML, escrito como si fuera XML. Lo que da como resultado un código más estricto, que no tolera excepciones, conocidas como HTML malo, ya que el HTML no exige que debamos escribir ciertas etiquetas y el XHTML si.
  • XML: Primero vamos a hablar sobre la diferencia entre el HTML y el XML. HTML fue creado para desplegar los datos y el XML para Definir los datos. Las etiquetas del XML no se encuentran pre definidas, nosotros debemos definirlas. Por último el XML no hace nada, solo sirve para definir datos.
  • CSS: El CSS define como serán presentados los elementos de las paginas HTML. CSS simplifica las páginas y nos ahorra mucho código. Fueron creados para la versión 4 del HTML como una solución al problema que se creó al tratar de añadir estilo a las etiquetas.
  • Javascript: se trata del lenguaje de programación más popular del mundo; su importancia para quienes programamos en internet radica en su habilidad de poder cambiar el contenido en documentos HTML de manera dinámica. Tanto etiquetas como CSS. Además nos permite escribir código que se ejecutara en el navegador del cliente, con todo el poder que eso representa.
  • JQuery: La idea de tras de este es que el uso de JavaScript en un sitio web resulte más sencillo. Para poder usar el JQuery, debemos conocer HTML, CSS y Javascript. Es una biblioteca de código de propósito general escrita en Javascript, que nos ofrece manipulación de elementos HTML (DOM), manipulación de estilos CSS, manejo de eventos HTML, efectos, animaciones, asi como implementaciones practicas de AJAX entre otras.
  • Ajax: Se creó para poder actualizar cierta parte de la pagina web, sin tener que recargarla de nuevo. Para poder usarla necesitamos saber HTML, XHTML, CSS, Javascript. Se trata de una técnica que nos permite crea páginas más rápidas y más dinámicas. El secreto consiste en la comunicación asíncrona entre la página y el servidor intercambiando datos, todo por detrás de la escena.
  • IIS: Se trata de un conjunto de servicios WEB (HTTP, FTP, SMTP, etc.). Fue creado por MS, para que sea usado por aplicaciones de la plataforma Windows. El IIS nos permite que una computadora pueda comportarse como un servidor web.

 

Comentario Final.

Como pueden ver, para tener éxito en el patrón MVC de ASP.NET es necesario liberarnos de la forma de programar que nos impuso MS cuando pretendió simplificarnos la incursión al entorno de la WEB. Cuando descubrimos todo lo que podemos hacer cuando tenemos conciencia de lo que había debajo de esa capa de abstracción, sentimos que somos capaces de controlar todo lo que antes nos ocasionaba frustración.

Que esperan?

Suerte.

No hay comentarios:

Publicar un comentario