MSDN Blogs
  • WarNov Developer Evangelist

    Office 365 for Developers!

     

    Office 365 msdn

     

    Así es para subscriptores Ultimate y Premium de MSDN
    Por un año!

    Todas las herramientas y recursos requeridos para comenzar a construir y probar apps de Office 365:

    • Un sitio en SharePoint Online personalizado para crear y personalizar apps
    • Acceso a las herramientas de Desarrollo Napa para crear y probar apps
    • Un Microsoft Seller Dashboard para exponer apps gratis y pagas para vender en el Office Store.

    Por ahora no hay disponibilidad para suscripciones adquiridas a través de programas especiales como Bizspark.

    La suscripción igual se puede comprar aquí.


    Más información acerca de cómo construir Office y SharePoint apps, próximamente en este blog.

  • WarNov Developer Evangelist

    Publiqué mi app para Windows Phone 8, pero me sigue bajando solo la de Windows Phone 7

    Como saben, ya está al alcance de todos la posibilidad de subir la versión de Windows Phone 8 de nuestras apps. Sin embargo, comencé a notar con la gente que trabajo, que cuando en el store de Windows Phone residen las dos versiones tanto para WP7 como para WP8, cuando un usuario con WP8 trata de bajar la app, le sigue bajando la misma de WP7, a pesar de que la de WP8 está también presente.

    Uno diría que se debería detectar el modelo del aparato y bajarse la adecuada.

    Desafortunadamente esto no está sucediendo, así que mientras se corrige, aquí les dejo mi solución recomendada:

    Solo basta con aumentar la versión de la app, en la versión de WP8.

    Por ejemplo, si su versión de app de WP7 es la 1.7.x, asegúrense de que en WP8 será 1.8.x

    De esta manera, sus usuarios de WP8 bajarán la versión adecuada.

    Para hacer este cambio, solo basta entrar al manifiesto de la app y hacer la respectiva modificación:

    Primero abrimos el AppManifest.xml que está dentro de la carpera properties del proyecto:

    image

    y luego  cambiamos la versión dentro del archivo:

     

    image

    Espero que con esto puedan solucionar el inconveniente, o mejor aún, puedan evitar que suceda.

  • WarNov Developer Evangelist

    Metadatos de Azure vs. Caracteres Especiales

    @lvbernal, quien hace parte de nuestro grupo de MCS, me preguntó acerca de un problema que estaba teniendo en su desarrollo con Windows Azure, al tratar de usar caracteres especiales en los metadatos de los blobs que requería subir a Windows Azure. Le di la guía que lo llevó a la solución y él muy amablemente nos estructuró la solución en este post que he puesto como invitado para su deleite.

    image

    Nos dice Leonardo:

    Estoy desarrollando una aplicación que guarda documentos en Windows Azure y quiero compartir dos decisiones de diseño:

    • No utilizo tablas que relacionen usuarios y documentos, sino que creo un contenedor para cada usuario. Eso me da mayor flexibilidad al momento de hacer transacciones o al eliminar los usuarios (tarea muy frecuente en fase de desarrollo).
    • Los datos asociados al documento como fechas, descripción, etc. los almaceno en los metadatos del blob.

    Hay un problema con la última decisión: no se pueden almacenar caracteres especiales en los metadatos. Para solucionarlo, seguí la recomendación de WarNov y utilicé un codificador HTML:

    blob.Metadata["Description"] = HttpUtility.HtmlEncode(model.Description);
    Description = HttpUtility.HtmlDecode(blob.Metadata["Description"]);


    Los nombres de los archivos tampoco pueden contener espacios porque hay navegadores que no los aceptan en las cabeceras de tipo Content-Disposition, necesarias para descargarlos. Yo los reemplazo por "_":

    blob.Metadata["FileName"] = HttpUtility.HtmlEncode(file.FileName.Replace(" ", "_"));
    Response.AddHeader("Content-Disposition", "attachment; filename=" + HttpUtility.HtmlDecode(blob.Metadata["FileName"]));

     

    Leonardo Vargas Bernal: Es Ingeniero Telemático de la Universidad Icesi, hace parte del Grupo de Investigación en Informática y Telecomunicaciones i2T, en las áreas de Aplicaciones y servicios móviles, Comunicaciones inalámbricas y Computación ubicua. Microsoft Community Specialist y MSP de 2007 a 2009, ha trabajado con tecnologías como Windows 8, Windows Azure y ASP.NET MVC. Emprendedor y amante de los retos de ingeniería. Encuentren su blog aquí.

  • WarNov Developer Evangelist

    iOS Native Development: Con Visual Studio en Windows gracias a Xamarin

    Por primera vez en la historia, gracias al brillante trabajo de Xamarin, hoy podemos escribir aplicaciones nativas de iOS en Visual Studio y Windows usando C#! Todo lo bueno que se nos ofrece en el IDE más poderoso del mundo (Resharper, TFS, addons, y demás) ahora incluye además soporte para iOS!


    Xamarin iOS for Visual Studio nos permite escribir, depurar y probar aplicaciones iOS desde máquinas Windows, siempre y cuando se cuente con al menos una Mac conectada en red que provea los servicios de build y despliegue.

    Las ventajas que ofrece este acercamiento es que podemos crear una sola solución para desarrollar cross platform apps, mientras se usan herramientas poderosas solo disponibles en VS, como TFS o Resharper, usando la experiencia familiar que nosotros developers Windows ya tenemos dentro de nuestra casa VS.

    De hecho, si lo único que tienen son MACs, pero igual quieren las ventajas de tener el IDE más poderoso del mundo para hacer desarrollos sobre iOS, la solución de Xamarin permite correrlo sobre un Windows en Parallels.

    Por qué se requiere un MAC?
    Las apps iOS no pueden ser creadas sin el compilador de Apple, y no puedes ser desplegadas sin los certificados de Apple y sus herramientas de firmado de código, que obviamente no están disponibles a terceros.

    Lo bueno, es que una vez se configura, Xamarin hace toda la conexión sin que uno se de cuenta como developer.

    Así que los requerimientos serían:
    Windows 7 u 8.
    VS2010 o VS2012.
    Plugin de Xamarin para VS

    Y en la MAC:
    OS X Lion o Mountain Lion
    Xamarin iOS SDK
    El Xcode IDE y el iOS SDK

    De acuerdo a la gente de Xamarin, la arquitectura de esta solución es:

     
    image


    Un detalle importante sin embargo, es que el emulador de iOS no corre en Windows, así que en este paso hay que ir a la MAC para ver la ejecución. Sin embargo el resto de ventajas, valen la pena.

    Este producto se puede adquirir desde USD$1000= 

  • WarNov Developer Evangelist

    NodeJS Crash Course: El curso rápido y sencillo para aprender Node.JS

    image

    Queremos sitios web realmente veloces. Sitios web que puedan atender a miles de usuarios concurrentes sin presentar fallas de escalabilidad en sus servicios.

    Necesitamos un nuevo acercamiento que nos permita a nosotros como developers poder desarrollar este tipo de sitios Web y, efectivamente, NodeJS cumple esta tarea a cabalidad.

    Este es el primer episodio del curso Noding With WarNov, en el que aprenderás a manejar Node.js para crear sitios web de última generación que funcionan a grandes velocidades y soportando grandes cargas. Node.js básicamente es una compilación de paquetes. Por un lado incluye el engine V8 JavaScript de Google. Por el otro la capa de abstracción provista por libUV y finalmente una librería core de Node.js escrita principalmente en JavaScript.

    Creado en 2009 por Ryan Dahl, hoy es altamente usado en aplicaciones web que requieren alta velocidad y manejo de tráfico optimizado. Es mantenido por Joyent, aunque sigue siendo open source. La principal característica que lo distingue de otros acercamientos similares, es que no necesita de un browser para correr, pues se ejecuta del lado del server. Además implementa un API de I/O creada específicamente para no generar bloqueos, lo que es bastión en la velocidad de respuesta del server.

    Adicionalmente Node.js incluye también un ambiente REPL (Read, Evaluate, Print, Loop) que permite el testing interactivo de instrucciones Node.js.

    En este video, veremos cómo todos los elementos mostrados anteriormente se integran para producir sitios web, de una manera básica.

    En siguientes capítulos iremos avanzando sobre el estudio de esta tecnología.

     

    Bien. A manera de documentación, aquí les dejo el código que usé para hacer nuestro primer servidor Web basado en Node.js:

    var http = require('http');
    var serv = http.createServer(
        function (req, res) {
            res.writeHead(200, { 'Content-Type': 'text/html' });
            res.end('<marquee>Noding with @WarNov</marquee>');
    
            var d = new Date();
            var hours = d.getHours();
            var minutes = d.getMinutes();
            var seconds = d.getSeconds();
    
            var time = hours + ":" + minutes + ":" + seconds;
            console.log('Somedoby just node with @WarNov at ' +
                time);
        });
    serv.listen(3000);
Page 1 of 1 (5 items)