Volver al blog

ProCat Solutions

El iPhone Duo llega hoy y parte de las apps de Flutter se abrirán en él rodeadas de franjas negras

El iPhone plegable ejecuta las apps antiguas en una ventana pequeña. Qué cambiar en una app de Flutter, qué ofrece el framework, qué le falta y qué vigilar.

ProCat Solutions iPhone DuoFlutteriOS 27.1PlegablesDesarrollo móvil
Compartir
El iPhone Duo llega hoy y parte de las apps de Flutter se abrirán en él rodeadas de franjas negras

Quien abra hoy el nuevo iPhone Duo y lance una app actualizada por última vez el año pasado verá una ventana más pequeña con franjas negras en el centro de la pantalla interior de 7,6 pulgadas. Apple lo hace a propósito. En el plegable, solo las apps compiladas con el SDK de iOS 27.1 ocupan toda la pantalla interior. El resto funciona como si estuviera en un iPhone más pequeño.

Apple presentó el iPhone Duo el 9 de septiembre. La reserva se abrió el 16 de octubre y, según MacRumors, los plazos de entrega se fueron a principios de 2027 en cuestión de minutos. El dispositivo mide 5,4 pulgadas cerrado y 7,6 abierto, y su precio parte de 1.999 dólares. A partir de abril de 2027, toda app enviada a la App Store deberá incluir capturas de pantalla del iPhone Duo.

Un teléfono plegable medio doblado sobre un escritorio, con una app a dos columnas

Lo que las apps nativas reciben gratis

Según Apple, las apps construidas con componentes estándar de SwiftUI y UIKit se adaptan solas. Los controles se desplazan a los laterales, al alcance de la mano. En la pantalla interior, la interfaz se divide en varias columnas. En posición medio plegada, los botones se apartan de la línea de pliegue. El SDK de iOS 27.1 incorpora nuevas API para dividir el contenido en dos mitades y gestionar las zonas reservadas, y una API de bisagra indica el ángulo de la pantalla. En el nuevo Device Hub de Xcode 27.1, el Duo simulado se puede abrir, cerrar y plegar a medias.

La desventaja de Flutter

Flutter no usa los controles del sistema. Dibuja la interfaz por su cuenta, así que no recibe nada de esa adaptación automática. El framework tiene un lugar previsto para los datos del pliegue, el campo MediaQuery.displayFeatures. Según la documentación de dart:ui, ese campo solo se rellena en Android. En iOS queda vacío.

Para cubrir el hueco ya hay una propuesta en la página de GitHub de Flutter (#192515), y han aparecido paquetes de la comunidad como duo_display y duo_flex. Leen de los datos nativos de UIKit la posición de la bisagra, el estado del pliegue (cerrado, medio abierto, totalmente abierto) y el recorte de la cámara, y los colocan donde el código de Flutter ya los busca. Los paquetes son nuevos. En una app en producción conviene tratar esta capa como código propio, que se entiende y se puede corregir si la próxima actualización de iOS cambia algo.

Un desarrollador prueba en un teléfono plegable abierto, junto a un portátil con código

A favor y en contra

A favor de Flutter:

  • Con una sola base de código salen las versiones para plegables Android, para el iPhone convencional y para el iPhone Duo. En los plegables Android, displayFeatures ya funciona hoy.
  • LayoutBuilder y los diseños adaptables funcionan igual en la pantalla interior. La lógica de la vista a dos columnas se escribe una vez.
  • La interfaz es idéntica al píxel en todas las plataformas, algo que importa en apps sensibles a la marca.

En contra:

  • La adaptación automática de las apps nativas hay que escribirla a mano: mover controles, esquivar la línea de pliegue, dividir en columnas.
  • Para los datos de la bisagra y del pliegue hace falta hoy un paquete de la comunidad o un puente nativo propio.
  • Las nuevas funciones de iOS suelen llegar tarde a Flutter. Quien quiera ser el primero con una función específica del Duo irá más rápido en nativo.

Qué vigilar

  • Recompilar con el SDK de iOS 27.1. Sin ello, la app se ejecuta en una ventana pequeña en la pantalla interior. Es el paso más barato y el más importante.
  • No decidir solo por el ancho. En el iPhone Duo, el ancho por sí solo no indica la clase de tamaño. Conviene recoger también la clase de tamaño nativa.
  • La línea de pliegue. En posición medio plegada, ni botones, ni campos de texto, ni texto importante deben quedar sobre el pliegue.
  • Continuidad. Al abrir y cerrar el dispositivo, la app no debe reiniciar la pantalla ni perder lo escrito o la posición de desplazamiento.
  • Probar en todas las posiciones. Cerrado, abierto, medio plegado y girado, en el Device Hub y, si es posible, en un dispositivo real.
  • Capturas para abril. El envío a la App Store exige capturas del Duo, así que conviene incluirlas en la próxima versión.
Dos manos abren un teléfono plegable delgado

En qué podemos ayudar

Desarrollamos apps móviles en Flutter y en nativo. Adaptar al Duo una app de Flutter existente consiste, con nosotros, en tres pasos: recompilar con el SDK de iOS 27.1 y eliminar el letterbox, un pequeño puente nativo para los datos de la bisagra y del pliegue y, por último, la vista a dos columnas y el tratamiento de la línea de pliegue en las pantallas clave. Si la app funciona sobre un backend SaaS, también nos ocupamos de él: desarrollo móvil y SaaS.

Fuentes

Compartir
Széchenyi Terv Plusz kedvezményezetti infoblokk
QR Code