MSDN Blogs
  • WarNov Developer Evangelist

    SQLite: DB Locales en Win8

    • 5 Comments

    Hoy estuve charlando con Sorey Garcia acerca de la app que está creando para el lanzamiento de Windows 8. Me contaba que estaba implementando mucho en el backend, por que estaba siendo muy difícil para ella manejar información estructurada del lado del cliente, dado que la promesa de SQLite, que era la tecnología que se había puesto disponible por parte de terceros para este tipo de manejos, aún no estaba claramente desarrollada… sin embargo, eso hoy ya ha cambiado, y se lo hice saber:

    - Niña, hoy en día ya está completamente implementado!!!
    le dije… ella muy juiciosa y proactiva me respondió:
    - Súper! Voy a estudiarlo y a hacer un post, porque ya hace rato no escribo…
    - Eso sería excelente… - musité…
    - Porque yo iba a escribir ese post… te parece más bien si te invito al mío con el post que escribas??
    A ella le gusto la idea, y aquí está su post acerca de cómo usar SQLite en Win8:

    _________________________________________

    Sorey says:


    Aprovechando que hoy ando trabajando por estos días con Windows 8, hoy les traigo este tema que nos hizo sufrir a más de uno mientras esperábamos el RTM, en realidad esperábamos ansiosamente el wrapper de SQLite sin saberlo.

    SQLite es una biblioteca de software que implementa una en sí misma, sin servidor, sin necesidad de configuración, el motor de base de datos transaccional de SQL y su código fuente para SQLite es de dominio público.

    Pues bien, SQLite ahora está disponible para nuestras aplicaciones Windows 8 que requieren almacenamiento estructurado local. El dolor que teníamos es que hasta ahora no existía una implementación de un wrapper estable y aprobado por Microsoft, que nos permitiera usarlo en nuestras apps. Soy enfática en el tema de aprobado por Microsoft puesto que ya habían varias implementaciones por ahí que muchos estaban usando, sin embargo al enviar nuestras aplicaciones a ser certificadas para publicarse en el Windows Store, estas podían recibir observaciones. Sin embargo ya la librería oficial escrita en C++ y que nos provee todo el poder y funcionalidad de SQLite está disponible para nuestras apps.

    A continuación voy a hacer un ejemplo sencillo, paso a paso, mostrando como usarlo en una aplicación  Windows 8, este ejemplo está basado en el artículo publicado por Tim Heuer, una de mis fuentes recurrentes.

    Aclaro y soy muy enfática en ello, de la interfaz que use en el ejemplo, nada que ver con como debería ser una aplicación Windows 8, en este caso el ejemplo está más centrado en como usar SQLite.

    En primer lugar debemos instalar la extensión que nos permite usar la librería de C++ creada por el equipo de Windows. La encontramos en Tools > Extensions and Updates


    Luego buscamos los componentes en línea SQLite for Windows Runtime y la descargamos para que sea instalada en nuestra máquina.


    Se nos pide una confirmación, que aceptamos para proceder con la instalación.

     
    Visual Studio nos notifica que debemos reiniciar para que la extensión sea tomada.
     
     
    Reiniciamos y abrimos nuestro proyecto y seleccionamos la opción de añadir referencias.
     
     
    Debemos seleccionar SQLite y Microsoft Visual C++ Runtime para que la librería funcione correctamente.


    En mi caso Visual Studio reportaba un error, ya que debía seleccionar una plataforma específica a pesar de que en realidad se nombran todas las posibles en el mismo mensaje de error.
     

    Para corregir ingresamos a las propiedades del proyecto

     
    Y seleccionamos en la sección Build, la plataforma de destino.

     
    Ahora bien,  en este punto si tenemos el conocimiento podríamos acceder a la librería y usarla, sin embargo lo recomendado es buscar algún Wraper existente en C# como es mi caso, para no tener que lidiar con esto si no sabemos como hacerlo. Muchos de esos wraper se encuentran disponibles en NuGet. Si usamos VB debemos continuar los pasos hasta añadir el código del wraper, y compilar una librería en C# y luego referenciar esta desde nuestro proyecto VB.
     
    Para iniciar la instalación del wraper verificamos en las extensiones si lo tenemos instalado y si no procedemos a hacerlo igual que se hizo con el SQLite.
     

    Ahora bien ingresamos a NuGet para buscar un wrapper adecuado para nuestra aplicación.
     

    El wrapper recomendado en el artículo de base de este post es sqlite-net, lo seleccionamos e instalamos.
     

    Se nos pide seleccionar en que aplicación vamos a añadir el código, en este caso solo tengo un proyecto.
     
     
    Lo que sucede es que añaden dos API a nuestro código, una de ellas es una API que usa  Async , palabra que si no entiendes a este instante te recomiendo estudiar en Channel 9 o en el Blog de Walter Novoa
     
    En este post usaré Async, si quieres ver como usar la otra API, puedes ver el post de Tim Heuer o bien leer la documentación en español del Windows Developer Center

     
    Para esto también es muy importante tener los conceptos de objetos y ORM claros en tu cabeza. De hecho empezamos nuestro ejemplo construyendo la clase que mapea con la estructura de nuestra tabla de ejemplo. No debemos confundir la clase con la tabla, la tabla de hecho no la veremos, sin embargo es la clase quien nos ayudará a que finalmente se cree la tabla (esto solo suena enredado si no tienes claros los conceptos que te mencioné)
     
    La clase es sencilla, sin embargo podrás ver unos decoradores sobre ella
     
    Otros decoradores pueden ser AutoIncrement, MaxLength(30).

    Ahora creamos nuestra interfaz sencilla, les comparto el Document Outline para que se guien.
     

     
    Tambien pueden ver el XAML del formulario. Solo recuerden que hacer una aplicación Windows 8 requiere de mucho más, pero es bueno iniciar desde lo fácil.
     
    Aprovecho para recomendarles que aprendan a manejar Blend, de verdad es una gran herramienta para abstraernos un poco del arduo trabajo de hacer XAML, sin embargo es igual de importante entender y saber modifical el XAML cuando algo va mal.
     
     
    Ahora va el código del botón insertar como ven es bastante sencillo de usar cuando ya tienes el wrapper correcto.
     
     
    Aquí la aplicación funcionando.

     
    Luego tenemos el botón consultar que lleva un ListView los items de la base de datos, bastante sencillo tambien.

     
    Aqui vemos la aplicación mostrando los nombres registrados.

     
    Recuerden que hay mucho que hacer con respecto a las listas, y en XAML si sabemos manejar los enlaces correctamente podemos mostrar más información sin hacer más código, veamos un ejemplo de esto para terminar.
     
    Pueden modificar el DataTemplate del ListView así:


    Como mostraremos todo el objeto y no solo una parte de el modificamos el código.

     
    Y de esta forma podemos tener una lista con más forma, que de hecho podemos editar mucho mejor si usamos Expression Blend.

     
    Espero que este corto ejemplo les resulte de mucha utilidad. Nos vemos la próxima.
    ______________________________________________
     
     
    WarNov Says: Para estar al tanto de muchos otros posts muy buenos como este, les recomiendo que visiten el blog de Sorey.
     

    Sorey García es líder de la comunidad Avanet, MCS Gold en Colombia con especialidad de Windows Phone,
    Organizadora de Eventos como el Barcamp Medellin
    y también lidera la investigación tecnológica en su actual empleo.
  • WarNov Developer Evangelist

    Algunas Verdades Útiles del Isolated Storage en Windows Phone 7

    • 0 Comments
    El Isolated Storage es el mecanismo ofrecido por Windows Phone para permitir que mantengamos el estado de nuestras apps, dado que para proteger el hardware, el software y al usuario de software malintencionado, el sistema de archivos convencional ha sido modificado para ser un esquema protegido en el cual una app no puede acceder a espacio de memoria física ni lógica de otras apps. Es así como el almacenamiento de cada app está completamente aislado de los espacios de almacenamiento de los demás y por eso recibe este nombre.

    Abundan posts y artículos que enseñan a usar el Isolated Storage: cómo almacenar y leer archivos y demás. Pero este post está dedicado a hablar de las circunstancias especiales que rodean al Isolated Storage y que en general solo la práctica lleva a concluirlas.

     

     
    • Si los espacios de almacenamiento están aislados, entonces cómo hacemos para que dos o más apps compartan datos?
      • En este caso la recomendación es almacenar los datos en la web o cloud, bien sea a través de web services o web apis.
    • Qué pasa con mi Isolated Storage, cuando le hago un update a la app? Se borra?
      • El Isolated Storage permanece intacto, así que la nueva versión de la app podrá seguir accediendo a los datos previamente guardados. Eso sí hay que tener en cuenta que si la app es desinstalada por parte del usuario, en ese caso el Isolated Storage desaparecerá. Por lo tanto si se desean mantener los datos, se recomienda hacer un update sencillo de la app, sin desinstalarla previamente.
      • Lo que si hay que tener MUY en cuenta, es que la nueva versión de la app esté capacitada para leer correctamente la data que estaba en el Iso; porque por ejemplo puede suceder que hayan serializado una clase en el Iso y luego en la nueva versión la estructura de la clase puede haber cambiado, lo que imposibilitará recuperar los datos almacenados. El desarrollador debe asegurarse de que todo funciona antes de subir la nueva versión de la app.
    • Qué cantidad de espacio tengo disponible en el Isolated Storage para mi app?
      • Tanta como para no ocupar más del 90% del espacio del teléfono.

    A pesar de que el Isolated Storage no es el FileSystem tradicional que conocemos, todas las buenas prácticas para manejar un sistema de archivos aplican. Las pueden observar en este post.

    • WarNov Developer Evangelist

      3 Reglas de Oro para manejar archivos desde el código

      • 0 Comments
      Los archivos son elementos externos a los programas. De hecho, residen en elementos físicos que están fuera de los espacios lógicos de las apps o aplicaciones. Por ende, muchas situaciones inesperadas pueden ocurrir al trabajar con ellos. Aquí una tres puntos a tener en cuenta cuando manejamos archivos desde nuestros desarrollos, que no solo aplican para el sistema de archivos tradicional, sino también para el Isolated Storage de Windows Phone y el Local Storage de Windows 8.
      1. Las operaciones con archivos siempre deberían ir enmarcadas en un bloque try-catch para prevenir que excepciones inesperadas lleguen al usuario. Y en la medida de lo posible, cada excepción probable, ha de ser manejada por separado.
      2. Las operaciones con archivos siempre deberían ir enmarcadas en una sentencia Using, dado que esto provee una sintaxis conveniente que asegura una liberación de recursos efectiva. En el caso siguiente, vemos que no tenemos que preocuparnos por hacer dispose de los manejadores de stream. Esto también aplica por ejemplo a cadenas de conexión a bases de datos, que se pueden crear dentro de un using.
        using System;
        using System.IO;
        class Test
        {
            static void Main()
            {
                using (TextWriter w = File.CreateText("log.txt"))
                {
                    w.WriteLine("This is line one");
                    w.WriteLine("This is line two");
                }
                using (TextReader r = File.OpenText("log.txt"))
                {
                    string s;
                    while ((s = r.ReadLine()) != null)
                    {
                        Console.WriteLine(s);
                    }
                }
            }
        }
      3. Antes de usar un directorio o un archivo, chequee que éste existe. Las apis generalmente proporcionan elementos como File.Exists(); y Directory.Exists();
    • WarNov Developer Evangelist

      Un Par de Curiosidades acerca del Snap View en Windows 8

      • 0 Comments

      La primera, es orientada a usuarios finales: Sabían que pueden cambiar el estado Snap de una App a través del teclado, sencillamente presionando Windows + .   (tecla Windows más tecla punto)

      Aquí aprovecho para contarles los shortcuts que más uso en Windows 8:

      • Windows+F para buscar de inmediato
      • Windows+I para pasar a settings de inmediato (allí encuentro el menu de apagar, por ejemplo)
      • Windows+C para abrir los charms y hacer por ejemplo un share
      • Windows+Z para abrir el appbar de una app, y ejecutar los comandos disponibles

      La segunda curiosidad es más orientada a desarrolladores y nos muestra cómo podemos obligar a restaurar la vista desde un estado de snap a un estado full, a través de código:

       

                  //
                  Windows.UI.ViewManagement.ApplicationView.TryUnsnap();
                  //

      Pero… con qué fin?

      Sucede que en ocasiones ciertas funcionalidades de nuestras apps no funcionan o se ven correctamente en una visa de Snap por más que tratemos de contraer el espacio usado. En estos casos, recomiendo que cuando el usuario escoja dicha funcionalidad, tal vez mediante un tap, entonces obliguemos a la interfaz a expandirse para lograr el cometido.

    • WarNov Developer Evangelist

      Entrevista a WarNov para el boletín de MSDN Latam

      • 0 Comments

      Este es el copy de la entrevista que me hizo el equipo de Flash MSDN Latam, respecto a mi trabajo en Microsoft; refleja un poco de mi historia profesional al día de hoy:

       

      MSDN: ¿Quién eres en tus propias palabras?  

      warfboksmall 200x200

       WarNov: Soy una persona que ha moldeado su vida en torno a la tecnología a tal punto que mi trabajo que es precisamente sobre tecnología, para mí no es un trabajo sino más bien un hobbie que disfruto plenamente a cada momento. Adicionalmente soy alguien a quien le encanta aprender cada vez más sobre nuevos temas y sobretodo compartir ese conocimiento. Además me gusta mucho ayudar a que las personas puedan desplegar su potencial a través de ese conocimiento o de herramientas que yo pueda proveerles.


      MSDN: ¿Qué ha sido lo que te ha motivado para trabajar con tecnologías Microsoft?   WarNov: Inicié a trabajar con tecnologías Microsoft desde 2001 en medio de la universidad. Estudié en la Nacional de Colombia y allí no era muy bienvenido Microsoft en ese entonces. Pero de un modo u otro, se colaron unas cuantas copias licenciadas de Visual Studio .NET. Creo que a través de lo que se llamaba Células .NET en ese entonces llegaron a mis manos y empecé de ceros a leer la documentación de MSDN que venía en esos CDs (el internet todavía era precario). Noté la gran productividad, solidez y documentación que me proveían estas herramientas (antes había tenido que trabajar con C++ y Java en distintos entornos… pero de lejos Visual Studio .NET se los llevaba a todos). De ahí en adelante, luché para poder presentar todos mis trabajos en .NET y así me gradué con fuertes conocimientos en esta tecnología que cada vez se fueron acrecentando más y más al conocer todo el mundo de opciones que hoy día ofrecemos a la comunidad y a la industria.

       

      MSDN: ¿Cuál es el punto más fuerte que quisieras resaltar acerca del nuevo sistema operativo Windows 8?

      WarNov: Windows 8 es el mayor representante de la gran transformación que estamos teniendo dentro de Microsoft. Del nuevo aire que respiramos y que ha logrado tantos éxitos y tantos lanzamientos en un solo año. Del nuevo enfoque que estamos adquiriendo centrado al Cloud y al usuario final obviamente.

      Esto se ve reflejado en la totalmente nueva experiencia de usuario ofrecida. De hecho, cada vez que hago demos, me siento muy orgulloso de que además de poder mostrar que tenemos todos los features a los que ya estamos acostumbrados con las Tablet adicionales, puedo mostrar que cada uno de esos features mejora lo que había anteriormente. Pero eso no es nada… luego paso a mostrar que nos trae una gran cantidad de innovaciones no vistas anteriormente, como un share totalmente transversal a todas las apps que permite que éstas estén en contacto permanente con otras apps y con el sistema, un search para buscar dentro de una app desde cualquier parte de Windows, o el snap view que nos permite tener dos apps en la pantalla al mismo tiempo, entre muchos otros.

       

      MSDN: Cuéntanos cuáles crees que son las tres fortalezas del nuevo paquete de desarrollo de Visual Studio 2012

       

       

      WarNov: La más importante diría yo: El soporte para desarrollo de Apps WinRT; esto, entre otras, trae como consecuencia que Blend se incluya también en la instalación de Visual Studio, sin costo adicional!   
      Soporte a GIT. Cada vez logramos abrir más nuestros productos y tecnologías al mundo. Es así como ahora nativamente vamos a poder hacer push de nuestro código desde Visual Studio a repositorios de naturaleza Open Source, como GIT.
      Lightswitch nativo: La poderosa herramienta de desarrollo rápido de aplicaciones basadas en formularios y datos, ahora viene out of the box con Visual Studio y no hay que comprarla aparte. Además, ahora soporta HTML5 para llegar a todo lado.

      Son muchas más las ventajas y precisamente estaré escribiendo un post al respecto.

       

       

      MSDN: ¿Qué le recomendarías a los Desarrolladores que estén comenzando su carrera profesional y desean utilizar tecnologías Microsoft dentro de su organización?  



      WarNov: La clave está en leer. Leer bien. Leer y desarrollar. Hay que leer mucho para llegar a ser brillante en esta profesión (y en muchas otras). Microsoft afortunadamente tiene teras de documentación en la Web… MSDN tiene que ser su biblia técnica. Es de notar que el idioma por defecto de la literatura tecnológica de desarrollo es el inglés. Así que un buen developer debería esforzarse bastante por tener un buen nivel en el manejo de este idioma.
      No se angustien ni pierdan oportunidades con mitos irreales acerca de que Microsoft es cerrado, privativo o costoso. Si quieren arrancar hay muchas alternativas con las que pueden tener nuestras herramientas sin costo: Versiones Express, Versiones Trial, Dreamspark, BizSpark, WebSiteSpark. En Microsoft los apoyamos en sus inicios para que puedan crecer sin costo… luego cuando ya sean una empresa grande, allí si comenzaremos a hablar de licenciamiento.

       


      MSDN: Para un desarrollador que está trabajando en una nueva aplicación, ¿qué le recomendarías? ¿desarrollo para la maquina cliente, para web, o nube?



       WarNov: Esta es la pregunta que quizá más fácilmente origina un depende.
      Hoy en día está de moda el desarrollo de apps. Hace un año era la nube. Hace dos era la web. Pero la industria del software no es cuestión de moda, sino de soluciones adecuadas. La recomendación por ende, viene entonces dada por los requisitos del cliente y sería muy extenso mencionar aquí cuando usar cada tipo de enfoque. Lo que sí puedo mencionar, es que los tres enfoques son muy válidos hoy en día.

      No obstante, me gustaría recomendar que los nuevos desarrolladores aprendan acerca del desarrollo de apps, pues esto es el fiel reflejo de la evolución de la industria y habrá mucha ocupación para aquellos que sepan de esto. Además, luego será fácil aprender otro tipo de tecnologías como la web, o de backend como Cloud Computing.

      MSDN: ¿Qué  experiencia laboral interesante sobre desarrollo con tecnologías Microsoft puedes compartir con la comunidad?

      WarNovCodonosor Full Desktop
       
      WarNov: Toda mi experiencia laboral ha sido con Microsoft, desde 2001 cuando descubrí Microsoft Access. Hice un aplicativo de manejo de cartera para vendedores puerta a puerta a crédito. Abandoné la universidad que apenas acababa de empezar para correr mi empresa. Esto me permitió viajar por todo el país vendiendo mi solución, y nunca me llamaron por soporte. De resto para resaltar puedo contarles que luego trabajé desde Colombia para una empresa de Estados Unidos y allí tuve la oportunidad de crear el lenguaje APL.NET que era una adaptación del lenguaje APL (basado en signos y orientado al campo financiero y de actuaría) para que fuese CLS compliant; es decir que fuera otro de los muchos lenguajes de la familia .NET, lo que lo modernizó y amplió su espectro de acción. Luego de esto trabajé ya como desarrollador en una casa de software, donde pasé a ser líder técnico y luego arquitecto de soluciones .NET. De allí pasé a otra empresa de publicidad a ser arquitecto de portales de páginas amarillas y luego comencé a trabaja en Microsoft, donde he ganado algunos premios :)

      MSDN: Hace poco obtuviste un reconocimiento muy importante en tu carrera profesional, ¿puedes compartir con nosotros los detalles?

      image
       
      WarNov: El MGX es como la fiesta internacional de Microsoft que cada año reúne a 20K de los casi 100K empleados que hay en el mundo. Allí entre otras muchas actividades se premian a los empleados más destacados. Un día del evento estaba yo sentado por allá en la última fila, cuando estaban premiando a los mejores en su cargo a nivel mundial. Y cuál no sería mi sorpresa, cuando me mencionaron como el ganador al premio de mejor Developer Evangelist del Mundo! No lo podía creer mientras recorría todo el camino para ir a recibir el trofeo. Para mí este ha sido uno de los más importantes logros a nivel profesional en mi carrera.


      MSDN: Hablando sobre Surface, ¿Cuál es el potencial de las aplicaciones para nuestra región?



      WarNov: Surface es nuestro propio dispositivo creado para brillar con Windows 8. En principio va a estar disponible en Estados Unidos. Pero mientras llega a nuestra región, tendremos innumerables dispositivos de los fabricantes tradicionales como Dell, Acer, ASUS, Lenovo, Samsung y muchos más. Solo en Colombia se espera que durante el próximo año se vendan más de 3 millones de dispositivos.

      Todos esos dispositivos serán una vitrina para las apps WinRT. Entonces es un gran momento para ser desarrollador de dichas apps, pues claramente si construimos la app adecuada, podríamos llegar a resolver de una vez por todas, nuestra vida financiera de esta manera. El Windows Store estará abierto para todo el mundo. Así que hasta el developer del pueblo más apartado en los andes podrá subir su app y venderla en todo el mundo. Realmente las posibilidades que se abren solo son limitadas por nuestra imaginación y empeño para desarrollar apps.

       

      MSDN: Nombra 3 recursos indispensables que quieras recomendarle a la comunidad


      WarNov: El newsletter de MSDN de la región nos mantiene actualizados con artículos muy importantes que provienen de todo el continente y lo mejor, en nuestro idioma. Cuando estaba arrancando mi carrera era mi principal fuente de actualización.
      La cuenta de twitter @msdevcol está dedicada sustancialmente a promulgar información acerca de nuevos artículos producidos por la comunidad de desarrolladores Microsoft de Colombia
      El portal de MSDN. Tengo la firme convicción que allí es donde se hacen los Developers más tesos de la industria.

    • WarNov Developer Evangelist

      Visual Studio 2012: What’s New.

      • 0 Comments

      Ya habrán leído en mi editorial para este mes del flash de MSDN por qué Visual Studio es todo un templo para desarrolladores.

      Tal como lo mencioné en ese post, aquí quiero profundizar acerca de solo algunas de las novedades que nos esperan con la versión Visual Studio 2012.

      Nuevo explorador de soluciones:

      Veamos un video que nos muestra sus nuevas características:

      Mejoras Generales:

      clip_image002

      La más obvia de todas, es la inclusión de los tipos de proyectos para Windows Store (apps WinRT). Para
      soportar estas apps, Blend ahora es incluido en la instalación de Visual Studio.

      Mejoras para el desarrollo Web:

      Nuevos templates, mejoras a los editores de HTML y CSS, inspector de páginas en vivo que muestra que parte de la página corresponde al código que se está viendo y nuevas herramientas de publicación. Grandes mejoras en el soporte a Javascript (IntelliSense, DOM Explorer y consola JavaScript).

      clip_image004

      Windows Phone 8:

      En bien sea liberado el SDK de WP8, el IDE lo soportará plenamente. Recordemos que se podrá elegir a que versión de Phone se quiere compilar: Windows Phone 7.X y 8.

      Windows Azure:

      Las mejoras incluyen soporte a caching distribuido, nuevas opciones de publicación, nuevos template4s y una instalación más liviana. Además integrándose con Team Foundation Server, se pueden generar escenarios de integración y despliegue continuo.

      Aplicaciones de Negocio

      Aquí hay grandes innovaciones. Por ejemplo en Sharepoint tenemos nuevos diseñadores para listas y tipos de contenido, nuevos templates para columnas y páginas Silverlight, así como nuevas opciones de despliegue. Adicionalmente ahora tiene características de ALM disponibles como profiling de performance, pruebas unitarias e IntelliTrace. Por si fuera poco, estrenamos un nuevo modelo de apps para Office y Sharepoint 2013 en el cual apps hechas por developers pueden ser hospedadas en el cloud (Office 365) usando tecnologías web para desarrollarlas. Visual Studio 2012 da soporte al desarrollo de estas apps a través de las Microsoft Office Developer Tools for Visual Studio 2012 – Preview. Y finalmente LightSwitch está disponible como parte de Visual Studio Professional, Premium y Ultimate. Ahora con un nuevo tema y la habilidad de acceder a fuentes de datos OData, integración con Active Directory y nuevos tipos de negocio. Más de LightSwitch aquí.

      Performance

      Entre muchos otros aspectos, por ejemplo el tiempo de carga de soluciones ha disminuido enormemente en VS2012:

      clip_image005

      ALM:

      Muchas son las mejoras en este sentido, sobretodo la integración con TFS, la inclusión de Pruebas xploratorias (Agile testing) y el soporte a distintos frameworks de pruebas tanto propios como de terceros: xUnit.net y NUnit entre otros, todos con soporte en el nuevo Test Explorer.

      clip_image007

      Lo visto hasta ahora, es apenas un ápice de todas las novedades incluidas en Visual Studio 2012. Para una referencia completa, visiten msdn.

    • WarNov Developer Evangelist

      Lidiando con la DeveloperStorage account en Azure

      • 0 Comments

      Todos sabemos que en Windows Azure existe una simulador de cómputo y otro del storage. Y que el simulador de storage usa tecnología SQL Server (puede estar en uno full, en una versión Express o hasta en LocalDB!

      Sabemos que si creamos un Cloud Service convencional, éste se autoconfigura para usar el Storage Emulator y luego uno cambia la conexión con datos de una cadena real.

      Pero si estamos hacienda una solución Azure bien personalizada (por ejemplo una app de consola que se conecta a Azure), entonces cómo hacemos para configurar este DevelopmentStorage manualmente?

      Primero un dato curioso y bien interesante:

      La Developer Storage Account tiene un nombre y un PAK (Primary Acces Key) bien definidos! Y son los mismos en cualquier lado que se use… por eso es obvio que no debemos usarla para producción. Pues bien, esos datos son:

      Account name: devstoreaccount1
      Account key: Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==

      Entonces ya tendríamos mucha de la información para armar la cadena de conexión manualmente… sin embargo, una conexión al storage de Azure es de la forma:

      "DefaultEndpointsProtocol={0};AccountName={1};AccountKey={2}"

      Así que nos faltaría indicar el DefaultEndpointsProtocol (en general es http o https); pero el Development Storage no soporta HTTP, así que no podríamos poner nada… la solución que nos da el SDK es que sencillamente como cadena de conexión escribamos: UseDevelopmentStorage=true así, sin clave, tal como aparece… de esta manera, nuestro proyecto siempre la tomará como la cuenta de acceso al Development Storage.

       

      Cuando ya necesitemos probar contra el storage real en Azure, ahí sí que tendremos un nombre y una PAK. Además decidiremos si enviamos por http o https. Y en ese caso, solo será necesario reemplazar los placeholders en la sentencia que describí. Al final en C# podríamos escribir:

      if (!CloudStorageAccount.TryParse(strConnection, out _storageAccount))

      Entonces si strConnection viene con el formato adecuado, el TryParse funciona y la cuenta de almacenamiento ya queda instanciada en _storageAccount, desde donde se podrán crear los clients de blobs, colas y tablas, independientemente si hemos pasado la cadena de DevelopmentStorage o la de un Storage en Azure.

      Para finalizar, si no requerimos comportamiento dinámico y sabemos que solo usaremos por ahora la cuenta del DevelopmentStorage podemos sencíllamente escribir:

      var account = CloudStorageAccount.DevelopmentStorageAccount;
    • WarNov Developer Evangelist

      Visual Studio 2012 – El Lanzamiento!

      • 0 Comments

      Para mí, Visual Studio no es solo un IDE. Es todo un micromundo al que me voy a vivir por noches enteras cuando inmerso en él, desarrollo soluciones que le van a hacer la vida más fácil a muchas personas.

      image

      Es una de las más poderosas herramientas para desarrollo construida por la humanidad y es fácil concluirlo si analizamos todo lo que nos ofrece:
      Desarrollo de aplicaciones de Consola, de Windows Forms, WPF, Silverlight, Web Sites, Web Applications, Web Services, Windows Services, Librerías de Clase, Windows Store Apps, Cloud Computing, Windows Phone, XBOX, DirectX, Office, Reporting Services, Sharepoint, Workflow y Lightswitch.

      Permite el desarrollo nativo y administrado para todas las plataformas soportadas por Microsoft Windows, Windows Mobile, Windows CE, Windows Phone, .NET Famework, .NET Compact Framework, Microsoft Silverlight y WinRT.

      El poderoso editor de código soporta IntelliSense y code refactoring para un desarrollo veloz y seguro. Además el debugger integrado puede funcionar a nivel de código y a nivel de máquina. Juntemos esto con los excelentes diseñadores: de interfaz gráfica, de web, clases, esquema de bases de datos, y ahora hasta Blend para Store Apps es incluido en el paquete sin instalar nada más!

      Y hay más: Soporte a diversos lenguajes: C/C++, VB.NET, C#, F#, motores de visualización web como HTML Simple, ASP.NET, ASP.NET MVC, y Razor y a través de instalaciones adicionales, M, Python, Ruby y muchos más. Además soporte a HTML, XHTML, HTML5, XML/XSLT, JavaScript, JSON y CSS3.

      Por si fuera poco, es totalmente extensible, con más de 3300 extensiones y plugins disponibles para descargar en la galería online; de manera que cada vez más y más funcionalidades se agregan a este micro mundo de desarrollo. Gracias a estos plugins es muy fácil en cualquier momento descargar componentes con código pre escrito, utilidades, herramientas y acceso por ejemplo a plataformas Open Source independientes como GitHub para administrar código fuente.

      Y hablando de administración de código fuente, basado en Visual Studio fue construido Team Foundation Server. Un servidor que se adapta perfectamente al IDE para poder hacer planeación y seguimiento del proyecto, así como control de código fuente, de ítems de trabajo y de evolución del proyecto, todo con una variedad de metodologías que incluyen tanto las ágiles como las convencionales.

      Visual Studio viene en todos los sabores de licenciamiento. Gratuito con: Versiones Express, Versiones Trial, Dreamspark, BizSpark, WebSiteSpark y las versiones con costo a través de las suscripciones MSDN.

      La historia de Visual Studio como IDE se remonta a Abril de 1995 cuando con la versión interna 4.0 se integraron por primera vez Visual Basic, Visual C++, Visual FoxPro y Visual SourceSafe. Ahora estamos con la versión interna 11.0 que con nombre Visual Studio 2012, se suma a todos los lanzamientos sin precedentes que hemos tenido este año, incluyendo mejoras como: Soporte a Windows Store Apps, LigthSwitch y Blend incluidos, editor de código completamente mejorado, exploradores renovados, mejoras en los editores web e inclusiones para tecnologías web modernas y muchas otras más, que pueden encontrar en este post. No se pierdan el lanzamiento online que estaremos presenciando el 12 de Septiembre.

    • WarNov Developer Evangelist

      Soporte de Emergencia en Windows Azure

      • 0 Comments

      Este post es para responder a la pregunta:

      Qué pasa si tengo un caso de soporte supremamente urgente en Windows Azure? Cómo lo obtengo?

      Si estás en Colombia De lunes a Viernes y de 09:00 a 17:00, puedes llamar al 01-800-5-1-81409 donde te atenderán en ingles o en español.

      Si estás fuera de este horario, puedes llamar a Estados Unidos, donde te atenderán 24/7 en inglés: 1 (866) 676 6546.

      Otras opciones incluyen poner casos de soporte online en esta dirección.

    Page 1 of 1 (9 items)