• WarNov Developer Evangelist

    Solución a problemas en el registro al App Hub de Windows Phone 7 en Colombia

    • 5 Comments

    Hace pocos días se oficializó la disponibilidad del App Hub de Windows Phone 7 para Colombia, de manera que los desarrolladores de aplicaciones móviles para esta plataforma que estén operando en Colombia pueden desbloquear sus teléfonos para desarrollo y así mismo publicar sus aplicaciones globalmente.

    Sin embargo, varias personas me comentaron de un extraño error según el cual cuando se trataban de registrar al App Hub de Windows Phone 7 les aparecía esto y no podían continuar con el proceso, produciéndose una gran frustración, pues el ansia de ver la aplicación en nuestros teléfonos es muy alta:

    clip_image001

    Invalid Value for Field Country

    Cómo es esto posible si Colombia oficialmente ya está establecido en el App Hub?

    En general en Colombia no usamos el código postal. Es por eso que siempre que nos piden escribirlo generalmente en portales internacionales, escribimos cualquier cifra y si a veces eso falla, entonces escribimos un código postal de Estados Unidos como 90211 y con eso basta.

    Después de una amplia investigación junto con el equipo de soporte encontré que el error obedece a que hay una validación sobre el campo de código postal y se chequea que éste sea válido para Colombia. Aunque ud. no lo crea Colombia tiene códigos postales y éstos son de 6 cifras. Pero lo más problemático es que el error emitido no es correcto, pues aparece: “País no válido” y eso es lo que nos deja perdidos.

    SoluciónSi coloca por ejemplo 110110 en ese campo, Voilá… podrá seguir con el proceso sin problemas!!!

    Eso sí, asegúrese de que tanto el país asociado con su el Live Id usado para registrarse en el App Hub; como el país escogido dentro del App Hub durante el registro, sean Colombia. De lo contrario, tendrá problemas en el registro. Para chequear a qué país está asociado su Live ID, ingrese a http://account.live.com. Allí lo podrá cambiar a Colombia sin problemas.

    He solicitado al equipo de Ingeniería del APP HUB, que el campo de código postal no sea obligatorio en Colombia. Así que mientras actualizan el portal, por favor regístrese usando el código postal 110110.

    Bienvenido a experimentar sus aplicaciones en sus dispositivos!!!

  • WarNov Developer Evangelist

    WP7 Japonés

    • 2 Comments

    El primer teléfono Windows Phone 7.5 en Japón es resistente al agua y tiene una cámara de 13.2 MP con 32 GB de almacenamiento. Además viene en japoneses colores Smile

    clip_image001

    Es el IS12T de Toshiba:

    image

    Se estima que en Colombia tengamos los primeros modelos para Octubre aunque no sabemos si estos TOSHIBA se distribuirán por estas latitudes.

  • WarNov Developer Evangelist

    Windows Phone 7 Applications: Tipos de Distribución.

    • 0 Comments

    Abstract:

    Las aplicaciones de Windows Phone 7 siguen un modelo de distribución a través de un Marketplace centralizado en Internet. Este modelo que es bastante popular para las aplicaciones móviles de la mayoría de fabricantes sin embargo ofrece algunos inconvenientes para distribuir aplicaciones a grupos especiales; por ejemplo Beta Testers, o empleados de una compañía. La última actualización del APP Hub de Windows Phone 7 permite dar solución a este problema a través de sus dos nuevos tipos de distribución de aplicaciones: “Targeted” y “Beta”.

    Contenido:

    Hasta hace un tiempo, la única forma de publicar en el App Hub de WP7 era a través del mecanismo de distribución pública según el cual, al estar una aplicación en el Marketplace, esta se hace visible para todo el público sin que podamos por ejemplo elegir quienes sí la pueden comprar/descargar y sin que se puedan poner restricciones de tiempo para su uso. Aunque esto es adecuado para la gran mayoría de aplicaciones, qué pasa si como publicadores queremos poner nuestra app en Beta para que solo unos cuantos la prueben? O tal vez creamos una aplicación para una empresa que obviamente requiere que solo esté disponible para ciertos empleados?

    Para resolver estas situaciones, nuestra nueva versión del App Hub incluye dos nuevos tipos de publicación aparte del tipo “public”. Ahora tenemos “Targeted” y “Beta”.

    Targeted:

    Es el tipo de publicación ideal para empresas. En este, la aplicación se sube como se haría tradicionalmente al App Hub (incluyendo todos los procesos de validación tradicionales), pero manteniéndola oculta en el Marketplace, de manera que sólo los usuarios con el link de dicha aplicación la pueden descargar e instalar. Al finalizar el procedimiento de envío de aplicación al App Hub, habrá la posibilidad de escoger cómo y cuándo hacer pública la aplicación después de que esta pase el proceso de certificación, entonces escogeremos “As son as it’s certified, but make it hidden”. De tal manera que apenas la app pasa la certificación queda lista para ser descargada, pero invisible para quienes no tengan el link. Sin embargo, cuando uno lo desea, puede hacerla visible, convirtiéndola en una aplicación pública tradicional.

    clip_image002

    Luego de ser publicada se recibirá un correo con el link a la aplicación. Este es el que se deberá remitir a la audiencia objetivo. Cualquier persona con el link puede descargar la aplicación, hay que tenerlo en cuenta. No hay límite de personas para descargar la aplicación. Contrario a las publicaciones estándar, no se puede hacer actualización de la aplicación aún. Así que hay que hacer un re-envío en caso de una actualización. No se puede establecer un límite en el tiempo en que la aplicación está disponible para la audiencia (en el tipo “beta” sí). Este tipo de publicación también consume créditos de los que se tienen disponibles de acuerdo al plan de publicación adquirido.

    Beta:

    Una versión beta permite exponer al público una aplicación para su evaluación sin que necesariamente esto signifique ponerla en producción. Una de las ventajas obtenidas en este tipo de publicación, es que el proceso de certificación es automático, de manera que la aplicación queda disponible mucho más rápido. Además es un proceso gratuito que no consume créditos del plan. La aplicación solo es accesible a través de un link (oculta del marketplace) y se posee un completo control sobre quiénes pueden probar la beta, dado que se especifica el Windows Live Id del beta tester, quien descarga e instala la aplicación a través de los mecanismos tradicionales en dispositivos comerciales sin necesidad de estar registrados como developers. Eso sí, las aplicaciones en Beta expiran automáticamente a los 90 días después de su publicación. Lo que quiere decir que el link no funcionará más y que la aplicación no se podrá ejecutar, de tal forma que solo aparecerán dos opciones: desinstalar o dar feedback. Se pueden subir tantas aplicaciones en beta, como queramos, pero siempre las versiones Beta van gratuitas.

    Cuando estemos publicando nuestra app, podremos escoger si queremos que suba en beta privada:

    clip_image004

    De la misma manera, se pueden escribir los Windows Live ID de los testers:

    clip_image006

    Como se aprecia, tenemos hasta un máximo de 100 testers por aplicación en la lista. Esta lista se puede modificar cuando se desee durante los 90 días posteriores (para ningún efecto este tiempo es modificable) a la publicación exitosa de la aplicación. Luego de ejecutar este proceso, y de ser publicada la aplicación, se recibe un correo con la dirección de la misma, para distribuir entre los beta testers. Si el Live Id de la persona que intenta descargar la aplicación no está en el listado consignado anteriormente, dicha persona no podrá acceder a la aplicación.

    A diferencia del modelo “targeted”. Las aplicaciones en Beta no se pueden hacer públicas. Se necesita re-enviarlas.

    Conclusión:

    Vimos que el App Hub de Windows Phone 7 ha evolucionado permitir nuevos modelos de despliegue de aplicaciones orientado a empresas y a “Beta Testers” que facilitan enormemente el ciclo de vida de la aplicación y el alcanzar públicos especiales. Cosa que no se podía con el método de publicación tradicional.

  • WarNov Developer Evangelist

    C++ Sí muerde

    • 0 Comments

    Tal cual. Ha de ser por eso que por ahí circulan tantos mitos falsos de este magnífico lenguaje obra de una gran mejora que a principios de los ochenta hizo el joven Stroustrup sobre el ya mítico C pelao que nació a principios de los 70 como lenguaje para Unix que sí; estaba basado en el lenguaje B que a su vez fue engendrado a partir de BCPL (esto ya parece el Génesis).

    clip_image001

    Bueno; pues la idea de este artículo no es demostrar que C++ Muerde, sino qué hacer para que no nos muerda.

    Eso sí, estaré escribiendo de C++ en el mundo de desarrollo Microsoft. Específicamente en Visual Studio. De hecho, lo que me motivó a escribir esto, es que por ahí a un amigo le dijeron que la aplicaciones C++ hechas con VS nunca podían ser tan rápidas cómo las de C++ nativo. Cosa que aunque es parcialmente cierta, tiene más de falsedad que de verdad.

     

    Verán, con Visual Studio y C++ podemos crear dos tipos de aplicaciones esencialmente.

    1. Nativas: Que corren en los PCs sin necesidad de instalar nada adicional. Se usa la versión de C++ definida por la ISO/IEC. Así que estas sí corren con toda la velocidad posible.

    2. C++/CLI (Administrado): Como bien atina a llamarlas el señor Ivor Horton en su libro Beginning Visual C++, estas son aplicaciones que aunque están creadas con el lenguaje C++, requieren del Framework.net para funcionar (Así que en este caso C++ es uno de los cerca de 20 lenguajes de programación que se pueden trabajar con .NET). Obviamente, se ofrecen funcionalidades más evolucionadas y sencillas para desarrollar más rápida y eficientemente. Pero estas abstracciones tienen un costo a la hora de ejecución que aunque pocas veces llegan a notarse, bajo ciertas circunstancias son cruciales. Recibe el nombre de administrado, porque el Framework.NET se encarga de la seguridad del código y de la optimización del manejo de memoria y otros aspectos que nativamente tenemos que hacer con nuestras propias líneas de código.

    No es más que una de las tantas paradojas que tenemos en nuestra carrera. A mayor abstracción, menor velocidad.

    Piense por ejemplo en ir de un punto A a un punto B. Puede escoger ir en un auto de carreras de esos que para ser rápidos les han quitado la silla del copiloto y acompañantes, el tablero, y todas esas comodidades. O también puede escoger ir en una casa rodante con jacuzzi, televisión satelital y Kinect. En este caso, tiene todas las comodidades; pero la velocidad no es la misma…

    Ciertamente es un poco exagerado el ejemplo, pues la diferencia en velocidades no es tan grande a decir verdad; solo que a veces sí se requiere.

    Otra cosa más de notar sería por ejemplo que al ser más básico, C++ nativo tiene menos restricciones y permite construir cualquier tipo de software, aunque esto signifique comenzar de ceros sin aprovechar piezas prefabricadas como las que componen .NET.

    De hecho sobre el propio C++ nativo se han tratado de crear abstracciones propias para poderle programar más fácil. Es así como surgió la librería estándar de C++ que es la que se usa en la mayoría de programas creados con este lenguaje. Microsoft creó MFC (Microsoft Foundation Classes) para abstraer el acceso a los recursos del sistema operativo e intervenir la interfaz gráfica de Windows. Como es de suponerse, programar con estas librerías, es más sencillo, pero al ejecutar la velocidad no es la misma. Igual se puede acceder al API de Windows sin necesidad de MFC para ir más rápido (eso si se considera un Programmer Hero! Pues crear una aplicación con unas cuantas ventanas usando solo C++ nativo puede tomarle meses mientras con C++ administrado o a través de MFC, ese tiempo se reduce a un par de semanas). Además, sí puede decirse por ejemplo que un programa creado con MFC es más rápido (aunque no se note) que uno creado con C++ administrado.

     

    image

    Para cerrar hasta aquí podría decir entonces, que en general las diferencias en tiempos de ejecución no son tan abismales como sí las de desarrollo. Pero sé de aplicaciones que estando en .NET han tenido que devolverse por cuestiones de performance. Por ejemplo, el cliente de Evernote para Windows, una aplicación con una interfaz gráfica muy enriquecida y específica que almacena notas de todo tipo y hace búsquedas complejas sobre ellas, estaba hecho en WPF; se devolvió a C++ (programado con Visual Studio) para lograr un mayor rendimiento.

    Sin embargo Evernote debe en gran parte su éxito a lo fácil que les fue crear la aplicación en sus primeras versiones gracias a las grandes abstracciones brindadas por WPF y al poder de .NET. Luego ya con todo lo ganado en esas versiones, decidieron incrementar el número de funcionalidades; cosa que requería más trabajo de ingeniería, pero se podían dar ese lujo dado que ya tenían algo en producción que les daba revenue.

    No quiero decir que deben pasar todas sus apps a C++. Solo que cuando lo necesitemos allí estará.

    Para terminar esta entrega aquí les dejo este gráfico que me ayudo recopilar @raptorttk del libro de Horton, para que vean las opciones de cuando programar C++ en Visual Studio se trata:

     

    graficoCPP3

  • WarNov Developer Evangelist

    Azu - lerado!

    • 0 Comments

    Abstract: Liberación del Windows Azure Accelerator for Web Roles. Una tecnología que permite desplegar sitios Web en Windows Azure sin necesidad de usar el portal de manera directa desde Visual Studio y WebMatrix, y además reduciendo los tiempos de 15 minutos a menos de 30 segundos.

     

    Me complace anunciarles la liberación del Acelerador de Windows Azure para Web Roles. Este acelerador hace más rápido y fácil desplegar uno o más sitios a través de múltiples instancias de Web Role logrando tiempos de despliegue asombrosos de menos de 30 segundos!

    clip_image002

    • Otras características:
    • Tiempos de despliegue menores a 30 minutos
    • Despliegue de sitios a múltiples roles usando las herramientas de Web Deploy de Visual Studio y WebMatrix.
    • Grabar paquetes de despliegue de Web Deploy y configuraciones de IIS en el storage de Windows Azure para proveer durabilidad.
    • Un template para Visual Studio que nos permite crear un host de web deploy.
    • Código abierto y disponible en paquetes de NuGet para construir soluciones personalizadas.

    Descárguenlo de aquí

  • WarNov Developer Evangelist

    Windows Phone 7 Convence

    • 2 Comments

    Windows Phone 7 es el sistema operativo para teléfonos móviles creado por Microsoft orientado completamente a consumidores finales (a diferencia de anteriores versiones dirigidas a usuarios corporativos).

    clip_image001

    Con un diseño totalmente innovador que le ha significado ser ganador de tres premios distintos en los Premios Internacionales de la Excelencia en Diseño (IDEA) entre ellos el de la mejor Experiencia Interactiva de Producto, WP7 garantiza una experiencia de usuario inigualable representada por sus más de 3 millones de dispositivos vendidos a la fecha y un marketplace con gran crecimiento en la industria que a hoy ajusta más de 25.000 aplicaciones de las cuales la mayor porción está representada por juegos con un 17%.

    Estas cifras representan resultados brillantes sobretodo en un campo tan competido y difícil como el de los teléfonos celulares. Tanto que firmas como Gartner y IDC auguran que para 2015, el marketshare de WP7 estará por encima de grandes hoy en día como RIM y Apple y solo justo atrás de Android, pero sin el gran problema de la segmentación que sufren los desarrolladores sobre esta plataforma. Y lo anterior sin haber considerado gigantescas alianzas recientes que ofrecen aún más ventajas para el futuro del producto, tal como sucedió con Nokia y Skype.

    Pero no solo la experiencia de usuario y el diseño es destacable tras el desarrollo de esta plataforma. El que Microsoft esté tras el producto implica que pone en el mismo toda su madurez desarrollando productos complementarios que por supuesto se integran transparentemente con la funcionalidad del teléfono. Tal como sucede con la XBOX y Kinect (el dispositivo electrónico de consumo más vendido en la historia). A tal punto, que juegos de XBOX se pueden integrar completamente con las versiones de teléfono y gran porcentaje del código creado para un juego en XBOX, puede ser usado para su versión en el teléfono y además en la PC. Igual sucede con servicios como Skydrive que nos permite almacenar archivos en la nube y trabajar integralmente con Office en la Web.

    Es un gran momento para ser desarrollador colombiano de aplicaciones y juegos para Windows Phone. Somos uno de los 3 países en Hispanoamérica en tener acceso local marketplace antes de finalizar el año cuando se espera también que tengamos comercialización oficial de los dispositivos. Hay un gran futuro por explotar y nada mejor que comenzar desde ahora a prepararnos.

  • WarNov Developer Evangelist

    Instalando Orchard en IIS 7.5 y SQL Server 2008R2

    • 2 Comments

    Abstract: En este video describo como instalar el CMS Orchard en la siguiente configuración: Windows 7 Ultimate + IIS 7.5 + SQL Server 2008 R2.
    Nivel: Básico

    Este es el segundo en una serie de posts acerca de el CMS Open Source basado en ASP.NET MVC 3, llamado Orchard. Si desea una introducción a los CMS y en especial a Orchard le recomiendo: Teoría de CMSs con Orchard y luego leer este post.

    Posts de esta serie:

     

    Contenido:

    Las instalaciones del CMS Orchard son muy pero muy sencillas. Sobretodo si se usa el Web Platform Installer WebPI (Un wizard que nos lo deja instalado automáticamente solo dando Next, Next, Next…). Es por eso que el video a continuación no se enfoca en este tipo de instalación sino en lo que yo llamaría instalación cruda de Orchard. Es decir, descargar la carpeta del aplicativo, instalarla en IIS y configurar una DB en SQL Server para su uso.

    Orchard puede ejecutarse bien sea en el IIS Express (Servidor web gratuito que viene en el WebPI), o en el ASP.NET Development Server de Visual Studio o en el IIS full (6, 7, 7.5), tal como lo veremos en este ejemplo.

  • WarNov Developer Evangelist

    Configurando identidades y Accesos en IIS 7.5

    • 3 Comments

    Abstract:

    Veremos que IIS 7.5 tiene un nuevo manejo de identidad virtual independiente para sus Application Pools, y que por ende debemos buscarlos de una manera especial cuando queramos asignarles permisos sobre los recursos del servidor, como lo son el sistema de archivos.

    Nivel: Intermedio. Tecnologías: IIS (IIS Application Pool Identities)

     

    Windows 7 y Windows 2008 R2 vienen con IIS 7.5 por defecto.

    Para muchas personas IIS 7.5 puede ser un mundo totalmente diferente; sobre todo si vienen de IIS 6.0 y anteriores. Obviamente estos grandes cambios fueron generados para hacer al servidor más usable, con más características y además más seguro.

    Hablemos de un cambio en seguridad que debemos tener en cuenta si queremos probar o poner en producción nuestros sitios en IIS 7.5.

    IIS es un servidor que corre sobre Windows. Los procesos que corren sobre Windows requieren de un usuario en nombre del cual corren. Aplicaciones como Word, corren en nombre del usuario logueado en el sistema. Pero servicios como IIS corren con usuarios internos del sistema que no requieren de un proceso de logueo que dificultaría lanzar dichos servicios.

    Las últimas versiones de IIS corrían con la identidad de NETWORKSERVICE (tal vez lo recuerden en instalaciones como las de SQLSERVER). Este usuario tiene las limitaciones de un usuario estándar así que los privilegios son bajos, por lo que ofrece cierta seguridad ya que un bug en el servicio no podría ser usado para afectar la máquina.

    Sin embargo, dado que muchos servicios comenzaron a usar este usuario para ejecutarse, lo que sí puede pasar, es que servicios maliciosos corriendo con este usuario puedan afectar y manipular otros servicios o aplicaciones con este mismo usuario, sobre todo cuando hablamos de aplicaciones de terceros que corren sobre IIS.

    Así que esto fue solucionado en IIS 7.5 a través de lo que hoy conocemos como IIS Application Pool Identities. Un mecanismo que permite crear identidades virtuales únicas para cada Application Pool en IIS. Recordemos que en IIS un Application Pool es un entorno de ejecución para las aplicaciones Web que nos permite administrarlas eficientemente. Dicho esto, si por ejemplo para instalar el CMS Orchard usamos un APPPool dedicado llamado Orchard, veremos como IIS crea un usuario virtual llamado Orchard para correr el proceso w3wp.exe (responsable de servir el sitio web como tal):

    image

    Es muy importante tener esto en cuenta sobre todo cuando nuestra aplicación requiere acceder recursos del sistema como el sistema de archivos, pues deberemos darle permisos de lecto-escritura al usuario que ha iniciado el proceso w3wp.exe. En IIS 6 y 7 lo hacíamos con el usuario NETWORKSERVICE pero en IIS 7.5 deberemos especificar el usuario virtual del AppPool donde está corriendo la app. Para lograr esto con la interfaz gráfica hay cierto detalle que no nos permite hacerlo directamente como con cualquier otro usuario, dado que es una identidad virtual:

    image

    Aquí vemos que queremos darle permisos de lecto-escritura sobre el folder App_Data a la identidad orchard que es sobre la cual corre el sitio, pero vemos que la herramienta no encuentra ese nombre (dado que es virtual). Para poderlo encontrar deberemos asegurarnos de que estamos buscando en Built-in security principals, usando la locación de la máquina donde está el server y finalmente anteponiendo IIS APPPOOL\<nombre del pool>:

    image

    Entonces al dar click en Check Names obtendremos:

    image

    Con lo que ya tendremos la identidad justa para accionarle los permisos requeridos.

    Conclusión:

    Vimos entonces que IIS 7.5 tiene un nuevo manejo de identidad virtual independiente para sus Application Pools, y que por ende debemos buscarlos de una manera especial cuando queramos asignarles permisos sobre los recursos del servidor, como lo son el sistema de archivos.

  • WarNov Developer Evangelist

    Teoría de CMSs con Orchard

    • 0 Comments

    Esta es la primera entrega en una serie de posts acerca de este moderno sistema de manejo de contenidos basado en ASP.NET MVC. Aquí explicaré conceptos básicos de los CMS y de la plataforma como tal. Orchard es un CMS de última generación creado por la comunidad con alto apoyo de Microsoft. Es gratuito y Open Source.

    Nivel: Básico.
    Advertencia: Uso sustantivos técnicos en inglés y en español indistintamente.

    Posts de esta serie:

    Conceptos de CMS

    Un CMS esencialmente apunta a ayudarnos a construir sitios web usando piezas pre construidas que vienen en diferentes formas y tamaños para nuestros fines.

    C

    La C de CMS significa contenido y hace referencia a todo aquello en el sitio que tiene información. Por ejemplo un post de un blog, un comentario, un producto y hasta un menú de navegación o un logo.

    M

    Management o administración. Es el conjunto de herramientas que nos permite administrar el sistema. Se conoce como Admin Panel, Dashboard o back-end. Como se indica el acceso es restringido a administradores.

    clip_image001

    S

    De sistema que indica que todo lo anterior está completamente integrado para brindar una experiencia consistente durante la administración de nuestro sitio.

    Front End

    Es la parte visible de nuestro sitio.

    clip_image002

    Setup

    En general, todo CMS requiere de un Setup y es el proceso requerido para tener el sitio corriendo. Después de esto habrá que trabajar mucho en el contenido.

    clip_image003

     

     

    Conceptos de Orchard

    Content Item: Pieza de contenido que a menudo tiene una url asociada. Por ejemplo, páginas, posts o productos.

    Content Type

    Determinan la clase de contenido relativa a un Item. Por ejemplo un blog post es un ítem de tipo blog post.

    Content Part

    En Orchard los tipos de contenido están formados de pequeñas partes llamadas content parts. Son unidades atómicas de contenido que definen un comportamiento específico y que son reusables en muchos tipos de contenido.

    clip_image004

    Por ejemplo los comentarios, los tags o los ratings son Content Parts porque definen un comportamiento que puede ser reusado. Como regla se tiene que solo puede haber una parte de cada tipo en cada tipo de contenido. Por ejemplo, no encontraremos en un blog post dos secciones de comentarios distintas.

    Content Field

    Campos de contenido que pueden ser agregados a un tipo de contenido. Tienen un nombre y un tipo y pertenecen a un Content Type específico. Por ejemplo un producto puede tener un campo de texto representando su nombre, un campo numérico representando su precio y otro representando su peso. Como vemos, estos campos probablemente sólo tienen sentido hablando de un producto.

    Module

    Los módulos son las extensiones que se construyen para enriquecer la funcionalidad de Orchard. Estos módulos se organizan dentro de un sub directorio que puede ser encontrado en la carpeta Modules dentro del sitio web de Orchard. Estos módulos se pueden encontrar en la galería de Orchard.

    clip_image005

    Feature

    Un módulo puede contener una o más características que son un agrupamiento lógico de funcionalidades que pueden ser habilitadas o deshabilitadas individualmente. Por ejemplo, un módulo de autenticación personalizada puede tener diversas características (features) para OpenId, Facebook, LiveID, Twitter, etc. que pueden ser activadas o desactivadas.

    Hay que tener en cuenta sin embargo que una característica puede depender de otra que puede existir en el mismo o en otro módulo.

    clip_image006

    Manifest

    El manifiesto es un pequeño archivo de texto que describe un módulo o un tema en el sistema:

    clip_image008

    Interfaz Gráfica (UI Composition)

    Dado que Orchard maneja contenido com´puesto de partes, se necesita un mecanismo que orqueste la parte visual de la aplicación teniendo en cuenta la naturaleza del contenido que hace la composición. Por esto es importante hablar de la UI:

    Theme

    Al diseñar un sitio web es muy importante que seamos capaces de modificar su apariencia visual en cada sencillo aspecto. Orchard provee una clara y limpia separación entre la administración del contenido y del despliegue visual de dichos contenidos.

    Un tema es un paquete que contiene todo el look and feel de un sitio Orchard. Puede consistir de una combinación de hojas de estilo, imágenes, distribuciones, plantillas y hasta código personalizado. Los temas se pueden crear heredando de otros; cosa muy útil si se trata de hacer solo pequeñas modificaciones sobre un tema existente.

    clip_image009

    Layout

    Es un archivo dentro de un tema que define la organización generar de las páginas que lo usan. Un layout típicamente define un conjunto de zonas donde los contenidos o widget pueden ser insertados.

    clip_image010

    Template

    Cada parte de contenido, cada campo y cada widget necesita ser gráficamente representado en el front-end transformando los datos que representa en un elemento que pueda ser leído por los usuarios del sitio. Un template o plantilla es la “receta” que formatea esos datos y los transforma en HTML para que el browser los despliegue. Se puede pensar en un template como en HTML plano con “campos” bien definidos en los que los datos se insertan.

    Shape

    Antes de que algo pueda ser mostrado usando una plantilla, ese algo debe ser transformado en una forma o shape, que no es más que un objeto bastante versátil que contiene toda la información requerida para poder mostrarlo. Antes de que pueda ser renderizado por las plantillas, todo debe ser mapeado en un árbol de formas que es una especie de representación abstracta de los contenidos de la página final. La ventaja de estos árboles de formas, es que cualquier módulo puede modificarlas o crear unas nuevas.

    Los layout, zinas, widgets y content parts todos se representan como shapes en el proceso de renderizado.

    Placement

    Cuando se renderizan los elementos de la página, Orchard requiere saber en qué orden hacerlo. Para esto existen los archivos Placement.info que son XML que describen reglas usadas para determinar qué shapes van en qué zonas y en qué orden. Esto posibilita no solo que pueda ser personalizado el renderizado de cada shape, sino que también se pueda personalizar el orden en que se ejecuta este renderizado.

    clip_image013

    Zone

    Las zonas son partes específicas de un layout que pueden ser personalizadas insertando en ellas Widgets. En algunos temas, las zonas son colapsibles lo que significa que pueden desaparecer si no tienen widgets activos.

    clip_image014

    Widget

    Un Widget es un pequeño fragmento de interfaz de usuario que puede ser añadido a algunas o a todas las páginas del sitio. Por ejemplo tag clouds, mapas, formulario de búsqueda, etc.

    Layer (Capa)

    Una capa es un grupo de widgets (con su posicionamiento y orden) que es activada por una regla específica.

    Por ejemplo podríamos armar una capa llamada HomePage que se activara solo al llegar a esta página. También podríamos tener por ejemplo una capa por defecto que siempre estuviese activa y otra capa solo para usuarios autenticados.

    Cuando más de una capa está activa en una página, todos los widgets de esas capas se muestran al mismo tiempo. Orchard los ordena basándose en sus posiciones.

     

    Seguridad

    Usuarios y Roles

    En Orchard los usuarios pueden tener roles que pueden ser vistos como estereotipos de usuarios que tienen un conjunto común de permisos que definen quién puede hacer qué en el sitio. Cualquier usuario puede tener varios roles.

    Los dueños de los sitios pueden crear sus propios roles, pero Orchard viene con un conjunto de roles predefinidos que deberían cumplir la mayoría de los requerimientos de los sitios.

    · Administrador: Todos los permisos

    · Editor: No crea contenido pero edita y publica contenido creado por autores

    · Moderador: Valida contenido creado por usuarios como los comentarios

    · Autor: Escribe y publica su propio contenido

    · Contribuidor: Escribe contenido pero no necesariamente tiene derecho a publicarlo

    · Anónimo: usuario desconocido. Alguien que no se ha logueado.

    · Autenticado: Cualquier usuario logueado

    Los roles autenticados o anónimo no se pueden asignar manualmente sino que han de ser determinados dinámicamente en tiempo de ejecución.

    Privilegios y Permisos

    En Orchard los permisos son asignados a los roles, pero no son explícitamente denegados. En otras palabras si un usuario pertenece a cualquier role con algún permiso, éste tiene ese permiso. Para revocar este permiso es necesario bien sea retirar al usuario del role que tiene este permiso o revocar el permiso de dicho rol.

    Algunos permisos son garantizados efectivamente. Esto significa que no han sido explícitamente permitidos, pero que se adquieren de manera implícita a través de otro permiso. Por ejemplo, si se otorga el permiso de “Site Owner”, implícitamente se garantizan el resto de permisos.

    clip_image015

    Tanto los permisos como sus ajustes aplican por módulo. Esto significa que si usted construye su propio módulo, a éste habrá de especificársele los permisos que lo acompañan.

    Site Owner

    También conocido como el súper usuario, es un usuario especial definido en tiempo de instalación que tiene todos los derechos sobre el sitio. Puede ser modificado desde la pantalla de administración del sitio si se tiene permiso para hacerlo.

    De esta forma hay un tipo de permiso llamado “Site Owners Permission” que garantiza todos los derechos sobre el sitio y que por defecto se asigna al rol de Administrador. Es altamente recomendado que este grupo de permisos no se asigne a ningún otro rol.

     

     

    Desarrollo

    Cuando se van a crear nuevos módulos para Orchard (Esto no es requerido para operar el sitio), se requiere:

    ASP.NET MVC

    El framework web sobre el que se construyó Orchard.

    Handler

    Es similar a un filtro en MVC dado que contiene código que ejecuta eventos específicos en el ciclo de vida del request. Son usados para ajustar repositorios de datos o para ejecutar operaciones adicionales cuando algún contenido se carga.

    Driver

    Similares a los controladores de MVC pero actuando a nivel de contenido en vez de a un nivel de el request completo. Típicamente preparan las shapes para ser renderizadas y manejan postbacks desde los editores de administración.

    Record

    Es una clase que modela la representación de una content part en la base de datos. Son clases POCO donde cada propiedad es virtual.

    Migration

    Una migración es una descripción de las operaciones que se deben ejecutar cuando se instala por primera vez una característica en un módulo o cuando se actualiza de una versión a la siguiente. Esto permitirá actualizaciones sencillas sin pérdida de datos. Orchard incluye un framework de migración de datos.

    Injection

    La IoC, Inversion of Control o sencillamente inyección se usa ampliamente en Orchard. Cuando una pieza de código requiere una dependencia, esto típicamente requerirá la inyección de una o más instancias de una interface específica. El framework se encargará de seleccionar, instanciar e inyectar las implementaciones adecuadas en tiempo de ejecución.

    Llamado a la Acción!

    Si desea ir trabajando con este CMS, puede descargarlo gratuitamente de http://www.orchardproject.net/  Y espere en mi próxima entrega un video de los diversos tipos de instalación que podemos hacer de este CMS.

  • WarNov Developer Evangelist

    IE10 Platform Preview 2 Disponible!

    • 3 Comments
    Hemos liberado nuestro segundo preview de Internet Explorer 10. Veremos cómo podemos crear sitios y aplicaciones aún más asombrosas gracias al soporte mejorado a HTML5. Cada vez estamos más cerca de la promesa de las aplicaciones de HTML5 según la cual, distintos browsers soportan el mismo markup para que los desarrollos se vean iguales.

    Novedades en este preview:

      • Positioned Floats
      • CSS3 Gradients (en todos los tipos de imagen)
      • CSS stylesheet limit lifted
      • CSSOM Floating Point Value support
      • Improved hit testing APIs
      • Media Query Listeners
      • HTML5: Support for async attribute on script elements
      • HTML5 Drag and Drop
      • HTML5 File API
      • HTML5 Sandbox
      • HTML5 Web Workers
      • Web Performance APIs:
        • requestAnimationFrame
        • Page Visibility API
        • setImmediate

    Recuerden que Internet Explorer 10 estará disponible para Windows 7 y Windows 8. No habrá soporte para Vista ni sus predecesores. Futuras versiones del preview se liberarán cada mes o mes y medio. Esperamos una beta para finales de año. El preview actual, se lo pueden descargar del portal Test Drive de Internet Explorer

  • WarNov Developer Evangelist

    Facebook Game Hack

    • 7 Comments

    En este video apreciaremos cómo hackear un juego de Facebook usando un algoritmo de permutación hecho recursivamente en C#, más el acceso a la WinAPI para enviar mensajes entre aplicaciones distintas. Solo se necesita un archivo de palabras y cualquier versión que compile código C# sobre Windows.

  • WarNov Developer Evangelist

    Tutoriales de Desarrollo para Windows Phone–totalmente en español y gratuitos

    • 6 Comments

    LigaSilverlight150x150


    Está es una gran noticia que me da mi gran amigo, remarcable MVP en Silverlight, Rodrigo Díaz. Quien desde La Liga Silverlight ha traducido al idioma español el contenido original de todos los tutoriales para el desarrollo de aplicaciones en Windows Phone, disponibles en App Hub.

    ¡Son un total de 27 tutoriales!

    Este material de entrenamiento completamente gratuito y en español te servirá para iniciar en el mundo de la programación de la nueva versión del sistema operativo móvil de Microsoft: Windows Phone 7, o si ya eres desarrollador para este dispositivo estos tutoriales sin duda alguna te ayudarán a reforzar tus conocimientos.

    Cada tutorial trata un tema específico, por lo que no están vinculados directamente uno con otro pero definitivamente les recomiendo que los sigan en el orden establecido. Los tutoriales comienzan con temas básicos de XAML y Silverlight, y posteriormente se van analizando conceptos más a detalle acerca de esta plataforma de desarrollo.

    windowsphone_logo

     

     

    La lista completa de tutoriales es la siguiente:

    Iniciando y Fundamentos
    1. Creando la interfaz de usuario de Windows Phone (XAML)
    2. Usando controles
    3. Tipo de Controles
    4. Controles Panorama y Pivot
    5. Trabajando con texto en Windows Phone
    6. Distribución en la pantalla
    7. Orientaciones de la pantalla
    8. Entrada táctil
    9. Navegación
    10. Ejecutando un aplicación en segundo plano (tombstoning)
    11. Notificaciones de empuje para el desarrollo de Windows Phone
    12. Publicando tu aplicación en el Marketplace
    Visuales y Medios
    1. Imágenes
    2. Animaciones
    3. Video y Audio
    4. Gráficos
    5. Brochas
    Trabajando con Datos
    1. Obteniendo datos en tus aplicaciones de Windows Phone
    2. Enlazando a controles
    3. Almacenamiento Aislado
    4. Accediendo a un servicio web REST
    5. Consumiendo el servicio de datos de Windows Azure utilizando el cliente OData
    Sensores y otras características específicas del teléfono
    1. Lanzadores y Selectores
    2. Detección de movimiento (acelerómetro)
    3. Desarrollando con el GPS de Windows Phone (Servicios de Ubicación)
    4. Desarrollando con la cámara de Windows Phone

    También pueden ver el índice completo en esta página de La Liga Silverlight.

    ¡Esperamos que les sean de utilidad!

  • WarNov Developer Evangelist

    Windows Azure Evolution

    • 0 Comments

    Nuestra gran plataforma de cómputo en la nube es lo más alejado de algo estático. Todos los días está evolucionando para ofrecer más y más ventajas. De hecho esa es una de las grandes características de la nube: poca fricción al cambio.

    image

    Quiero recopilarles en este post todas las novedades que ha presentado la plataforma desde Marzo de este año. Estas novedades están disponibles en el update de abril del SDK 1.4 de Windows Azure.

     

     

    1. Web Deployment Integration

    image

    Alguna vez ha montado un sitio en Azure a pruebas y observó que había un pequeño bug y ha querido corregirlo en caliente rápidamente para ver si la corrección es adecuada? Hasta hace un tiempo en Windows Azure esta era una tarea complicada que implicaba re-empaquetar la aplicación para subirla nuevamente a la nube de Windows Azure usando bien fuese el portal administrativo o el API de Administración del Servicio a veces solo para probar una pequeña modificación. Con la actualización de la versión 1.4 del SDK esto queda resuelto gracias a la herramienta de Web Deployment.

    Esta herramienta es una extensión de IIS que contiene esencialmente un conjunto de utilidades y un framework administrado para simplificar el despliegue, administración y migración de aplicaciones Web, sitios y hasta servidores completos. Tanto desarrolladores como profesionales de IT se pueden beneficiar de estas utilidades no solo prácticas en Windows Azure sino en todo lado donde existan IIS desplegados. De hecho es un paquete de descarga gratuito que se maneja como una extensión de IIS que no tendrá costo. En Windows Azure ya está incluida.

    · Permite tanto actualizar sitios en vivo, como con paquetes comprimidos con las fuentes del mismo.

    · Es compatible con PowerShell y línea de comandos.

    · Puede sincronizar solo datos que hayan cambiado.

    · Puede detectar dependencias perdidas durante la sincronización.

    o Muchas otras características avanzadas que generalmente no se manejan en Azure, pero sí en despliegues de IIS tradicionales. Más detalles aquí.

    Aunque esta característica ha sido muy esperada, debemos notar que dada la naturaleza de Windows Azure hay algunas limitaciones:

    · El Web Deploy solo sirve con una instancia de Windows Azure

    · Con Web Deploy se omite la creación del paquete. Así que los cambios hechos a las páginas no son durables. Esto quiere decir que si por algún motivo la instancia se reinicia, esta volvería al estado anterior antes de hacer Web Deploy.

    Se puede obtener el plugin con la última versión del SDK que se puede descargar de aquí. Información detallada de cómo usarlo se encuentra aquí.

     

     

    2. Novedades en AppFabric

    Primero, una nueva versión del AC (Control de Acceso – Manejo de la autenticación de usuarios) en Windows Azure con mejoras en los procesos de Single-Sign-On y la integración con directorios empresariales e identidades Web.

    Además, Servicio de Cache!!! Este es un servicio de almacenamiento de datos de aplicación en memoria totalmente distribuido que acelera el performance de las aplicaciones en Windows Azure y SQL Azure permitiendo mantener datos en memoria y permitiendo omitir la necesidad de obtener los datos físicamente del storage o la base de datos.

    image

    El cache es frecuentemente usado para mantener los datos que más se consultan en memoria; más cercanos a la aplicación como tal reduciendo la sobrecarga en la base de datos, así como eliminando efectos de latencia de red innecesarios.

    Los desarrolladores ASP.NET pueden usar el servicio de Cache sin modificaciones, ya que el manejo de estado de sesiones, aplicaciones y output caching se puede transferir a APPFabric a través de sencillos cambios en la configuración de proveedores.

    Las capacidades de cache también están directamente disponibles a través de una simple API para obtener un uso más flexible y personalizado. En tiempo de ejecución, el servicio de Cache distribuye transparentemente los datos de sesión o de output a través de la infraestructura elástica de Windows Azure.

    Dado que es un servicio en todo el sentido de la palabra, AppFabric Caching tiene un modelo de aprovisionamiento bastante simple (no hay que instalar infraestructura y menos ajustarla o administrarla, dado que todo esto se hace automáticamente a través del servicio. Solo hay dos cosas para configurar: Qué datos se almacenaran y qué tanto caché se necesita. A medida que las necesidades de la aplicación crezcan o decrezcan, es posible cambiar dinámicamente el tamaño del cache elástico basado en estas necesidades.

    Cómo se compra?

    Se proveen seis diferentes opciones para el tamaño de la memoria en caché:

    · 128 MB cache por $45.00/mes

    · 256 MB cache por $55.00/mes

    · 512 MB cache por $75.00/mes

    · 1 GB cache por $110.00/mes

    · 2 GB cache por $180.00/mes

    · 4 GB cache por $325.00/mes

    Para los usuarios que quieran probar el servicio, lo pueden hacer gratuitamente hasta el primero de agosto de 2011. Igualmente en el sitio de ofertas de Windows Azure podremos encontrar algunos paquetes que incluyen gratuitamente hasta 128MB de memoria en caché al mes por ejemplo para suscriptores MSDN.

    Se pueden comprar diversos paquetes de cache para terminar con tamaños distintos a los ofrecidos por defecto. Los precios se suman indistintamente. El tamaño de un paquete de cache también se puede actualizar. Si se hace más grande, los datos permanecen intactos. Si se reduce, los datos que menos recientemente hayan sido accedidos son eliminados del cache.

    La facturación del servicio se hace mensualmente, pero los cargos son calculados diariamente. Por ejemplo si compramos 128MB de cache a un costo de $45/mes y lo usamos 10 días y luego lo actualizamos a 256 ($55/mes) por los restantes 20 días, pagaríamos un total de: 45/(10/30) + 55/(20/30) = $51.67.

    Qué se puede almacenar?

    · Objetos CLR

    · Filas de tablas del storage de Azure

    · XML

    · Datos Binarios

    Se puede acceder al cache directamente a través de la sencilla interfaz creada para .NET o en ASP.NET a través del proveedor de cache tras una sencilla configuración.

    Cuál es la cuota del servicio?

    En la siguiente tabla muestro las condiciones máximas que ofrece el servicio. Es de anotar que estas condiciones están sujetas a revisión en un futuro:

    image

     

    3. Windows Azure Traffic Manager (CTP)

    image

    Esta característica nos permite administrar y distribuir el tráfico a nuestros servicios hosteados en Windows Azure bien sea cuando los tenemos en un mismo data center o repartidos por todo el mundo. Es así como a través de la definición de unas políticas de balanceo de carga disponibles gracias a Windows Azure Traffic Manager podemos mejorar el performance e incrementar la disponibilidad de estos servicios mientras les balanceamos su tráfico.

    Dichas políticas se definen a través de los siguientes criterios:

    · Performance: El tráfico es redirigido al servicio hosteado más cercano en términos de latencia de red.

    · Round Robin: El tráfico es distribuido equitativamente en todos los servicios.

    · Failover: El tráfico es enviado a un servicio primario  y, si el servicio cae, se pasa al siguiente servicio disponible en una lista.

    Entonces asignamos a cada política un nombre DNS y le asociamos los servicios requeridos. El balanceador de carga responde a los requerimientos al nombre DNS que tiene la política asignada, con la dirección de uno de los servicios asociados que satisfaga los criterios de la política. El Traffic Manager está monitoreando constantemente los servicios para asegurar que están online y no enviará tráfico a los servicios no disponibles.

     

     

     

    4. Video con Smooth Streaming optimizado para el Content Delivery Network (CDN)

    image

    Esta capacidad permite a los desarrolladores distribuir video para clientes creados con Silverlight o sobre iOS y también Android Honeycomb, sin necesidad de desarrollar ningún software adicional ni menos administrarle o configurarle. Los desarrolladores pueden lograr esto, subiendo sus videos codificados para IIS Smooth Streaming a una cuenta de almacenamiento de Windows Azure que tenga la CDN habilitada. La CDN escala de acuerdo a lo requerido, de manera que los desarrolladores no necesitarán gastar tiempo configurando servidores o preocupándose acerca de la capacidad o picos en la demanda. Para más detalles de la CDN, lea esto.

  • WarNov Developer Evangelist

    Aprende Windows Phone con los Student Partners de Colombia!!

    • 2 Comments

    Una semana de sesiones dirigidas por Marylin Alarcón y Juan Giraldo sobre las principales características y funcionalidades de la plataforma.

    Al finalizar estarás en la capacidad de crear tus aplicaciones, publicarlas y distribuirlas a través de Marketplace y te enteraras de como participar por la oportunidad de ganar un teléfono Windows Phone 7 completamente nuevo para tus desarrollos o para uso personal.

    Sesion 1 - Preparando el terreno:

    Windows Phone 7 como plataforma para desplegar tus soluciones para tus clientes

    URL de Registro: http://bit.ly/WP7S1

    Sesion 2 - Controles, Launchers y Choosers:

    Utilizando el máximo potencial de los controles Silverlight y las características que nos provee WP7 para nuestras aplicaciones.

    URL de Regitro: http://bit.ly/WP7S2

    Sesion 3 - Databinding y servicios web:

    Cómo WP7 nos permite manipular y comunicar datos desde y hacia el dispositivo.

    URL de Registro: http://bit.ly/WP7S3

    Sesion 4 - Haz tu aplicación:

    Tips adicionales para el desarrollo de tus aplicaciones.

    URL de Registro: http://bit.ly/WP7S4

    Puede revisas la lista completa de requerimientos para trabajar con Windows Phone 7 siguiendo este vínculo: http://bit.ly/WP7HyS

    ¡¡No dejes pasar esta oportunidad de capacitación gratuita!!

  • WarNov Developer Evangelist

    Introducción a Windows Azure Content Delivery Network

    • 0 Comments

    Windows Azure no solo es cómputo y Storage. También tiene muchos otros elementos como los que componen AppFabric para manejo de seguridad, integración, comunicaciones y caché. Y por si fuera poco, también tenemos administración de distribución de contenidos.

    El Content Delivery Network de Windows Azure mejora el performance y disponibilidad de información de cara al usuario final al ubicar copias de los datos más cerca a los usuarios. Haciendo un caching de la información estática en ubicaciones estratégicamente establecidas, Windows Azure CDN provee la mejor experiencia para distribuir contenido a los usuarios que están lejos de la fuente de un contenido y que están usando aplicaciones donde son requeridos muchos viajes a través de Internet para cargar contenidos. También puede ayudar a manejar sistemas de distribución masivos; por ejemplo el inicio de un evento, o el lanzamiento de un producto.

    Hoy en día muchos productos de Microsoft son distribuidos a través del CDN tales como Windows Update, videos de Zune, y Bing Maps. Ahora está disponible para todos los usuarios de Windows Azure.

    Soporte a múltiples Contenidos

    A través de la CDN se pueden distribuir contenidos de una gran variedad de fuentes incluyendo el storage de Windows Azure y desde los roles de cómputo de Windows Azure también. Los contenidos comprenden: Contenidos web como JPG, CSS, JavaScript, objetos descargables como archivos de medios, software y documentos, aplicaciones, streams en tiempo real así como otros componentes de distribución a través de Internet como DNS, rutas, y queries a bases de datos. Sólo basta un clic para activar el servicio en Windows Azure.

    24 Nodos distribuidos alrededor del mundo

    clip_image001

    Smooth Streaming

    Esta capacidad permite a los desarrolladores distribuir video para clientes creados con Silverlight o sobre iOS y también Android Honeycomb, sin necesidad de desarrollar ningún software adicional ni menos administrarle o configurarle. Los desarrolladores pueden lograr esto, subiendo sus videos codificados para IIS Smooth Streaming a una cuenta de almacenamiento de Windows Azure que tenga la CDN habilitada. La CDN escala de acuerdo a lo requerido, de manera que los desarrolladores no necesitarán gastar tiempo configurando servidores o preocupándose acerca de la capacidad o picos en la demanda.

    Costos y mediciones

    En general trabajar con la CDN implica dos costos separados. Uno, el de la transferencia de datos desde los centros de datos de Windows Azure al CDN (esto es cobrado con la facturación convencional de Windows Azure y ocurre solo cuando se actualizan los datos en la CDN). El otro costo corresponde a la transferencia de datos desde el CDN como tal a los usuarios. Este costo ocurre cada vez que son pedidos los datos a la aplicación.

    Específicamente tenemos los siguientes costos en dólares: (Observemos cómo no se cobra el almacenamiento sino solo el ancho de banda emitido y la cantidad de llamados sobre la información almacenada en el CDN)

    • $0.15 por GB de transferencias desde ubicaciones europeas y norteamericanas
    • $0.20 por GB de transferencias desde otras ubicaciones
    • $0.01 por cada 10,000 transacciones
  • WarNov Developer Evangelist

    HTML5 LABS: Te enseña y ahorra dolores de cabeza

    • 4 Comments

    Una de las dificultades más evidentes experimentadas en la implementación temprana de HTML5 ha sido el afán de los protagonistas por destacarse al desarrollar ciertas partes del estándar cuya madurez no se ha probado correctamente; eso se ve reflejado en múltiples cambios en las versiones betas, poca estabilidad y a veces hasta el “arrepentimiento” de haber hecho la implementación tan temprano que obliga a retirar dicha implementación del producto.

    Veamos en el siguiente video un claro ejemplo de esto:



    Uno diría que para eso son las betas; para probar. Pero uno espera que aunque sea el beta, tenga cierta estabilidad y no que esté cambiando todos los días hasta que al final desaparezca aquello que se trató de hacer. Es cierto que algunas cosas pueden cambiar y uno está esperando que esto ocurra; pero hay casos que sencillamente no permiten trabajar y frustran demasiado, como lo visto en el video (que no es exageración sino un hecho real).

    Microsoft, consciente de esto ha creado todo un portal donde podemos ver todas las características experimentales acerca de HTML5 y además descargar ciertos addons para agregar a los platform previews de Internet Explorer 10, de manera que podamos evaluarlos sin correr el riesgo de apostarles todo y luego ver cómo cambian drásticamente o sencillamente desaparecen.

    clip_image001

    En este portal es donde Microsoft expone implementaciones tempranas e inestables de tecnologías relativas a HTML5, avaladas por el W3C. Compartir estos prototipos nos ayuda a tener discusiones informadas con las comunidades de desarrolladores y nos permite adquirir mejor feedback acerca de los borradores implementados y todo sin perjudicar las versiones preliminares del browser.

    Aquí entre otros prototipos podemos explorar por ejemplo:

    1. IndexedDB: Para poder almacenar grandes cantidades de datos estructurados en el Browser.

    2. FileAPI: Facilitar el acceso a archivos desde el browser

    3. WebSockets: (El protagonista de nuestro video) Simplificación de la comunicación bidireccional a través de comunicaciones Full Dúplex sobre un socket TCP.

    4. Media Capture API: Para proveer acceso a los dispositivos de la máquina cliente que capturan audio, imágenes y video.

    Les recomiendo entonces que visiten <HTML 5 Labs> y comiencen a experimentar de manera segura.

  • WarNov Developer Evangelist

    Cómo empezar con Windows Azure

    • 2 Comments

    Ya he escrito muchos artículos sobre Azure en este blog. Desde básicos hasta avanzados. Sin embargo, con el tiempo más y más personas quieren saber de la plataforma y es útil que tengan un punto de partida sencillo para comenzar. Aunque en mis posts anteriores existe este punto de partida, la plataforma tanto operativa como administrativa de Windows Azure ha sufrido cambios y por ende me permito escribir este post que muestra de manera actualizada cómo escribir una aplicación para Windows Azure y cómo desplegarla en la nube.

    Audiencia: ITPROS y Developers con poco o ningún conocimiento de Windows Azure.

    Si ud. es ITPRO, puede que solo desee ver el Video 2, que es orientado a su rol (Cómo desplegar una aplicación en Windows Azure)

    Si ud. Es Developer, le recomiendo especialmente el Video 1 y también que vea el Video 2 que aunque está enfocado a ITPROS, también tiene contenido que le puede ser útil.

    Esta es más que una simple aplicación Hello World para Windows Azure, pero lo suficientemente sencilla para comenzar con esta tecnología. Simplemente se trata de un sitio web usando la plantilla por defecto de Visual Studio al que se le añadió la funcionalidad de identificar el servidor en Windows Azure desde el cual se responden las peticiones. Esto permite ver que Windows Azure ofrece una naturaleza que permite muy fácilmente trabajar con varios servidores.

    Para exponer esto, les presento un video (Video 1), luego del cual, veremos en otro video cómo se puede desplegar dicha aplicación en la nube de Azure, pasarla de un ambiente de pruebas a producción y hacerla más escalable cambiando un sencillo valor de configuración.

    Video 1: Creación de una aplicación básica para Windows Azure.

    Video 2: Despliegue, paso a producción y escalamiento de una aplicación Windows Azure.

    En este video vemos cómo es de fácil desplegar una aplicación en Windows Azure. Está enfocado a ITPROS y Desarrolladores que desean saber cómo opera la nube de Azure en cuanto a despliegue de aplicaciones. Vemos cómo es de fácil pasar de entornos de pruebas a entornos de producción y también cómo hacer que la aplicación escale mediante la añadidura de nuevos servidores.

  • WarNov Developer Evangelist

    Windows 8. Primeras revelaciones.

    • 10 Comments

    Viene nuestra tablet!

    Windows 8 Start Screen

    Esta interfaz recibe el nombre de “Immersive” y hace parte de una de las dos variantes con las que vendrá Windows 8. Una de ellas, será la familia de OS ya conocida por todos: Ultimate, Professional, Home, etc. enfocadas a PCs y Laptops convencionales, y esta otra dedicada a tablets, con un diseño totalmente adaptado para este tipo de aparatos.

    Como se aprecia, en esta interfaz el menú inicio es reemplazado por una pantalla de inicio basada en tiles tipo Windows Phone 7. Pero tranquilos; no es un Windows Phone 7 "agrandado" esta Tablet sí traerá mucho más. La pantalla es completamente personalizable y escalable a tal punto que los tiles pueden verse full screen.

    Cada tile tiene vida propia y nos muestra notificaciones e información siempre actualizada de las mismas y además permite un cambio fluido muy natural entre las aplicaciones en ejecución. Por si fuera poco, podemos pegar aplicaciones a los costados  y cambiar su tamaño de manera que se aprovechan realmente las capacidades de Multitask de Windows.

    Las aplicaciones en general estarán siempre conectadas al Web y serán escritas en HTML5 + Javascript que tiene acceso completo a todo el poder del PC.

    Vendrá de plano con IE10 optimizado para touch. De manera que la navegación será optimizada completamente para esta forma de entrada.

    Los tablet para Windows 8 han de obedecer a estrictas exigencias por parte de Microsoft que permitirán que los usuarios en realidad tengan la experiencia buscada. Es así como se exige siempre procesadores SOC (System on a Chip) ARM con mayor performance, más pequeños y de menos consumo energético y de memoria).

    Más novedades se presentarán en el evento Build: Windows. A llevarse en reemplazo del PDC en Anaheim CA, en Septiembre 13 de este año! Un evento que no hay que perderse!!!!

    Para finalizar les dejo un preview de lo que será nuestro Windows 8:

     

  • WarNov Developer Evangelist

    Desarrollo sin código? En Windows Phone 7 se puede… y gratis!

    • 2 Comments

    Para algunos puede ser el sueño del desarrollo de aplicaciones… que se generen sin escribir ni una línea de código y súmenle que se pueda hacer gratuitamente!

    Así es; si necesitas hacer una aplicación para Windows Phone 7 en menos de 20 minutos y gratis, http://appmakr.com es la solución.

    Allí se ofrece la posibilidad de hacer aplicaciones obviamente enfocadas a un aspecto único, con el fin de poderlas hacer de una manera tan automatizada; en este caso, las aplicaciones que podemos desarrollar allí, son aquellas orientadas a mostrar información de feeds que vienen en RSS o ATOM.

    Podemos modificar la fuente del feed, poner varios tabs con distintos feeds, escoger los íconos e imágenes de cabecera de nuestra aplicación y además monetizarla a través de Adds!

    Como siempre un video vale más que una giga de palabras y aquí se los dejo para que vean todo el proceso:

    Para desplegar tu aplicación con appmakr, solo se necesita tener instalados los tools de Windows Phone 7.
    Si deseas hacer aplicaciones más complejas y no sabes cómo comenzar, te recomiendo este post.
     
    Quieres además ganar un Windows Phone 7, pues con tu aplicación hecha en appmakr puedes participar. Detalles aquí.
  • WarNov Developer Evangelist

    URLs Limpias de MVC no funcionan en producción!

    • 2 Comments

     

    Hoy desplegué un sitio con ASP.NET MVC 2.0 en mi hosting, pero no funcionó bien. Me arrojó un 404 tratando de acceder http://warnov.com/MSBlog . Como puedes ver es una URL especial basada en el ruteo de MVC.

    clip_image001

    Para que este ruteo funcione, es necesario que IIS esté configurado para correr en Integrated Mode en mi aplicación. Yo creo que en vez de estar en Modo Integrado, ahora allá en mi proveedor de hosting, está en Modo Clásico.

    Por qué sucede esto?

    IIS 7.0 puede procesar las peticiones usando dos modos de proceso: integrado y clásico. El modo integrado provee más performance y características. El modo clásico está incluido para ofrecer compatibilidad hacia atrás.

    Les escribí a los operadores del hosting, que me gustaría saber si es posible que me puedan ayudar ajustando el IIS para mi aplicación en modo Integrado (DefaultAppPool) para que pueda correr mi aplicación con MVC2.

    Sé que esto podría acarrear problemas de compatibilidad con sitios viejos, pero lo bueno es que es un cambio a nivel de ApplicationPool, así que si mi aplicación no comparte el pool, será un cambio muy sencillo.

    Por el contrario, si el AppPool es compartido, les sugería que crearan un AppPool aparte, especial para todos los que queramos poner aplicaciones de avanzada que aprovechen todo el poder del Framework.NET

    Esperemos que me responden…

    Al final, les adicioné unas instrucciones de IIS 7.0 para que las ejecuten en caso de que me puedan colaborar… estas instrucciones deberían servirte si estás pasando por el mismo problema:

    1. Abrir el administrador de IIS

    2. Seleccionar la aplicación en el menú de Conexiones

    3. En el menú de acciones dar click en Basic Settings para abrir al diálogo “Edit Application”

    4. Seleccionar el tipo de ApplicationPool requerido:

    clip_image002

    En IIS 7.5 (el de Windows 7) es mucho más fácil; les dejo un cortísimo video:

  • WarNov Developer Evangelist

    Windows Phone Developer Tools 7.1 Beta Release

    • 0 Comments

    Hoy en Nueva York fue anunciada al mundo la siguiente versión de Windows Phone con nombre código “Mango” . En el evento se revelaron las principales características de esta versión, así como las mejoras al Marketplace que no habían sido mostradas en eventos previos. Para ver el video de este evento poder ir aquí.

    Tras este evento, las herramientas para que los desarrolladores puedan crear aplicaciones que explotan todas estas nuevas características están disponibles públicamente y sin costo.

    Características Liberadas

    · Profiler: Una herramienta que permite identificar y resolver problemas de performance de una manera rápida y sencilla.

    · Emulador Mejorado: El nuevo emulador permite simular entradas para los sensores. Incluyendo información de GPS y datos para el acelerómetro. Así que ya no tendrás que ir hasta la India a ver si su aplicación GPS funciona allá como debería.

    · Visual Basic: En este reléase se provee soporte para este lenguaje tanto para crear proyectos XNA como Silverlight con Visual Studio y Expression Blend.

    · Multi Targeting: Que nos permite escoger para qué versión del OS queremos que corra nuestra aplicación (para la 7.0 o la 7.1)

    · Contactos que se pueden organizar por grupos y además se pueden ejecutar comunicaciones con dichos grupos

    · Filtros de información (por ejemplo; no quiero tener updates de Facebook para determinadas personas)

    · Comunicaciones integradas a través de threads: De esta manera por ejemplo se puede seguir un chat a través de SMS, Windows Live Messenger o Facebook, dependiendo de dónde se encuentren activos nuestros interlocutores.

    · Conversaciones en Email así cono “Information Right Management” para proteger la información corporativa.

    · Resolución de conflictos de Agenda.

    · Eventos de Facebook en la agenda

    · Si está oyendo música o con el teléfono fuera del alcance de sus manos (tal vez conduciendo) Ahora podrá ejecutar muchas acciones solo con la voz. Por ejemplo si llega un nuevo mensaje, el teléfono le informará a través de voz de quien es y su contenido. Además usted podrá replicar a dicho mensaje también solo diciendo lo que quiere que vaya en el SMS.

    · Detección de Rostros en las fotografías tomadas con el teléfono que permite etiquetar contactos y actualizar redes sociales

    · Mejor integración de los documentos de Office ahora con Office 365 y con Skydrive

    · IE9 FULL (exacto al de la versión de escritorio)

    · Búsquedas en Bing que incluyen comandos por ubicación, imágenes, y voz

    · Otras nuevas características:

    o Acceso a sensores adicionales: Cámara, compas, gyro

    o Background Agents

    o Cambio entre aplicaciones aún más rápido

    o Control de Web Browser basado en IE9 para incluir en nuestras aplicaciones

    o Live Agents que nos muestran información dinámica en el home del sistema

    o Silverlight 4

    o Silverlight interoperando con XNA

    o Sockets

    o SQL CE

    Recursos:

    · WPDT 7.1 Beta

    · Windows Phone Developer Blog

    · Sesiones de Windows Phone @ MIX11

    · App Hub

  • WarNov Developer Evangelist

    Requerimientos para desarrollar en Windows Azure (Software - Hardware)

    • 4 Comments

    Computadora con con IIS 7 instalado. Esto automáticamente restringe los posibles sistemas operativos a Windows 7, Windows Server 2008, Windows Vista. Preferiblemente en x64 (64-bits). Si no tienen la licencia, se puede descargar un trial de aquí.

    Requerimientos de Hardware:

    o Computer with a 1.6GHz or faster processor
    o 1024 MB RAM (1.5 GB if running in a virtual machine)
    o 3 GB of available hard-disk space
    o 5400 RPM hard drive
    o DirectX 9 capable video card running at 1024 x 768 or higher-resolution display

    Además:

    · Sql Server 2008 R2 Express Edition  y SQL Server Management Studio 2008 R2 Express Edition (Tener la instancia SQLEXPRESS para el Development Storage)

    o Se descarga de aquí

    · Visual Studio 2010 Ultimate. Si no tienen la licencia, se puede descargar un trial de aquí. También se puede usar Visual Web Developer Express, pero algunas operaciones de Azure no estarán disponibles.

    · Windows Azure Tools for Microsoft Visual Studio descargables aquí

    · Windows Azure AppFabric SDK descargable de aquí

    · Windows Azure Training Kit descargable de aquí.

    · Opcional: Prelectura de estos artículos

  • WarNov Developer Evangelist

    Microsoft te Regala Azure

    • 0 Comments

    image

  • WarNov Developer Evangelist

    Bueno si es HTML5, mejor si es nativo, genial si es con IE9 y súper si es con IE10!!!

    • 2 Comments

    “No sé por qué IE no es como Firefox y ya... una aplicación que se instala sin ser intrusiva con el OS a tal punto que ni siquiera exige que se cierre ninguna aplicación. No me gusta que tenga que reiniciar cada vez que instalo un Internet Explorer nuevo! Es como si el IE de alguna manera se entrecruzara con el sistema operativo en alguna suerte de simbiosis” –me dijo alguna vez un buen amigo…

     

    Ya a estas alturas uno sabe que HTML5 permite aplicaciones web de alto contenido interactivo y capacidades de presentación que anteriormente solo eran disponibles en los navegadores a través de plugins.

    La idea principal de HTML5 entonces es lograr que los desarrolladores web creen aplicaciones altamente interactivas que corran en todos los navegadores que lo soporten sin necesidad de la instalación de programas adicionales al browser.

    En parte esto es lo que ha demorado tanto la finalización y por ende la adopción del estándar. Es muy complicado lograr poner de acuerdo a todo el mundo tecnológico en algo que contiene tantas variables como la presentación en navegadores. Hay que definir cuál será el estándar de video, el de audio, el de animaciones, la forma en que se accederá a los periféricos, etc.

    No obstante, siendo esta una necesidad que la industria pide a gritos ser resuelta, desde hace poco más de un año, todo mundo ha enfocado sus esfuerzos a sacar el estándar adelante y se ha visto un avance sin precedentes.

    Cada vez se ve menos utópico el HTML5 finalizado y andando en producción. Y gran parte de estos avances se han logrado desde Microsoft.

    Obviamente la alta interacción se logra a través de una presentación de audio, video y animaciones impecable y a través de un excelente acceso a los periféricos de las máquinas cliente.

    Si uno se fija detenidamente, entonces observa que el éxito de un navegador con todas estas aptitudes radica en las capacidades que tiene para comunicarse con el sistema operativo cliente y de esta manera aprovechar los recursos de las máquinas. Tanto los chips de audio y video, como los dispositivos de entrada como cámaras y micrófonos.

    En este orden de ideas, se deduce entonces que gran parte del éxito del navegador depende de la forma en que este se acople con el sistema operativo. Si este acople es lo suficientemente bueno, las aplicaciones HTML5 sencillamente comenzarán a correr como aplicaciones nativas. Y esto redundará en velocidades y capacidades de ejecución solo vistas en aplicaciones de escritorio o de plugins; redundará en demos que superan con creces la velocidad de aquellos navegadores que no están acoplados al sistema operativo.

    Con el lanzamiento de la versión final de IE9, como siempre escuché divertidos comentarios acerca de cómo Internet Explorer siempre exige reiniciar la máquina para ser instalado, tal como lo cité en el epígrafe de este post.

    Usted amigo lector ya debe ir sabiendo por donde es que va el agua al molino. En un suceso más que afortunado, Microsoft tiene una gran ventaja en la competencia de browsers al tener su browser altamente acoplado al sistema operativo. Es claro a través del tiempo que IE no es una aplicación más en Windows, sino que es un elemento muy integrado al entorno.

    Precisamente este hecho permite que tras el advenimiento de HTML5, IE9 pueda aprovechar todo el poder de hardware de la máquina directamente. Esto a través de la alta integración con el sistema operativo. Ofreciendo esto a su vez una cantidad de funcionalidades y una velocidad asombrosa. Así que por lo menos para mí, reiniciar la máquina no será un problema si luego voy a tener aplicaciones que corren hasta diez veces más rápido que aquellas en otros browsers.

    Entonces, cuando ustedes vean la demo de los pescaditos o su versión modernizada en donde ya podemos oír sonidos HTML5, ver un fondo acuático que consiste en un video HTML5, y podemos además componer la escena con sombras, brillos, máscaras, frames y demás sabrán que la asombrosa velocidad no es debida a que son demos hechas por Microsoft, sino a que con Windows más IE9 se tiene una experiencia nativa de HTML5 que aprovecha mucho mejor el hardware.

    imageimage

    IE vs FF (parece que algún pez se convirtió en pescado a la derecha)

    No obstante, he oído comentarios de seguidores de otros navegadores que dicen que no les importa la aceleración por hardware, dado que están contentos con que su browser es 100% compatible con ciertas pruebas sobre diversos estándares (punto débil en anteriores versiones de IE. Pero para nada en la 9, donde tiene índices de compatibilidad y estandarización asombrosos). Pero quisiera que pensaran en aplicaciones altamente interactivas con muchas animaciones, videos y sonidos; en ese momento notarían la necesidad de poder aprovechar esta aceleración.

    Veamos a continuación algunos ejemplos de aplicaciones que son mejores cuando se generan nativamente, en un video que explica más que una mega de palabras:

    Las fuentes de este video son:

    IETestDrive

    De aquí pueden descargar el Platform Preview 1 de IE10 y además encuentran los demos de la pecera y de PaintBall así como innumerables aplicaciones adicionales que muestran el poder de IE10 sobre estándares y HTML5

    Forsquare Playground

    Aplicación que genera un vecindario visual basada en la información que brindan los usuarios de Forsquare y el api de localización de HTML5

    World’s Biggest Pacman

    El juego de pacman más grande del mundo

    Adicionalmente en este otro video, podemos ver una prueba realizada con una aplicación no realizada por Microsoft sino por gente de Mozilla, en la cual se explota el Canvas2D de HTML5. También se aprecian las ventajas nativas:

    Para finalizar con las pruebas, les recomiendo que con sus navegadores vean este sitio del artista Bon Jovi. Creado sobre HTML5 para explotar el tag de video en toda su extensión al presentar múltiples videos en una misma pantalla enmascarados y combinados. La idea es que existe un video musical con distintos ángulos de cámaras y nosotros nos convertimos en los directores al armar la secuencia de cámaras que deseamos. Y todo con HTML5 funcionando perfectamente en IE9. Al probarlo en Chrome el sitio demora mucho en funcionar y finalmente acaba con la paciencia del usuario que decide ir a probar en Firefox… Al probar en Firefox no aparecen los videos. Esperemos que pronto todos los browsers lleguen a un estado aceptable para que las aplicaciones que hagamos sobre HTML5 funcionen correctamente para todo el mundo.

  • WarNov Developer Evangelist

    Windows Phone 7? Y qué pasa con mis aplicaciones de Windows Mobile?

    • 0 Comments

    Es usted un desarrollador de aplicaciones móviles empresariales?
    Se siente preocupado porque Windows Phone 7 no soporta las aplicaciones hechas para Windows Mobile 6.x?

    En ese caso, este artículo es para ud.

    Comprendo su situación. Más aún cuando para lanzar una plataforma tan novedosa como Windows Phone 7, desde Microsoft debemos enfilar nuestros esfuerzos a promoverla a toda costa.

    Pero tranquilo que esto no significa que Windows Mobile desaparezca. Las aplicaciones que ud ha hecho para Windows Mobile 6.x aún serán compatibles por mucho más tiempo.

    Tal vez usted hasta haya contemplado la posibilidad de migrar de plataforma. Por ejemplo a Android que ha tenido un éxito innegable y tiene un futuro muy prometedor.

    Pero con un poco más de investigación descubrirá que tanto IPhone como Android y el mismo Windows Phone 7 están basados en una arquitectura de “SandBox” en la cual las aplicaciones solo pueden acceder a una zona del sistema operativo desde la cual no pueden acceder nativamente ni al software ni al hardware del aparato. Estos sistemas operativos de teléfonos pertenecen a un segmento distinto al de Windows Mobile. No son orientados a aplicaciones empresariales ni de negocio, sino a aplicaciones de consumidor o de usuario final. Entre otras cosas es por eso que son aplicaciones muy restringidas, pues requieren proteger los intereses de un mundo de usuarios mucho más grandes y ofrecer un entorno absolutamente estándar para que muchos desarrolladores puedan hacer sus aplicaciones fácilmente sobre esta plataforma, pues finalmente lo que asegura mantener un sistema consumidores es tener la mayor cantidad de aplicaciones posibles; sin embargo esto imposibilita por ejemplo la habilidad de apagar los radios internos de los quipos para ahorrar energía, o bloquear o limitar la experiencia de usuario de acuerdo a las necesidades de la aplicación, o la instalación de componentes de software especiales como bases de datos que requieren un acceso nativo a la plataforma. Obviamente esto acarrea por ejemplo la imposibilidad de administrar todo el sistema desde una sola aplicación; condición apenas básica para muchas aplicaciones empresariales.

    En un ambiente de aplicaciones de este tipo entonces observaríamos una fragmentación debido a la necesidad de soportar periféricos especializados, seguridad y funciones de administración De manera que los desarrolladores de aplicaciones empresariales deberían suministrar sus propios drivers y además sus propias extensiones de aplicación; en caso de que esto se diera, sería muy poco probable que cada desarrollador creara las misma utilidades que su competencia y aquí es donde se vería esta fragmentación que limitaría a un cliente su movimiento de una aplicación a otra; cosa que no sucede en Windows Mobile! Así que los clientes que decidan pasarse a usar las aplicaciones empresariales que tras mucho esfuerzo puedan lograrse en plataformas como Android deben tener muy en cuenta que ese software está arquitecturado de una manera tal que las características comunes y las propietarias están separadas. Así pues cuando un cambio de hardware de un proveedor sea necesario las áreas de software que requieren cambios y pruebas serán fácilmente detectables.

    Otra limitante puede ser el requerimiento que muchas industrias tienen de soportar transacciones altamente seguras a través de estándares como el FIPS (Federal Information Processing Standard) que exige certificación de hardware y software. Aunque hoy estas certificaciones son muy comunes en Windows Mobile, es muy poco probable que se empiecen a implementar en otras plataformas antes del 2013.

    En síntesis, va a ser muy complicado de lograr obtener las mismas características a las que Windows Mobile nos tenía acostumbrados. Con toda esta posible fragmentación Windows Mobile sigue siendo la mejor opción para aplicaciones de línea de negocio para dispositivos móviles (handhelds).

    Si no han oído mucho de la evolución de Windows Mobile, déjenme decirles que si sigue evolucionando y lo que conocíamos como Windows CE ahora se conocerá como Windows Embedded Compact 7 (para dispositivos muy específicos como automóviles, minicomputadoras especializadas, etc.) y lo que era Windows Mobile hoy se conoce como Windows Embedded Handheld 6.5 (telefonía, compatibilidad entre distintos dispositivos, seguridad avanzada). Estos dos sistemas operativos ofrecen toda la confianza gracias al nivel empresarial de soporte de Microsoft que hoy asegura 10 años más de soporte y 15 años más de disponibilidad de producto.

    Además:

    • Acceso al Cellcore (toda la telefonía de costumbre)
    • Wi-Fi, Bluetooth y Ethernet
    • Integración a soluciones de administración y seguridad como System Center Configuration Manager y Microsoft Exchange Server
    • Integración con otros servidores como Sql Server, Sharepoint y Windows Server
    • Varios métodos de entrada disponibles (touch, stylus, teclado y más)
    • Múltiples resoluciones de pantalla
    • Procesadores ARM soportados
    • Periféricos adicionales como lectores de códigos de barras, RFID, y lectores de cintas magnéticas.
    • Encripción de datos, borrado remoto, política de obligación de password
    • Tránsito sobre SSL hasta de 256 o VPN

    Pero cómo programo para Windows Embedded Handheld?

    Es cierto. El soporte a este tipo de proyectos fue retirado de Visual Studio 2010. Pero no será para siempre. Por ahora se puede usar Visual Studio 2005/2008 (que se pueden instalar en paralelo con el 2010) en compañía de Windows Mobile 6 SDK y el Compact Framework 3.5.

    Y qué si mi aplicación no requiere tanto poder sino solo un sencillo acceso a base de datos y multitarea mientras se mantienen todas las características de teléfono de usuario final?

    En ese caso también hay buenas noticias porque Windows Phone 7 en su siguiente release (7.5 o Mango) Incluye la base de datos SQL CE para apoyar este tipo de aplicaciones, así como un mejor soporte al multitask ; además aceleración por hardware para HTML5 que en pruebas preliminares arrojan unas velocidades asombrosas sobre otros teléfonos de usuario final actuales. Si solo necesita de estas dos capacidades, bien puede pasarse a trabajar con Windows Phone 7. Eso sí tenga en cuenta: Las herramientas de desarrollador salen el 24 de Mayo. Pero el update como tal para los teléfonos se espera para el otoño de este año.

    En cualquier caso como siempre digo, las tecnologías de Microsoft no mueren ni se reemplazan entre ellas. Solo evolucionan y se especializan para dar más beneficios a los usuarios.

    Get Microsoft Silverlight
     
     
    Get Microsoft Silverlight
Page 6 of 13 (318 items) «45678»