Windows Phone 8 sucintamente Introducción

Hay un niño nuevo en la ciudad

Los teléfonos inteligentes y las tabletas son, sin lugar a dudas, los reyes del mercado de consumo. Las computadoras tradicionales no desaparecerán en el corto plazo, especialmente en el mundo de los negocios, pero en muchos casos, los dispositivos móviles han reemplazado el antiguo enfoque de "mouse y teclado" por uno más moderno e intuitivo, basado en interfaces táctiles y naturales. Por supuesto, el iPhone de Apple fue el producto que obligó a todas las demás compañías a repensar la experiencia móvil: primero, con un nuevo concepto de teléfono, y segundo, con la idea de aplicaciones y tiendas de aplicaciones. En estos días, una de las consideraciones clave al elegir un nuevo teléfono es la disponibilidad y la calidad de las aplicaciones, en lugar de las características que ofrece la plataforma. Los desarrolladores juegan un papel importante en este.

Microsoft podría haberse unido a la fiesta un poco tarde, pero lo hizo con un enfoque nuevo y novedoso. Microsoft estaba desarrollando Windows Mobile 7 cuando se dio cuenta de que el teléfono no sería un producto atractivo para los consumidores que comenzaban a acostumbrarse a los dispositivos iPhone o Android. Así que sus desarrolladores abandonaron el proyecto y comenzaron desde cero para construir una plataforma totalmente nueva: Windows Phone 7. El resultado fue realmente diferente al de los demás competidores: una nueva interfaz de usuario, basada en un estilo de diseño plano llamado estilo de diseño de Microsoft (una vez conocido como Metro); y una profunda integración con las redes sociales y todos los servicios de Microsoft, como Office, SkyDrive y Xbox.

La versión actual de la plataforma (que se tratará en esta serie) es Windows Phone 8; en el medio, Microsoft lanzó una actualización llamada Windows Phone 7.5 que agregó muchas características nuevas para el consumidor pero, sobre todo, mejoró la experiencia del desarrollador al agregar muchas API nuevas.

Windows Phone 8 es un nuevo comienzo para la plataforma: Microsoft ha abandonado la antigua pila de tecnologías utilizadas en Windows Phone 7 (el kernel de Windows Mobile, Silverlight, XNA) para adoptar las nuevas características introducidas en Windows 8, como el nuevo kernel, el Windows Runtime y el soporte de código nativo (C ++).

Por esta razón, Windows Phone 8 no está disponible como una actualización para dispositivos Windows Phone 7 antiguos. Para ayudar a los usuarios en la transición, Microsoft ha lanzado una actualización intermedia llamada Windows Phone 7.8, que ha transferido algunas de las nuevas características de Windows Phone 8 (como los nuevos formatos Tile) a los dispositivos antiguos.

Desde el lanzamiento de Windows Phone 8, Microsoft ha lanzado tres actualizaciones:

  • Actualización 1 (o GDR1), que agregó algunas mejoras en Internet Explorer, conectividad Wi-Fi y experiencia de mensajería
  • La Actualización 2 (o GDR2), que mejoró la compatibilidad con las cuentas de Google, Xbox Music y Skype, agregó compatibilidad con la radio FM y amplió la disponibilidad de la aplicación Data Sense para realizar un seguimiento del tráfico de datos
  • Actualización 3 (o GDR3), que agregó soporte para una nueva resolución (1080p), modo de conducción, orientación de bloqueo de pantalla y una mejor administración del almacenamiento, y mejoró la pila de Bluetooth y Wi-Fi

El hardware

Hablar sobre el hardware es importante porque está estrictamente conectado con la experiencia de desarrollo y las características que puede usar al desarrollar una aplicación. Con Windows Phone, Microsoft ha introducido un enfoque híbrido entre Apple y Google..

Al igual que Android, Windows Phone puede ejecutarse en una amplia gama de dispositivos, con diferentes factores de forma y capacidades de hardware. Sin embargo, Microsoft ha definido un conjunto de pautas de hardware que todos los fabricantes deben seguir para construir un dispositivo Windows Phone. Además, los proveedores no pueden personalizar la interfaz de usuario o el sistema operativo; Todos los teléfonos, independientemente del productor, ofrecen la misma experiencia de usuario familiar.

De esta manera, Windows Phone puede sacar lo mejor de ambos mundos: una amplia gama de dispositivos significa más oportunidades, porque Windows Phone puede funcionar bien en dispositivos baratos y pequeños de la misma manera que funciona bien en teléfonos potentes de alta resolución. Un hardware más controlado, en cambio, hace que la vida de los desarrolladores sea mucho más fácil, ya que siempre pueden contar con características como sensores o GPS.

Estas son las características clave de un dispositivo con Windows Phone 8:

  • soporte de procesador multi-core (procesadores de doble núcleo y quad-core)
  • al menos 512 MB de RAM (generalmente 1 GB o 2 GB en dispositivos de gama alta)
  • al menos 4 GB de almacenamiento (que se puede ampliar con un Micro SD)
  • cámara
  • Sensores de movimiento (acelerómetro, giroscopio, brújula), opcionales.
  • sensor de proximidad, opcional
  • Wi-Fi y conexión 3G
  • GPS
  • cuatro resoluciones compatibles: WVGA (480 × 800), WXGA (768 × 1280), 720p (720 × 1280), y 1080p (1080 × 1920)
  • Tres botones de hardware: Atrás, Iniciar y Buscar.

El tiempo de ejecución de Windows

Windows Runtime es la nueva capa de API que Microsoft introdujo en Windows 8, y es la base de un enfoque nuevo y más moderno para desarrollar aplicaciones. De hecho, a diferencia del marco .NET, es una capa nativa, lo que significa un mejor rendimiento. Además, admite una amplia gama de API que cubren muchos de los nuevos escenarios que se han introducido en los últimos años: geolocalización, sensores de movimiento, NFC y mucho más. Al final, es adecuado para escenarios asíncronos y de subprocesos múltiples que son uno de los requisitos clave de las aplicaciones móviles; la interfaz de usuario debe ser siempre receptiva, independientemente de la operación que realice la aplicación.

Bajo el capó del sistema operativo, Microsoft ha introducido el Tiempo de ejecución de Windows Phone. En comparación con el Windows Runtime original, carece de algunas funciones (específicamente, todas las API que no tienen mucho sentido en un teléfono, como las API de impresión), pero agrega varias nuevas específicas a la plataforma (como la integración de hub, contactos y acceso a citas, etc.).

Microsoft enfrentó un desafío durante el desarrollo de Windows Phone 8: ya existía una gran cantidad de aplicaciones publicadas en Windows Phone Store que se basaban en las tecnologías "antiguas" como Silverlight y XNA. Para evitar obligar a los desarrolladores a escribir sus aplicaciones desde cero, Microsoft introdujo tres características:

  • La pila XAML se ha portado directamente desde Windows Phone 7 en lugar de desde Windows 8. Esto significa que el XAML todavía está administrado y no es nativo, pero está completamente alineado con el anterior, de modo que, por ejemplo, características como comportamientos, para los cuales es compatible Se ha agregado solo en Windows 8.1, todavía están disponibles). De esta manera, podrá reutilizar todo el XAML escrito para las aplicaciones de Windows Phone 7 sin tener que cambiarlo o arreglarlo..
  • Gracias a una característica llamada en modo capricho, Las aplicaciones escritas para Windows Phone 7 pueden ejecutarse en dispositivos Windows Phone 8 sin tener que aplicar ningún cambio en la mayoría de los casos. Este modo puede traducir las llamadas de la API de Windows Phone 7 a las de Windows Runtime relacionadas.
  • El Windows Phone Runtime incluye una capa llamada .NET para Windows Phone, que es el subconjunto de API que estaban disponibles en Windows Phone 7. Gracias a esta capa, podrá usar las API antiguas en una aplicación de Windows Phone 8, incluso si han sido reemplazadas por nuevas API en el Tiempo de ejecución de Windows . De esta manera, podrá migrar sus aplicaciones antiguas a la nueva plataforma sin tener que volver a escribir todo el código.

Al igual que el tiempo de ejecución completo de Windows, Windows Phone 8 ha agregado soporte para do++ como lenguaje de programación, mientras que Capa de WinJS, falta una biblioteca que permita a los desarrolladores crear aplicaciones de la Tienda Windows utilizando HTML y JavaScript. Si desea desarrollar aplicaciones de Windows Phone utilizando tecnologías web, tendrá que confiar en el Navegador web control (que integra una vista web en la aplicación) y hace uso de las funciones proporcionadas por marcos como PhoneGap.

Esta serie cubrirá el desarrollo utilizando C # como lenguaje de programación y XAML como lenguaje de interfaz de usuario. No hablaremos de C ++ o VB.NET (las API disponibles son las mismas, por lo que será fácil reutilizar los conocimientos adquiridos leyendo esta serie). Además, dado que esta serie trata sobre Windows Phone 8, cubriré solo las API de Windows Runtime. En las áreas donde las API están duplicadas (lo que significa que existen API de Windows Runtime y .NET para Windows Phone para realizar la misma tarea, como almacenamiento o sensores), cubriré solo las de Windows Runtime.

Las herramientas de desarrollo

La plataforma oficial para desarrollar aplicaciones de Windows Phone es Visual Studio 2012, aunque también se ha agregado soporte a las versiones comerciales de Visual Studio 2013. La principal diferencia es que si bien Visual Studio 2012 aún le permite abrir y crear proyectos de Windows Phone 7, Visual Studio 2013 solo se puede usar para desarrollar aplicaciones de Windows Phone 8.

No hay diferencias entre las dos versiones cuando hablamos de desarrollo de Windows Phone: dado que el SDK es el mismo, obtendrá las mismas características en ambos entornos, por lo que usaremos Visual Studio 2012 como referencia para esta serie..

Para comenzar, deberás descargar el SDK de Windows Phone 8 desde el portal oficial para desarrolladores. Esta descarga es adecuada tanto para los nuevos desarrolladores como para los desarrolladores de Microsoft que ya tienen una versión comercial de Visual Studio 2012. Si aún no tiene instalado Visual Studio, la instalación instalará la versión Express gratuita; de lo contrario, simplemente instalará el SDK y el emulador y los agregará a su instalación existente de Visual Studio.

La instalación también se instalará. Mezcla para Windows Phone, Una herramienta hecha por Microsoft específicamente para diseñadores. Es un editor visual XAML que facilita la creación de una interfaz de usuario para una aplicación de Windows Phone. Si eres un desarrollador, probablemente pasarás la mayor parte del tiempo escribiendo XAML manualmente en el editor de Visual Studio, pero puede ser un compañero válido cuando se trata de cosas más complejas como crear animaciones o administrar los estados visuales de un control..

Para instalar el Windows Phone 8 SDK necesitará una computadora con Windows 8 Pro o Windows 8 Enterprise de 64 bits. Esto es necesario ya que el emulador está basado en Hyper-V, que es la tecnología de virtualización de Microsoft que está disponible solo en versiones profesionales de Windows. Además, hay un requisito de hardware: su CPU necesita ser compatible con la traducción de direcciones de segundo nivel (LAMA), que es una característica de la CPU necesaria para que Hyper-V se ejecute correctamente. Si tiene una computadora más nueva, no tiene que preocuparse; Básicamente, todas las arquitecturas de Intel i5 lo soportan. De lo contrario, aún podrá instalar y usar el SDK, pero necesitará un dispositivo real para probar y depurar..

Puede usar una herramienta gratuita llamada Machine SLAT Status Check para averiguar si su CPU cumple con el requisito de SLAT.

El emulador

Un requisito es probar y depurar una aplicación de Windows Phone en un dispositivo antes de enviarla a la Tienda de Windows Phone. solo en un teléfono real podrá probar el verdadero rendimiento de la aplicación. Durante el desarrollo diario, el uso del dispositivo puede ralentizarlo. Esto es cuando el emulador es útil, especialmente porque podrás probar fácilmente diferentes condiciones (como diferentes resoluciones, la pérdida de conectividad, etc.).

El emulador es una máquina virtual con tecnología Hyper-V que puede interactuar con el hardware de su computadora. Si tiene un monitor táctil, puede simular la pantalla táctil del teléfono; si tiene un micrófono, puede simular el micrófono del teléfono, etc. Además, el emulador viene con un conjunto de herramientas adicionales que son útiles para probar algunos escenarios que requieren un dispositivo físico, como usar el acelerómetro o el sensor GPS.

Podrás iniciar el emulador directamente desde Visual Studio. Existen diferentes versiones del emulador para coincidir con las diferentes resoluciones y tamaños de memoria disponibles en el mercado.

La experiencia del desarrollador

Las aplicaciones de Windows Phone se publican en la Tienda de Windows Phone, que es la forma principal para que los desarrolladores distribuyan sus aplicaciones. Sin embargo, hay dos excepciones: empresas empresariales y desarrolladores con fines de prueba..

Para comenzar a publicar aplicaciones, necesitará una cuenta de desarrollador, que se puede comprar en el portal oficial. La tarifa es de $ 19 por año y le permite publicar un número ilimitado de aplicaciones pagas y un máximo de 100 aplicaciones gratuitas. Recientemente, Microsoft ha fusionado la experiencia de desarrollador para sus dos plataformas principales. Esto significa que con la cuenta de desarrollador, también podrá publicar aplicaciones de la Tienda Windows para Windows 8 en la Tienda Windows..

La cuenta de desarrollador también está conectada a las pruebas. De hecho, de forma predeterminada, los teléfonos están bloqueados y la única forma de instalar aplicaciones de terceros es a través de la Tienda de Windows Phone. Todos los desarrolladores pueden desbloquear teléfonos de forma gratuita, incluso si no tienen una cuenta de pago; la diferencia es que con una cuenta gratuita, solo se puede desbloquear un teléfono y solo se pueden cargar dos aplicaciones en el teléfono. Con una cuenta de pago, los desarrolladores pueden desbloquear hasta tres teléfonos y pueden cargar hasta 10 aplicaciones en cada uno.

La implementación de la aplicación se puede realizar directamente desde Visual Studio o usando una herramienta instalada con el SDK llamado Despliegue de aplicaciones.

Para desbloquear su teléfono, necesitará otra herramienta que viene con el SDK llamado Registro de desarrollador de Windows Phone. Tendrá que conectar su teléfono a la computadora e iniciar sesión con la misma cuenta de Microsoft que ha utilizado para registrar la cuenta de desarrollador.

La aplicación que se publicará en la Tienda de Windows Phone debe estar certificada. El proceso de certificación (en el que se ejecutan las pruebas automáticas y manuales) garantiza que su aplicación sea aceptable desde un punto de vista técnico (la aplicación no falla, la experiencia del usuario no es confusa, etc.) y el contenido (sin pornografía, no violencia excesiva) punto de vista.

Cubriremos más detalles sobre el proceso de publicación en el último artículo de esta serie..

Vista previa para desarrolladores

Microsoft ha introducido un nuevo programa para que los desarrolladores otorguen acceso temprano a nuevas actualizaciones de Windows Phone. De esta manera, los desarrolladores pueden probar sus aplicaciones contra las últimas versiones del sistema operativo antes de que se distribuyan a los usuarios.

Para suscribirte al programa tienes que:

  • tener un teléfono desbloqueado desarrollador
  • tenga una cuenta de desarrollador pagada o una cuenta gratuita en App Studio, la herramienta web creada por Microsoft para crear fácilmente aplicaciones de Windows Phone sin necesidad de conocimientos de programación

Una vez que haya cumplido con estos requisitos, puede descargar la aplicación Vista previa para desarrolladores de la tienda.

Después de instalarlo, deberá ejecutarlo y habilitar el programa de vista previa aceptando los términos y condiciones. Una vez que haya completado el proceso, las actualizaciones de vista previa se entregarán como actualizaciones regulares: tendrá que ir al Actualizaciones sección de la Ajustes Página y comprobar si hay nuevas actualizaciones. En el momento de redactar este informe, Microsoft entrega GDR3 con este programa de vista previa.

Solo tenga en cuenta que, dependiendo del fabricante, la instalación de una versión preliminar puede romper la garantía del teléfono. Es un procedimiento seguro, pero si algo sale mal, es posible que su fabricante no pueda ayudarle..

El primer proyecto

El punto de partida de cada aplicación de Windows Phone es Visual Studio 2012. Veamos cómo crear un proyecto y cómo está estructurado..

El primer paso es abrir Visual Studio 2012 y hacer clic en Nuevo proyecto. En las plantillas instaladas disponibles, encontrarás las Telefono windows Sección que contiene todas las plantillas relacionadas con el desarrollo de Windows Phone..

Vamos a utilizar el más sencillo., Aplicación de Windows Phone, que contiene sólo una página de inicio. Dale un nombre y haz click DE ACUERDO. Se le preguntará qué plataforma va a soportar. Ya que estamos cubriendo el desarrollo de Windows Phone 8, elija Windows Phone 8.0. El diseñador cargará automáticamente la página de inicio y, en el Explorador de la solución En la ventana, verás la estructura del proyecto. Veamos en detalle:

App.xaml

los App.xaml El archivo es el punto de partida de cada aplicación de Windows Phone: se encarga de inicializar la aplicación y el marco que contendrá las páginas. Además, desde una instancia de la Aplicación clase (que se define en el App.xaml.cs El archivo) se mantiene vivo durante la ejecución de la aplicación, también se utiliza para definir todas las configuraciones globales. Por ejemplo, puede interceptar el evento del ciclo de vida que cubriremos más adelante en esta serie, o puede definir los estilos y recursos globales de XAML que se usarán en toda la aplicación.

MainPage.xaml

Esta es la página principal de la aplicación que se inicia después de que la aplicación se inicializa. Es la opción predeterminada incluida en un proyecto, pero puede agregar tantas páginas como desee en su proyecto. Cada página tiene la misma estructura: está compuesta de un archivo con la extensión .xaml, que define la interfaz de usuario, y un archivo con extensión .cs, Cuál es el código detrás que define la lógica para interactuar con la interfaz de usuario. Cada página hereda de una clase llamada PhoneApplicationPage que ofrece soporte integrado para propiedades y eventos que están conectados al ciclo de vida de la página, como eventos de navegación, orientación, administración de la bandeja del sistema y más.

Bienes

los Bienes carpeta contiene los activos gráficos de la aplicación. El proyecto estándar incluye algunos iconos e imágenes predeterminados para los distintos tamaños y plantillas de mosaico.

Recursos

los Recursos carpeta contiene todos los archivos necesarios para gestionar la localización. Por defecto, encontrarás solo un archivo llamado AppResources.resx, que contiene el idioma base (generalmente inglés, pero puede seleccionar otro). Se admitirán todos los demás idiomas agregando un nuevo archivo AppResources. los LocalizedStrings.cs El archivo se agrega de forma predeterminada en la raíz del proyecto y es la clase que usaremos para administrar la localización. Cubriremos esto más profundamente más adelante en esta serie..

El archivo de manifiesto

Dentro de Propiedades carpeta encontrarás un archivo llamado WMAppManifest.xml. Este es un archivo muy importante. Se llama manifiesto porque se usa para declarar todas las capacidades y características de la aplicación. Su papel es crucial durante el proceso de certificación; Gracias a este archivo, el proceso automático puede extraer toda la información necesaria sobre la aplicación, como su título, las resoluciones compatibles, las funciones que se utilizan, etc..

Visual Studio 2012 proporciona un editor visual para el archivo de manifiesto; simplemente haga doble clic en el archivo para abrirlo. Es importante tener en cuenta que no todos los escenarios de casos de uso son compatibles con el editor visual. A veces tendremos que editar manualmente el XML para ampliar nuestra aplicación..

El editor está dividido en cuatro secciones diferentes:

  • Aplicación UI: Presenta toda la información sobre el aspecto de la aplicación una vez que está instalada en el teléfono, como el título, las resoluciones compatibles, la plantilla y las imágenes estándar para usar como mosaico principal.
  • Capacidades: Enumera todas las características de hardware y software que la aplicación puede usar, como la cámara, los servicios de geolocalización, las redes, etc. . En esta serie anotaré cada vez que usemos una función que requiere una capacidad específica.
  • Requerimientos: Enumera las funciones de hardware específicas que puede utilizar su aplicación, como la cámara o NFC. Si establece los requisitos, las personas que poseen teléfonos sin estas características de hardware específicas no podrán descargar la aplicación.
  • embalaje: Define las características del paquete que se publicará en la tienda, como el autor, el editor, el idioma predeterminado y los idiomas admitidos.

La pantalla de bienvenida

Si ya ha desarrollado aplicaciones para Windows Phone 7, debe estar familiarizado con la pantalla de inicio. Es una imagen estática que se muestra inmediatamente cuando se abre la aplicación y desaparece cuando está completamente cargada y lista para ser utilizada.

La pantalla de inicio formaba parte de la plantilla estándar de Visual Studio para proyectos de Windows Phone 7, pero se eliminó en proyectos de Windows Phone 8. Debido a las mejoras de rendimiento introducidas en Windows Runtime, las aplicaciones ahora se inician mucho más rápido, por lo que normalmente no se necesita una pantalla de inicio.

Si necesita una pantalla de bienvenida, deberá agregarla manualmente al proyecto siguiendo una convención de nomenclatura específica: tiene que estar en formato JPG, el nombre del archivo debe estar SplashScreenImage.jpg, y la resolución requerida es 768 × 1280. De esta manera, la imagen se adaptará automáticamente a la resolución del dispositivo. Si desea un control total sobre la resolución del dispositivo, puede agregar tres imágenes diferentes, una para cada resolución compatible. En este caso, la convención de nomenclatura a seguir es:

  • SplashScreenImage.screen-WVGA.jpg para dispositivos 480 × 800.
  • SplashScreenImage.screen-WXGA.jpg para dispositivos 768 × 1280.
  • SplashScreenImage.screen-720p.jpg para dispositivos de 720 × 1280.

La resolución de 1080p, desde un punto de vista de relación de aspecto, se comporta como 720p: si su aplicación se inicia en un dispositivo de 1080p, se utilizará la pantalla de inicio de 720p si existe una.

Probando la aplicación

Cuando esté listo para probar su aplicación, puede implementarla en un dispositivo o en el emulador directamente desde Visual Studio. En el área de la barra de herramientas encontrará lo que parece un botón de reproducción, junto con una descripción de un objetivo de implementación. Puede elegir entre cinco objetivos diferentes: un dispositivo real, dos versiones del emulador WVGA (uno con 512 MB de RAM y uno con 1 GB de RAM), un emulador WXGA y un emulador de 720p. De vez en cuando, la lista puede ser más larga porque Microsoft lanza periódicamente actualizaciones de SDK para agregar nuevos emuladores que coincidan con la nueva versión del sistema operativo. Por ejemplo, Microsoft ya ha lanzado una actualización del SDK que agrega las imágenes del emulador alineadas con la versión GDR2.

Cuando la aplicación se ejecuta en modo de depuración, dos características se habilitan automáticamente para ayudarlo a trabajar:

  • El lado derecho de la pantalla muestra contadores de rendimiento, como la cantidad de cuadros por segundo o el uso de memoria. Lo ayudarán a identificar posibles problemas de rendimiento con su aplicación (vea la imagen a continuación para obtener información más detallada).
  • El teléfono o el emulador nunca se suspenderán: la función de "bloqueo automático" que apaga la pantalla después de no usarse generalmente está habilitada en los dispositivos, pero en el modo de depuración, esta función está deshabilitada.

Un resumen rápido

En este primer artículo, comenzamos a sentirnos cómodos con algunos conceptos importantes con los que todos los desarrolladores de Windows Phone deberían estar familiarizados:

  • Hemos aprendido las principales características de software y hardware de la plataforma que los desarrolladores pueden aprovechar.
  • Discutimos el tiempo de ejecución de Windows, que es el núcleo de las nuevas tecnologías de Microsoft, como Windows 8 y Windows Phone 8..
  • Hemos visto cómo comenzar a trabajar con Windows Phone: qué herramientas descargar e instalar, cómo crear el primer proyecto y la estructura de una aplicación de Windows Phone.

Este tutorial representa un capítulo de Windows Phone 8 sucintamente, un libro electrónico gratuito del equipo de Syncfusion.