Compartir
Contenidos contratados por la marca que se menciona

Desarrollando Aplicaciones Universales Windows con Visual Studio 2015: Todas las claves

Desarrollando Aplicaciones Universales Windows con Visual Studio 2015: Todas las claves
Guardar
3 Comentarios
Publicidad

Newsletter

Si existe una palabra que se ha repetido en múltiples ocasiones, una y otra vez cuando hablábamos de aplicaciones Windows, esa ha sido convergencia. Desde tiempo atrás, en cada versión nueva de Windows y Windows Phone, cada plataforma iba compartiendo mayor cantidad de opciones.

Con la llegada de Windows Phone 8.0, se sustituyó la arquitectura basada en Windows CE por Windows NT, un kernel compartido con Windows 8.0. Esto permitió la inicialización de APIs compartidas permitiendo a los desarrolladores poder compartir ciertos elementos del código fuente de sus aplicaciones.

El viaje de la convergencia

Con Windows Phone 8.1 se realizó la convergencia a nivel de modelo de aplicaciones llegando las llamadas aplicaciones universales. Mayor cantidad de APIs compartidas, herramientas y opciones destinadas a compartir la mayor cantidad de código posible.

Con Windows 10, se llega al fin del viaje de la convergencia. Llegados a este punto se unifica también en núcleo y la plataforma de aplicaciones. Tenemos:

  • Un sistema operativo disponible para múltiples familias de dispositivos.
  • Una misma plataforma de aplicaciones.
  • Un portal de desarrolladores común con un ciclo de publicación compartido.
  • Una misma tienda.

La plataforma universal Windows

Windows 10 ha llegado como la culminación en el viaje hacia la convergencia en el desarrollo entre plataformas Windows.

Gracias a esta convergencia, podemos ejecutar nuestra App en teléfonos, tabletas, ordenadores y en la Xbox One. Además, debemos unir los nuevos dispositivos que se unen a la “familia” como dispositivos IoT, Internet of Things con la Raspberry Pi 2 por ejemplo, e incluso Hololens.

One Windows Platform

Ahora hablamos de Aplicaciones Universales Windows escritas una única vez con un código común tanto para la lógica de negocio como para la interfaz de usuario. Además, generamos un único paquete que mantendrá una interfaz consistente y familiar para el usuario pero adaptada a cada plataforma.

Los desarrolladores escribirán aplicaciones una única vez, tanto en lógica como en interfaz a pesar de llegar a múltiples familias de dispositivos. Además, ahora también se publicarán las aplicaciones en una única tienda.

Experiencias únicas y personales

La plataforma universal Windows busca ofrecer facilidad a los desarrolladores además de grandes flexibilidades para llegar a una gran cantidad de dispositivos diferentes. Creando una misma aplicación, mismo paquete la plataforma ofrece opciones para adaptar la experiencia a cada familia de dispositivo además de incluir opciones para deslumbrar a los usuarios, como por ejemplo, Cortana o Continuum.

One Windows Platform 02

UI Adaptable

Adaptar la interfaz de usuario a distintos tamaños, orientaciones y otros cambios no es algo nuevo. Con la llegada de las Apps Modern UI en Windows 8.0 se debía gestionar la vista Narrow. Con las Apps Universales en Windows 8.1 el desarrollo de Apps se realizaba con Windows Phone y Windows en mente. Ante este tipo de situaciones, hasta ahora se han utilizado diferentes técnicas. Las más habituales son:

  • Vistas XAML separadas por plataforma.
  • Diseño flexible. Utilizar posiciones y tamaños relativos para permitir escalar fácilmente.
  • Utilizar diferentes estados visuales (Visual States) para gestionar vistas en diferentes dispositivos, pantallas e incluso orientaciones.

Con la llegada de Windows 10, llegan importantes novedades destinadas a facilitar la creación de interfaces adaptativas con facilidad. El modelo de Apps ha sido mejorado en líneas generales pero además se ha mejorado considerablemente el ViewStateMananger para permitir crear vistas que se adapten al dispositivo con facilidad. Esto nos permitirá crear vistas comunes sin separar en ficheros diferentes por plataforma en la mayoría de casos. Aunque se permitirá seguir dividiendo vistas en caso necesario.

Visualstatemanager

También se ha incluido un nuevo Panel llamado RelativePanel que tiene como principal objetivo permitir crear interfaces con diseños que se adapten con facilidad a cualquier tipo de tamaño. Posiciona a los elementos que contiene de manera relativa entre ellos.

Relativepanel

Además los controles en tiempo de ejecución se adaptarán a las condiciones usadas para interactuar por el usuario. De esta forma, tendremos controles que cambien tamaño u opciones dependiendo de si se usa entrada táctil o ratón por ejemplo.

Entradas naturales

Windows 10 busca permitir crear experiencias más cercanas y humanas. Llegan nuevos controles versátiles y potentes que permiten entradas naturales de usuario en su aplicación, como habla natural, tinta electrónica (control Ink Canvas) o gestos.

La nube

Seguiremos contando con opciones en Azure potentes y versátiles como Azure Mobile Services o el Hub de notificaciones además del servicio de notificaciones Windows (WNS) entre otras opciones. Con Windows 10 llegan más servicios o algunos serán mejorados como es el caso de OneDrive.

Cortana

La integración de Cortana será mayor permitiendo búsqueda de Apps, lanzar Apps más frecuentes y muchas otras opciones.

Action Center

Windows 10 trae una experiencia de notificaciones consistente entre todos los dispositivos Windows.

Aplicaciones universales

Las aplicaciones universales Windows ahora cuentan con un único proyecto que creará un único paquete abordando múltiples familias de dispositivos.

Nueva App

Extensiones por familia de plataforma

En ocasiones necesitaremos utilizar características específicas de una plataforma. Para ello, utilizaremos el SDK de extensión. Haremos clic derecho sobre las referencias del proyecto, Añadir referencia y accedemos al apartado Extensiones dentro del apartado Universal App Platform:

Sdk Extension

Windows SDK incluye SDKs de extension para escritorio de Windows, Windows Mobile, Windows IoT y Windows PPI. Al agregar cualquiera de estas extensiones a tu proyecto de aplicación universal Windows, las API específicas del dispositivo estarán disponibles para la aplicación. Esto permite activar la funcionalidad específica y personalizar la experiencia del usuario. Ofreciendo en cada plataforma la mejor experiencia posible.

Telemetría

Por defecto, los proyectos que se crean de aplicación universal Windows incluyen Application Insights que permite obtener y analizar una enorme cantidad de telemetría de la aplicación en Azure. De esta forma, los desarrolladores obtendrán mayor cantidad de información de uso y errores de cada aplicación.

Telemetria

Developers, developers, developers

Así que, podemos crear apps que funcionen en todo tipo de dispositivos como teléfonos, tabletas, portátiles, dispositivos IoT, Surface Hub e incluso HoloLens. Para ello tenemos las vías utilizadas hasta este momento, es decir, utilizando C# y XAML (o VB, C++). Sin embargo, Windows 10 tiene como objetivo ser una plataforma potente pero a su vez versátil y accesible para cualquier tipo de desarrollador sin tener en cuenta su origen de partida.

Universal Windows Bridges

Llegar a Windows es mucho más sencillo que nunca. Si tienes una web, si tienes una App en iOS o Android e incluso si partes de una App Win32, existen nuevas opciones destinadas a facilitar la llegada de esas Apps a Windows de la forma más sencilla posible. Estamos hablando de los Windows Bridge toolkits.

Universal Windows Bridges

Tenemos a nuestra disposición cuatro Bridges diferentes.

Project Westminster

Permite crear Apps Windows empaquetando una página web pudiéndola publicar en la Store. Entre las principales características tenemos:

  • Opción de re escalar y adaptar la App para ofrecer la mejor experiencia en cada familia de dispositivo.
  • Tenemos la posibilidad de acceso a APIs Windows desde Javascript. Por ejemplo, integrar comandos de voz con Cortana, añadir Live Tiles o notificaciones.
  • Podemos depurar con las herramientas de desarrollo de Microsoft Edge.
  • Publicar en la Store con acceso a analíticas, reviews, etc.
  • Monetizar añadiendo In-App Purchases.
Project Islandwood

Windows Bridge para iOS (también conocido como proyecto Islandwood) es una herramienta que permite importar proyectos XCode para crear una aplicación Windows 10 reutilizando la mayor cantidad de código Objective-C posible. Las bondades de la herramienta son:

  • Se soporta Objective-C tanto a nivel de compilación como Runtime.
  • Tenemos herramienta en línea de comandos para importar proyectos.
  • A nivel de editor (Visual Studio) contamos con opciones de coloreado, autocompletado, etc. Es decir, el lenguaje esta soportado.
  • Contamos con opciones de depuración (puntos de ruptura, etc.), stacktraces, etc.
  • Opciones de configuración. La configuración del proyecto importado es compartida.
  • Podemos añadir características Windows a la App.
Project Astoria

Windows Bridge para Android (también conocido como proyecto Astoria) es una herramienta que permite comprobar la cantidad de código java a reutilizar, de modo que, nos permite crear aplicación Windows 10 reutilizando código.

Project Centennial

Windows Bridge para App clásicas permite empaquetar y publicar Apps basadas en .NET y Win32 como aplicaciones Windows Store. Además, permite el acceso a servicios o APIs UWP.

NOTA: Al momento de leer estas líneas solo Project Westminster (Web) y Project Islandwood (iOS) están disponibles. Project Astoria (Android) llegará en breve y para Project Centennial (Win32) debemos esperar algo más, hasta final de año.

¿Con ganas de más?

Si todo lo visto te ha resultado atractivo y estas interesado en conocer un poco más, os recomendamos el siguiente video.

Además, Microsoft ha lanzado gran cantidad de documentación y ejemplos de código en GitHub.

Por tanto, un mismo Windows, una tienda, un modelo de aplicaciones, una aplicación con mismo paquete, el gran camino tomado por Microsoft en el camino de la convergencia de sus plataformas llega a la línea de meta. ¿Es el camino correcto?

En Visual Studio:

Publicidad

También te puede gustar

Comentarios cerrados

Ver más artículos