Introducción
Recientemente Microsoft presento el programa Preview for developers, una opción sumamente interesante que permite a desarrolladores registrados en la Windows Phone Store o en Windows Phone App Studio acceder a versiones beta de las actualizaciones del sistema operativo. Ya se encuentra disponible la actualización Update 3 (también conocida previamente como GDR3).
NOTAS:
- La actualización permite a desarrolladores preparar sus Aplicaciones
para el lanzamiento oficial vía operadoras al resto de usuarios. - La versión mínima requerida para actualizar al Update 3 es la 8.0.10322.71 (GDR2).
- No hay vuelta atrás, podrás instalar nuevas actualizaciones pero no volver a versiones previas.
- No se pierde ningun tipo de información o Aplicación.
Novedades del sistema
La actualización Windows Phone 8 Update 3, hasta ahora conocida como
GDR3, viene cargada de múltiples novedades entre las que destaca a nivel
de usuario la posibilidad de contar con resoluciones Full HD, pantallas
de 5 y 6 pulgadas, el poder tener dispositivos con procesadores quad
core, mayores opciones de personalización y mejoras en conexiones.
Entrando un poco más en detalles:
Más “grande”
Se suprime el límite de tamaño en resolución establecido permitiendo
la llegada en el futuro de teléfonos con pantallas de 5 o 6 pulgadas con
resolución de 1080p (1080 × 1920). Esto además hace posible poder contar con hasta 6 Tiles en pantalla frente a los 4 máximos actuales.
Más potencia
La actualización permite también utilizar los procesadores de cuatro
núcleos de Qualcomm. Esto permitirá conseguir una experiencia fluida
ante cualquier tipo de exigencia.
Más accesible
Se realiza un esfuerzo por facilitar el uso del dispositivo a
personas invidentes. Se permite la gestión de llamadas, correos,
contactos, uso de Skype o Lync, etc.
Modo conducción
Llega un nuevo modo llamado “modo conducción”. Esta nueva
característica intenta evitar disfracciones cuando estamos ante el
volante deshabilitando notificaciones y bloqueando llamadas.Hay
múltiples opciones de configuración que nos permite realizar acciones
como enviar respuestas automáticas entre varias opciones.
Más opciones de personalización
La actualización permite asignar tonos diferentes a diferentes Apps como mensajes, correos, recordatorios, alarmas, etc.
Podemos bloquear la rotación de la pantalla a nuestro antojo.
Más control
Podemos controlar que Apps se ejecutan en Background y ahora además podemos cerrarlas.
Se permite convertir el teléfono en un punto de acceso compartiendo
la conexión a internet de una manera mucho más sencilla sin requerir
contraseñas (vía Bletooth). También tenemos la posibilidad de recuperar
un Backup vía WiFi desde el asistente inicial.
Novedades para desarrolladores
Llegamos a las novedades más “divertidas”, las disponibles para desarrolladores:
- De entrada, no hay nuevo SDK. Accederemos a nuevas funcionalidades gracias al uso de reflection y contaremos con nuevas imágenes del emulador para poder probar en 1080p.
- Soporte para dispositivos con pantalla de 1080p: La preocupación en este aspecto es obvia, ¿cómo hago que mi Aplicación soporte 1080p?.
Entre las resoluciones 720p y 1080p no podemos encontrar diferencias utilizando la propiedad App.Current.Host.Content.ScaleFactor o Application.Current.Host.Content.ActualHeight ya que en ambas devuelven los mismos resultados, 150 y 853 respectivamente.
¿Cómo diferenciar entonces entre un dispositivo 720p y otro 1080p?
Microsoft nos facilita una nueva clase DeviceExtendedProperties que nos facilita información relacionada con la resolución.
Gracias a la propiedad ScaleFactor podemos distinguir entre dispositivos WVGA, WXGA y 720p:
private static bool IsWvga { get { return App.Current.Host.Content.ScaleFactor == 100; } }
private static bool IsWxga { get { return App.Current.Host.Content.ScaleFactor == 160; } }
private static bool Is720p { get { return App.Current.Host.Content.ScaleFactor == 150; } }
private static bool Is1080p { get { return (Size)DeviceExtendedProperties.GetValue(
"PhysicalScreenResolution"
) == 1080; } }
- El segundo cambio quizás mas significativo (por lo esperado) es la posibilidad de poder utilizar sonidos personalizados para las notificaciones Toast. El sonido a utilizar debe ser un fichero local en formato WAV, WMA o MP3 y de una duración no superior a 10 segundos.
Recordar que accederemos usando reflection, nos crearemos una clase auxiliar para ello:
private static void SetProperty(object instance, string name, object value)
{
var setMethod = instance.
GetType
().GetProperty(name).GetSetMethod();
setMethod.Invoke(instance, new object[] { value });
}
private static void SetProperty(object instance, string name, object value)
{
SetProperty(toast,
"Sound"
, new Uri(
"MyToastSound.mp3"
, UriKind.RelativeOrAbsolute));
}
- Más memoria. Los nuevos dispositivos llegan ya con
2GB de RAM lo que ha permitido aumentar el tamaño máximo de uso por
parte de las Apps hasta los 570MB. Teniendo en cuenta el aumento de
tamaño en recursos era un aumento necesario. Para los dispositivos
actuales con 1GB de RAM también se obtiene una leve ganancia en los
agentes de audio en background que podrán utilizar 25MB en lugar de los
20MB disponibles hasta ahora. - Contamos también con nuevos esquemas URI:
- Rotación de pantalla: ms-settings-screenrotation:
- Ahorro de batería: ms-settings-power:
- Detectar el ahorro de batería. Por reflection podremos acceder a una nueva propiedad de la clase PowerManagement llamada PowerSavingModeEnabled.
- Podéis detectar si un dispositivo cuenta con la actualización Update 3 facilmente:
private static Version Update3 = new Version(8, 0, 10492);
public static bool IsUpdate3
{
get { return Environment.OSVersion.Version >= Update3; }
}
Suena todo muy bien, ¿cierto?. En próximos artículos veremos como
acceder a algunas de estas nuevas propiedades o como gestionar la nueva
resolución, ¿os apuntáis?
Keep Pushing!
Más información
- Blog Windows: Introducing Windows Phone Preview for Developers
- Blog Windows: Announcing our third Windows Phone 8 update—plus a new developer preview program
- Blog de Josué Yeray: [Windows Phone 8] GDR3 Preview: Novedades para desarrolladores
- Blog Matteo Pagani: Preview Program for Developers & GDR3