Post en castelán en defensa do ensino público
Windows 8 introduce un nuevo tipo de aplicaciones, las
aplicaciones estilo Metro
o Modern UI según las últimas denominaciones de Microsoft. No son
aplicaciones a las que estemos acostumbrados, al menos no en un
ordenador. Por eso, en esta entrega de nuestro especial vamos a
profundizar en
cómo es y cómo funciona una aplicación Metro.
La interfaz de una aplicación Metro: las barras de herramientas y navegación

Internet Explorer Metro implementa las barras de navegación inferior y superior.
El concepto principal detrás de Metro es que
lo más importante es el contenido.
Por eso, en Windows 8 las aplicaciones tendrán más bien pocos controles
en la interfaz, que se centrará en mostrarnos texto, vídeo, imágenes o
lo que sea.
Sin embargo, seguimos necesitando los controles, no podemos andar
haciendo todo con gestos. Por eso, las aplicaciones Metro tienen ciertos
elementos comunes de interfaz que nos ayudan a hacer ciertas tareas: el
principal es la
App Bar o la barra de herramientas.
Esta barra contiene todos los comandos que podemos usar en cada una
de las pantallas de la aplicación, y lo más relevante de ella (y la
principal diferencia con la de Windows Phone) es que es contextual,
se adapta a lo que estamos haciendo.
La App Bar está oculta cuando estamos usando la aplicación y no
aparecerá hasta que no deslicemos con el dedo desde la parte inferior de
la pantalla. ¿La razón? Normalmente no necesitamos los comandos que
están ahí, y
molesta menos si está oculta y sólo la sacamos cuando sea necesario.
Sin embargo, hay algunas situaciones en las que sí necesitamos esa
barra. Por ejemplo, cuando estamos seleccionando varios elementos lo más
seguro es que queramos hacer algo con ellos: borrarlos, añadirlos a una
carpeta… Por eso,
cuando seleccionéis varios elementos aparece automáticamente la barra inferior, que tendrá los botones que necesitáis.

La aplicación de noticias usa la barra superior para navegar entre secciones.
Las aplicaciones también pueden incorporar una
barra superior de navegación,
que aparece al deslizar dede la parte superior de la pantalla. Esta
barra nos permite ir a las diferentes secciones de la aplicación o
volver atrás si la aplicación tiene un sistema de navegación lineal.
No todas las aplicaciones la implementan igual: por ejemplo, en
Internet Explorer sirve para navegar entre pestañas, en su Tienda para
ir a las distintas secciones… Microsoft no fuerza un diseño común, pero
sí que invita a que el propósito de esa barra sea siempre moverse entre
las distintas partes de una aplicación.
Más allá de la vista a pantalla completa

Metro también trae un cambio de concepto a la hora de cómo aparecen
las aplicaciones en pantalla. Cuando trabajemos normalmente con ellas
estarán maximizadas, pero tenemos otras posibilidades a la hora de
ejecutarlas. Por ejemplo, podemos
pegar las aplicaciones a un lado de la pantalla, ocupando sólo un tercio del espacio.
Hay que tener en cuenta que no es sólo cambiar el tamaño sino
también mostrar las cosas de forma diferente a como se muestran en
pantalla completa, y es el desarrollador quien tiene que implementar la
interfaz que mejor se adapte a este modo.
Por otra parte, también podemos ejecutar las aplicaciones Metro a través de los
charms. Pongamos que estamos viendo una noticia y
queremos compartirla.
Usando el botón de compartir de la barra derecha podremos elegir una
aplicación, que ejecutará un “diálogo” para compartir esa noticia a
través de correo, Twitter, Facebook o lo que sea.

Cuando compartamos algo, la aplicación se ejecutará con una interfaz especial para compartir.
Es también la diferencia con las aplicaciones de escritorio. En
Windows 7, para compartir de una aplicación a otra arrastramos y
soltamos (o copiamos y pegamos); un método más bien burdo desde el punto
de vista del desarrollador. En Windows 8
es el sistema quien permite que las aplicaciones se comuniquen entre sí, y de esta forma abre las puertas a interacciones más ricas.
Por otra parte, Microsoft ha marcado diferencias con otros sistemas
móviles y de tablets. El hecho de tener varias aplicaciones en pantalla,
a pesar de ser un concepto tan simple,
es algo que no había hecho ni Android ni iOS,
y que es realmente útil cuando tenemos un tablet con una pantalla
suficiente. Es una de las ventajas de que Windows 8 sea un sistema que
viene del escritorio y no del móvil.
El modelo de ejecución de las aplicaciones Metro

Al abrir una aplicación Metro por primera vez, seguro que os ha
llamado la atención el hecho de que no tiene botón de cerrar. Es algo
más propio de una aplicación móvil que de una aplicación Windows normal.
También os habréis fijado en que cuando la aplicación no está en
pantalla no hace nada, se queda congelada.
Estas diferencias nos dan los tres estados posibles de una
aplicación Metro: en ejecución, suspendida y parada (Not Running).
Cuando lanzamos por primera vez la aplicación, pasa al estado de
ejecución en el que podemos interactuar con ella. Si cambiamos a otra
aplicación, el estado pasa a ser suspendido: Windows guarda el estado de
la aplicación en memoria pero
pausa todos los procesos que tenga en ejecución.

Siempre
que veáis una “splash screen” significa que la aplicación no estaba
ejecutándose. Esta ventana no aparece en ningún otro momento.
Este es uno de los aspectos más importantes: mientras que una
aplicación normal seguiría ejecutándose minimizada, una aplicación Metro
no. Esto tiene varias ventajas, principalmente un menor consumo de
CPU;
pero también inconvientes: no podemos dejar que un proceso se ejecute
en segundo plano y la aplicación no nos puede “llamar” pidiendo el foco.
Mientras la aplicación esté suspendida y haya memoria, Windows
seguirá guardando su estado. Cuando vuelvas a ella cambiando de
aplicaciones o pulsando de nuevo en su icono se reactivará y recuperará
su estado anterior. Si por el contrario no hay suficiente memoria
RAM,
Windows cerrará la aplicación por completo.
Al volverla a ejecutar, no recuperará su estado automáticamente y se
ejecutará desde el principio, salvo que el desarrollador la haya
programado para guardar datos de recuperación al desactivarse.
Como veis, este es un modelo
más propio de un móvil que de un ordenador, y también conlleva un cambio de mentalidad a la hora de usar estas aplicaciones. No hace falta
matar aplicaciones Metro cuando tengas muchas aplicaciones en el ordenador porque ya lo hace el sistema automáticamente.
Tampoco hay que preocuparse por cerrar una aplicación
cuando acabemos de usarla. Primero, porque desde nuestro punto de vista
una aplicación suspendida no acapara recursos del sistema, no pasa nada
por dejarla ahí. Y segundo, porque ni siquiera podemos hacerlo: no hay
ningún tipo de opción para salir, ni siquiera pulsar el botón “Atrás”
continuamente como en Windows Phone.
Las desventajas: más limitaciones que las aplicaciones tradicionales

El
Windows Store obliga a las aplicaciones Metro a cumplir ciertos
requisitos a las aplicaciones: una sola infracción y rechazarán la
aplicación.
Como decía antes, las aplicaciones Metro traen muchos conceptos interesantes del móvil. Por desgracia,
también traen limitaciones que los desarrolladores tienen que acatar sí o sí, a veces porque la
API de WinRT no da otra opción, y otras porque si no no aceptarán las aplicaciones en el Windows Phone Store.
Lo primero es cómo se distribuyen las aplicaciones. Tienen que estar contenidas totalmente en el paquete de aplicación,
no pueden descargar componentes ejecutables adicionales para poder funcionar. Esto quiere decir que nada de usar
frameworks
como Java, y que aplicaciones con varios componentes binarios (por
ejemplo, una distribución LaTeX) tienen que arreglárselas para juntar
todo en un único paquete, sin descargar nada al espacio de usuario.
También tenemos restricciones más técnicas a la hora de acceder a
APIs
de bajo nivel del sistema. Por ejemplo, no se pueden usar los Sockets
lo que rompe la compatibilidad con muchas librerías existentes, y que
además impide crear aplicaciones más complejas que transmitan datos a
través de la red.
Metro también refuerza el hecho de que
las aplicaciones estén aisladas entre sí.
Esto impide que se puedan crear lanzadores de aplicaciones, que no se
puedan modificar las características de las aplicaciones Metro, que no
se puedan comunicar entre ellas de forma que no sea compartir archivos…
Cierra mucho las posibilidades con respecto a lo que tenemos en el
escritorio.
Y todo esto unido a las
restricciones que aplique Microsoft en el Windows Store:
contenidos que puedan resultar ofensivos a algunos, aplicaciones de
seguridad que puedan ser detectadas como malware… Si en el proceso de
revisión se encuentra algo que incumple las reglas, se rechazará la
aplicación y no llegará a los usuarios hasta que no se corrijan los
fallos.
Estas limitaciones apoyan la idea de que las aplicaciones Metro no
van a servir para hacer trabajo serio en el ordenador. Personalmente, no
estoy del todo de acuerdo (con una aplicación Metro podrías crear un
diseño
UML de una aplicación compleja, por ejemplo), pero sí que es cierto que
no van a ser aplicaciones con tantas posibilidades como las de escritorio.
Por otra parte, al ser aplicaciones más simples y con las funcionalidades más cerradas, serán
mucho más fáciles de usar para los usuarios. El quid de la cuestión es
buscar un balance
entre una interfaz y comportamientos comunes y la libertad que se dé a
los desarrolladores, y yo creo que Microsoft ha conseguido encontrar el
punto justo con las aplicaciones Metro.