Este blog está orientado a toda la gente que quiera ver y participar en temas de ing. de software, TI, redes y otras áreas de la computación.

miércoles, mayo 24, 2006

¿Quieres aprender JAVA?

Estudiando JAVA para realizar proyectos personales me encontré con este libro:

Java For Artists: The Art, Philosophy, and Science of Object-Oriented Programming
by Rick Miller and Raffi Kasparian
ISBN: 1932504052

La verdad quedé sorprendido. Este libro habla de muchos temas interesantes como el paradigma de Programación Orientada a Objetos, de las diferentes metodologías para crear sistema completos, Extreme Programming, entre otros. Lo que hace a este libro excepcional es que esta dirigido a estudiantes de carreras como Ing. en Sistemas, Electrónica o cualquier otra en que necesites programar. El material que provee es avanzado pero ya quisiéramos muchos habernos encontrado con un libro dirigido a estudiantes que tocara estos temas. El autor explica todo tan sencillo que hace que los temas ya no luzcan tan avanzados o complejos. La verdad hace ver a muchos tutoriales, libros y sitios oficiales un poco rolleros e inalcanzables.
Ya sea para aprender algo nuevo o reforzar tus conocimientos, te recomiendo le des una checada a este libro. Para aquellos que tienen cuenta en www.books24x7.com ahí lo pueden encontrar.

martes, mayo 16, 2006

Introducción a ASP.NET – Formularios Web

Quiero mostrarles como funcionan los formularios Web y algunas de sus características. Primero vamos a crear un proyecto de Web utilizando Visual Studio .NET. Bajo el menú principal de File -> New -> Project se encuentra la opción de ASP.NET Web Application. Aquí Visual Studio nos pregunta por un directorio virtual en vez de una ruta física ya que estamos trabajando con un sitio Web. Esto es interesante porque como podemos ver ya de un inicio estamos trabajando bajo un ambiente Web y se nota que todo va encaminado a que funcione en Internet.



Lo primero que nos damos cuenta al ver nuestra pantalla es que aparece una forma muy parecida a la que sale cuando creamos una aplicación de Windows. En un proyecto de Web este control se llama Web Form.
Dibujar una forma es tan sencillo como arrastrar controles a donde se requieran y acomodarlos con el ratón. Solo arrastrando controles (es decir, sin tener que codificar aun nada) podemos dibujar una forma así:


Si nos fijamos bien, hay una pestaña que dice HTML abajo del lado izquierdo. Si nos vamos ahí podemos ver mucho código parecido al lenguaje de marcación HTML. Esto no es solamente lenguaje de HTML sino que tiene etiquetas de controles de asp. Como podemos ver, Visual Studio se encargo de poner el código necesario para mostrar nuestro formulario.



Pero ¿qué es lo interesante de esto? ASP.NET divide una página Web en dos archivos distintos. Uno de presentación (Es el que hemos estado viendo y consta de las pestañas: diseño y HTML) y otro del código para poder visualizar y manipular los controles. Cada archivo es único e interactúan entre sí.
El archivo de presentación es en realidad una página HTML en formato XML, y etiquetas de ASP.NET. Estas etiquetas se utilizan para asignar a cada control de ASP.NET (como una caja de texto, etiqueta de texto, botón de radio, etc.) sus propiedades y localización en la página Web. Cuando un cliente o explorador solicita una página Web, ASP.NET se encarga de reemplazar las etiquetas por los controles verdaderos de HTML y regresarlo en forma de página Web al explorador del cliente. Esto sirve para que ASP.NET pueda identificar el tipo de Explorador usado por el cliente y mandarlo adecuadamente para que la página sea compatible 100% con el cliente.
En el archivo de código se escribe toda la lógica de la página Web. Aquí se escriben las acciones o eventos de cada control. Como podemos ver, el tener 2 archivos separados evita el código mezclado y nos ayuda a tener separada el código lógico de lo gráfico.
Si vienes de desarrollar en ASP clásico o alguna vez tuviste que crear una página Web en ASP a mano, podrás apreciar todas estas características y regocijarte por todo el tiempo extra que te va a quedar utilizando Visual Studio y las ventajas proporcionadas por ASP.NET.

Introducción a ASP.NET – ASP vs ASP.NET

Empecé a escribir acerca de Web Services pero me di cuenta que va ligando con ASP.NET. ASP.NET es muy extenso e importante porque abarca casi todo lo necesario para hacer proyectos de Web con el framework de .NET.
Veamos de donde viene esta tecnología. Hace ya algunos años atrás cuando el auge del Internet iba creciendo y creciendo, los desarrolladores de aplicaciones se vieron con la necesidad de crear o traspasar sus aplicaciones a Internet.
La primera opción que funcionó fue cuando Microsoft sacó el producto Visual InterDev. Este permitía crear páginas Web que contenían código para ser ejecutado por el Internet Information Server (IIS). Estas aplicaciones debían ser instaladas en el servidor para que cuando un explorador (Internet Explorer, Netscape, etc.) hiciera una petición de ejecución al servidor, este procesara la aplicación y regresara el resultado al explorador. Estos fueron los inicios de ASP o Active Server Pages.
Las desventajas eran que los desarrolladores tenían que rediseñar y reconstruir sus aplicaciones para migrarlas al modelo de Web y que el código dentro de una página Web (archivo con extensión .asp) estaba mezclado con HTML y Script, situación que hacía muy difícil mantener el código ya que no era legible o amigable. (A esto se le llama código spaghetti porque en un párrafo estaban mezclados varios lenguajes).
Otra desventaja importante es que una solución en ASP debe llevar consigo mismo toda la lógica de negocio ya que el servidor se va a encargar solamente de interpretar su contenido. Tomando esto en cuenta, es obvio que la reutilización de código es casi nula ya que cada archivo de ASP se comporta como una isla, situación poco deseadas para la reutilización y administración eficaz de código.
La arquitectura en capas con la tecnología ASP era muy complicada ya que los controles de presentación (formas, cajas de texto, etiquetas, etc) debían ir dentro de cada archivo .asp. Esto ocasionaba tener una mezcla de código de capas de presentación, negocio y hasta de datos.

Cuando Microsoft lanza la tecnología .NET incorpora los proyectos de Web dentro de Visual Studio .NET. Esto provee una interfaz para desarrollar aplicaciones de Web muy sencilla. La construcción de la capa de presentación es similar a un proyecto de Windows. Se arrastran controles hacia el área deseada y se acomodan con facilidad. La lógica para que estos controles interactúen es separada (como en las formas de Windows) en otro archivo a parte. Esto da como resultado un archivo de presentación y un archivo de lógica o negocios. ¿Qué tiene esto de maravilloso? Que la parte que contiene la lógica de la página Web es compilado y tratado como ensamble permitiendo incorporar conceptos tales como clases, espacios de nombre, etc.
Otra característica importante de ASP.NET son las mejoras sustanciales con respecto al manejo de la persistencia de la información (estado), ya que brinda la posibilidad de que los diferentes componentes que integran una página puedan mantener en forma automática su contenido a través de las diversas peticiones de la misma.
Por último, en bes más sencillo la depuración y detección de errores ya que utiliza herramientas del framework .NET para ayudar al buen manejo de errores y excepciones.
Ahora que entendemos los maravilloso que es ASP.NET y sus ventajas con respecto a su antecesor, podemos meternos más a fondo y hasta desarrollar una pequeña aplicación como demostración.