Archivos para mayo, 2007

Sistema para distribución y actualización de aplicaciones
de .NET Framework 2.0

Introducción

Como seguramente ya sabrás, ClickOnce permite instalar una aplicación desde cualquier sitio, incluso desde un sitio Web.
La “gracia” de este sistema de instalación es que cuando se ejecute la aplicación instalada con ClickOnce, la aplicación buscará nuevas actualizaciones de forma automática, y si la hubiera, te preguntará si la quieres instalar.

También se encargará de instalar los requisitos que esa aplicación necesite, por tanto, si nunca has trabajado con una aplicación que use el .NET Framework 2.0, éste se instalará en tu máquina.

Debes saber, que en la fecha que publico esta página, (27 de Octubre de 2005), ya está la versión definitiva de .NET Framework 2.0, por tanto, lo que se instalará usando los ejemplos sacados del GUILLE.info, NO será una beta, sino la versión final.

Y para empezar, la primera aplicación de consola que he hecho con el Visual Basic 2005 Express, osea que está recién salida del horno.

¿Cómo funciona el ClickOnce?

Cuando pulses en el link, te mostrará una ventana como esta, en la que, además de la información de la aplicación, también te indicará los requisitos que no tienes instalado para que funcione, en este ejemplo solo el runtime de .NET Framework 2.0, tal como vemos en la Siguiente figura:
clickonce_01.jpg

Cuando pulses en Install, te preguntará que quieres hacer, si bajar el ejecutable o ejecutarlo directamente, puedes hacer las dos cosas, ya que siempre lo bajará primero. Pero si decides indicar que lo guarde, tendrás que ejecutarlo y después de las advertencias del Windows XP con SP2 (si es que tienes ese sistema operativo), te pedirá que aceptes el contrato de licencia y esas cosas que siempre piden los programas.

Y una vez aceptado, empezará a bajar los requisitos necesarios:

clickonce_02.png

En este caso, bajará solamente el .NET Framework 2.0, y empezará la instalación, primero del .NET Framework 2.0 (si es que no lo tienes instalado):
clickonce_03.png

La ventaja del .NET Framework, es que no te pide que reinicies el equipo, al menos a mi no me lo ha pedido. Yo tengo el Windows XP Professional con Service Pack 2 y todas las actualizaciones habidas y por haber… o casi.

De todas formas, siempre es conveniente de que lo reinicies después de que se instale el .NET 2.0.
También vamo a indicarle en las opciones de la ficha de “publicación” que no use la extensión .deploy, tal como podemos ver en la figura, todo irá como es de esperar.

clickonce_05.png
Como te decía, después de que se hayan instalados los requisitos, (en nuestro ejemplo sólo el runtime del .NET Framework 2.0), seguiremos con la instalación.
clickonce_06.png

Una vez comprobado que todo está bien en nuestra máquina, nos preguntará si queremos instalar la aplicación, ver figura 7, le diremos que sí, que se fíe de ella.
clickonce_07.png

Tal como vemos en la figura 8, empezará el proceso de instalación, bajándose el ejecutable, en estos casos, desde mi sitio.
clickonce_08.png

Y cuando haya terminado, se ejecutará, tal como vemos en la figura.
clickonce_09.png

Para ver el articulo con mas detalles visita http://www.elguille.info ya que es el sitio de donde he sacado este artículo.

Anuncios

Video introductorio a la nueva versión de visual studio.net 2005, basada en el framework 2.0

Aquí tienen un excelente video-tutorial para aprender a crear servicios web con ASP.NET paso a paso:
1.
Como crear un servicio Web.
2. Como probar o invocar un servicio Web.
3. Como invocar un servicio Web desde la interfaz.

Hace un tiempo AJAX parece ser la palabra de moda en el “mundo” del desarrollo de aplicaciones Web; de hecho muchos lo escuchan nombrar pero pocos saben que es realmente y, menos aún, saben en donde buscar información clara sobre que es esta nueva “maravilla” de la tecnología que Jesse James Garret publicó en un artículo en Inglés excelente que vale la pena traducir por completo.

¿Porque es tan interesante AJAX? Porque en realidad AJAX no es una tecnología, sino la unión de varias tecnologías que juntas pueden lograr cosas realmente impresionantes como GoogleMaps, Gmail el Outlook Web Access (ref) o algunas otras aplicaciones muy conocidas: AJAX, en resúmen, es el acrónimo para Asynchronous JavaScript + XML y el concepto es: Cargar y renderizar una página, luego mantenerse en esa página mientras scripts y rutinas van al servidor buscando, en background, los datos que son usados para actualizar la página solo re-renderizando la página y mostrando u ocultando porciones de la misma.

La traducción completa a continuación:

Ajax: Un Nuevo acercamiento a las Aplicaciones Web
Por Jesse James Garrett
February 18, 2005
Si algo del actual diseño de interacción puede ser llamado glamoroso, es crear Aplicaciones Web. Después de todo, ¿cuando fue la ultima vez que escuchaste a alguien hablar de diseño de interacción de un producto que no esté en la Web? (Okay, dejando de lado el iPod). Todos los nuevos proyectos cool e innovadores están online.

Dejando de lado esto, los diseñadores de interacción Web no pueden evitar sentirse envidiosos de nuestros colegas que crean software de escritorio. Las aplicaciones de escritorio tienen una riqueza y respuesta que parecía fuera del alcance en Internet. La misma simplicidad que ha permitido la rápida proliferación de la Web también crea una brecha entre las experiencias que podemos proveer y las experiencias que los usuarios pueden lograr de las aplicaciones de escritorio.

Esa brecha se está cerrando. Échenle una mirada a las Google Suggest. Mira la forma en que los términos sugeridos se van actualizando a medida que uno tipea casi instantáneamente. Ahora mire Google Maps. Hace zoom. Usen el cursor para agarrar el mapa y navegarlo un poco. Otra vez, todo sucede casi instantáneamente, sin esperar que las paginas se recarguen.

Google Suggest y Google Maps son dos ejemplos de un nuevo acercamiento a las aplicaciones Web, que nosotros en Adaptative Path hemos denominado AJAX. El nombre es una abreviación o acrónimo para Asynchronous JavaScript + XML, y ello representa un cambio fundamental en que es posible en la Web.

Definiendo Ajax
Ajax no es una tecnología. Es realmente muchas tecnologías, cada una floreciendo por su propio mérito, uniéndose en poderosas nuevas formas. AJAX incorpora:

presentación basada en estándares usando XHTML y CSS;
– exhibición e interacción dinámicas usando el Document Object Model;
– Intercambio y manipulación de datos usando XML and XSLT;
– Recuperación de datos asincrónica usando XMLHttpRequest;
– y JavaScript poniendo todo junto.

El modelo clásico de aplicaciones Web funciona de esta forma: La mayoría de las acciones del usuario en la interfaz disparan un requerimiento HTTP al servidor web. El servidor efectúa un proceso (recopila información, procesa números, hablando con varios sistemas propietarios), y le devuelve una pagina HTLM al cliente. Este es un modelo adaptado del uso original de la Web como un medio hipertextual, pero como fans de “The Elements of User Experience” sabemos, lo que hace a la Web buena para el hipertexto, no la hace necesariamente buena para las aplicaciones de software.
ajax-fig1_small_es.gif

Figura 1: El modelo tradicional para las aplicaciones Web (izq.) comparado con el modelo de AJAX (der.).

Este acercamiento tiene mucho sentido a nivel técnico, pero no lo tiene para una gran experiencia de usuario. Mientras el servidor esta haciendo lo suyo, que esta haciendo el usuario? Exacto, esperando. Y, en cada paso de la tarea, el usuario espera por mas.

Obviamente, si estuviéramos diseñando la Web desde cero para aplicaciones, no querríamos hacer esperar a los usuarios. Una vez que la interfaz esta cargada, porque la interacción del usuario debería detenerse cada vez que la aplicación necesita algo del servidor? De hecho, porque debería el usuario ver la aplicación yendo al servidor?

Como es diferente AJAX
Una aplicación AJAX elimina la naturaleza “arrancar-frenar- arrancar-frenar” de la interacción en la Web introduciendo un intermediario -un motor AJAX- entre el usuario y el servidor. Parecería que sumar una capa a la aplicación la haría menos reactiva, pero la verdad es lo contrario.

En vez de cargar un pagina Web, al inicio de la sesión, el navegador carga al motor AJAX (escrito en JavaScript y usualmente “sacado” en un frame oculto). Este motor es el responsable por renderizar la interfaz que el usuario ve y por comunicarse con el servidor en nombre del usuario. El motor AJAX permite que la interacción del usuario con la aplicación suceda asincrónicamente (independientemente de la comunicación con el servidor). Así el usuario nunca estará mirando una ventana en blanco del navegador y un icono de reloj de arena esperando a que el servidor haga algo.
ajax-fig2_small_es.gif

Figura 2: El patrón de interacción sincrónica de una aplicación Web tradicional (arriba) comparada con el patrón asincrónico de una aplicación AJAX (abajo).

Cada acción de un usuario que normalmente generaría un requerimiento HTTP toma la forma de un llamado JavaScript al motor AJAX en vez de ese requerimiento. Cualquier respuesta a una acción del usuario que no requiera una viaje de vuelta al servidor (como una simple validación de datos, edición de datos en memoria, incluso algo de navegación) es manejado por su cuenta. Si el motor necesita algo del servidor para responder (sea enviando datos para procesar, cargar código adicional, o recuperando nuevos datos) hace esos pedidos asincrónicamente, usualmente usando XML, sin frenar la interacción del usuario con la aplicación.

Quien está usando Ajax
Google está haciendo una significativa inversión en el acercamiento Ajax. Todos los grandes productos que Google ha introducido en el ultimo año (Orkut, Gmail, la última versión de Google Groups, Google Suggest, y Google Maps ) son aplicaciones Ajax. (Para datos más técnicos de estas implementaciones Ajax, lean estos excelentes análisis de Gmail, Google Suggest, y Google Maps.) Otros están siguiendo la tendencia: muchas de las funciones que la gente ama en Flickr dependen de Ajax, y el motor de búsqueda de Amazon A9.com aplica tecnologías similares.

Estos proyectos demuestran que Ajax no es solo técnicamente importante, sino también prácticos para aplicaciones en el mundo real. Esta no es otra tecnología que solo trabaja en un laboratorio. Y las aplicaciones Ajax pueden ser de cualquier tamaño, de lo más simple, funciones simples como Google Suggest a las muy complejas y sofisticadas como Google Maps.

En Adaptive Path, estuvimos haciendo nuestro propio trabajo con Ajax en los últimos meses, y estamos descubriendo que solo raspamos la superficie de la rica interacción y respuesta que que las aplicaciones Ajax puede proveer. Ajax es un desarrollo importante para las aplicaciones Web, y su importancia solo va a crecer. Y como hay tantos desarrolladores que ya conocen como usar estas tecnologías, esperamos ver mas empresas y organizaciones siguiendo el liderazgo de Google en explotar la ventaja competitiva que Ajax provee.

Mirando adelante
Los mayores desafíos al crear aplicaciones Ajax no son técnicas. Las tecnologías centrales son maduras, estables y bien conocidas. En cambio, los desafíos son para los diseñadores de estas aplicaciones: olvidar lo que creemos saber sobre las limitaciones de la Web, y comenzar a imaginar un rango más amplio y rico de posibilidades.
Va a ser divertido.

Ahora ya están disponibles versiones beta del .NET Framework 3.5 (la beta 1 se puede descargar acá) y también una versión pre-release Beta del Visual Studio Orcas para correr bajo el Virtual PC, que se puede descargar acá.

Algunas de las novedades importantes que traerán estas tecnologías, será la compatibilidad con SilverLight (la nueva tecnología de Microsoft para competir con el Flash de Adobe, que aun esta en Beta).

– DRL (Dynamic Language Runtime), un CLR (Common Language Runtime) multiplataforma.

– También tendrá un editor WYSIWYG Web, que felicitará el diseño en aplicaciones echas en ASP.NET.

– También integrara los ya anunciadas nuevas versiones; Visual Basic 9.0 y C# 3.0

– Se integrara LINQ (Language Integrated Query)

Más otras interesantes novedades, como se puede ver en esta línea, y como ya se estuvo viendo últimamente también el .NET 3.0, Microsoft esta apostando bastante al diseño, y sigue apostando fuertemente a todo lo Web.

Inpresionante la forma de llegar a tener experiencias muy pero muy agradables y asombrosas a la vez al momento de visitar un sitio web.

Flex es protagonista en este artículo, esta vez porque la gente de Outsmart Labs, nos muestra:

Flex/AS3 3D Engine demo

3dflex.png

Cuando vean la estructura de ese demo que tiene la pagina me van a dar la razón por que comence poniendo el título de este artículo como WOW!!.  🙂

.NET es un proyecto de Microsoft para crear una nueva plataforma de desarrollo de software con énfasis en transparencia de redes, con independencia de plataforma y que permita un rápido desarrollo de aplicaciones. Basado en esta plataforma, Microsoft intenta desarrollar una estrategia horizontal que integre todos sus productos, desde el Sistema Operativo hasta las herramientas de mercado.

.NET podría considerarse una respuesta de Microsoft al creciente mercado de los negocios en entornos Web, como competencia a la plataforma Java de Sun Microsystems.

A largo plazo Microsoft pretende reemplazar el API Win32 o Windows API con la plataforma .NET. Esto debido a que el API Win32 o Windows API fue desarrollada sobre la marcha, careciendo de documentación detallada, uniformidad y cohesión entre sus distintos componentes, provocando múltiples problemas en el desarrollo de aplicaciones para el sistema operativo Windows. La plataforma .NET pretende solventar la mayoría de estos problemas proveyendo un conjunto único y expandible con facilidad, de bloques interconectados, diseñados de forma uniforme y bien documentados, que permitan a los desarrolladores tener a mano todo lo que necesitan para producir aplicaciones sólidas.

(más…)