Fichas IOS
Fichas IOS
Esto nos ha impulsado a realizar una nueva publicación con una recopilación de buenas
prácticas, patrones, principios y tecnologías para el desarrollo de software que han ido
componiendo la serie de publicaciones sobre guías técnicas que usamos en el propio
Onboarding de Autentia.
Las guías para directivos y técnicos que Autentia lleva publicando desde finales de la
primavera de 2020, se han concebido ya con la incorporación de fichas que aunque integra-
das totalmente en cada uno de los documentos de la serie, permiten también agruparlas por
temas y manejarlas de manera independiente haciendo de ellas un activo muy valioso que
se puede consultar de una manera cómoda y rápida.
Estas fichas exponen conceptos, herramientas y procesos muy utilizados tanto a nivel de
negocio como a nivel tecnológico pero todas con un interés y un valor apropiado que
estamos seguros que la comunidad volverá a valorar.
@G)@
Attribution-ShareAlike 4.0 lnternational
{CC BY-SA 4.0)
Esta obra está licenciada bajo licencia Creative Commons Attribution-ShareAlike 4.0 lnternational (CC BY-SA 4.0)
CoreML
Definición
Es un framework de Apple para el desarrollo de Machine Learning en apps nativas. Con
posibilidad de entrenamiento en el dispositivo. Xcode viene acompañado de la herramienta
CreateML para generar los modelos y entrenarlos sin una sola línea de código.
Conocimiento profundo del cliente, por ejemplo: ● Soporte desde iOS 11 y entrenamiento “on-device” desde
● Categorizar los clientes en función de su iOS 13.
comportamiento para una correcta segmentación. ● Rápida implementación con una API simple y clara.
● Conocer y predecir la Navegación dentro de nuestra ● CoreML es un framework nativo de Apple, lo que nos
app para saber dónde hacer foco. garantiza su continuidad y calidad.
● Conocer y predecir las búsquedas del cliente concreto ● Mediante la herramienta de Xcode CreateML podemos
para ofrecerle de manera activa los productos crear de forma rápida y sin código nuestros modelos y
demandados. entrenarlos.
● Mediante coreMLtools podemos transformar modelos
Recomendar los productos correctos: hechos en otras plataformas al formato de Apple.
● Conocer patrones ocultos en el comportamiento de un
cliente para ofertar productos que le han interesado a
otros clientes de comportamiento similar.
● Hacer estrategias de ventas y marketing basadas en
patrones de comportamiento general o individual.
SwiftUI
Definición
Es un framework de Apple para la construcción de interfaces visuales de forma declarativa,
reduciendo la complejidad del código y optimizado para aprovechar las funciones nativas del
sistema. Disponible desde macOS Catalina 10.15, iOS 13, iPadOS 13, tvOS 13 y watchOS 6.
VENTAJAS EJEMPLO
¿Qué es?
Es un lenguaje de programación desarrollado por Apple para ser utilizado en sus plataformas con
la intención de ser una alternativa a Objective-C. Inicialmente propietario pero liberado como
código abierto en su versión 2.2.
Inicialmente, cuando fue presentado por Apple, su propósito era ● Interoperable con Objective-C (y por extensión, con C y
ser una alternativa a Objective-C para el desarrollo de C++ mediante un wrapper). Posteriormente añadida
aplicaciones nativas para las plataformas Apple (iOS, iPadOS, interoperatividad con Python.
macOS, watchOS y tvOS). ● Lenguaje fuertemente tipado.
● Compilado.
Con la versión 2.2 y tras ser liberado como código abierto, ha ● Orientado a protocolos.
sido portado a Linux y Windows y han surgido varios proyectos ● Inferencia de tipos.
open source que hacen uso del mismo. Sobre el papel, podría ● Distinción entre tipos de datos opcionales y no
ser utilizado para abordar cualquier desarrollo. opcionales para prevenir los problemas relacionados
con la nulabilidad.
En la actualidad, también puede ser utilizado para el desarrollo ● Cuenta con características de programación funcional.
de backend, por ejemplo con VAPOR. También fue adoptado ● Closures (conocidos como lambdas en otros lenguajes)
por Google para usarlo con TensorFlow como alternativa o y funciones first-class.
complemento a Python. ● Multiplataforma con soporte para macOS, Linux y
Windows.
Recientemente se ha anunciado un proyecto para poder utilizar
Swift también con AWS lambda.
Swift Package Manager
Definición
SPM es un gestor de dependencias basado en paquetes. Tiene soporte para aplicaciones en lado
servidor y aplicaciones de front nativas de Apple. Se puede crear, ejecutar y desplegar por línea de
comandos desde el lanzamiento de Swift 3.0, o a través de Xcode desde Swift 5.0.
Un paquete es una colección de archivos Cuando necesitamos importar librerías Puedes crear un paquete por línea de
de código en Swift que conforman una propias o de terceros a nuestro proyecto, comandos:
librería, también contiene un fichero vamos a enfrentarnos al problema de ver
llamado Package.swift que es el cómo gestionar las actualizaciones y $ swift package init
manifiesto en el que se declara la dependencias que éstas tienen.
configuración del propio paquete. La Con de Xcode:
configuración básica de un paquete A día de hoy, en el mundo del desarrollo
contiene: iOS, existen soluciones como Cocoapods File -> New -> Swift Package.
o Carthage que dan más problemas que
● El nombre del paquete. soluciones. Con SPM vamos a tener las Una vez creado se sube a un repositorio
● Las plataformas soportadas. siguientes ventajas: público de Git.
● Los productos que genera el
paquete (las librerías). ● Integración total en Xcode. Para importar tu paquete desde Xcode:
● Las dependencias (puede contener ● Funciona en Linux.
dependencias con otros paquetes). ● Linkado automático. File -> Swift Packages -> Add Package
● Los targets que contiene (Módulos). ● Gestiona automáticamente las Dependency
dependencias de los paquetes.
● De código abierto. También puedes importar tu paquete
como dependencia de otro paquete en el
archivo Package.swift.
Catalyst
Definición
Es un proyecto de Apple para transformar las aplicaciones desarrolladas para las plataformas
iOS/iPadOS en aplicaciones para Mac. Es importante tener en cuenta que solo las apps con versión
para iPad van a poder adaptarse.
La transformación se hace traduciendo No todas las apps van a tener sentido Para hacer tu app compatible con Mac
componentes de UIKit (iOS) en AppKit en macOS, si tu aplicación se basa en la basta con tener instalado macOS 10.15 y
(macOS). navegación GPS, o entrenar en un Xcode 11.
gimnasio, Apple no la va a aprobar para
Hay que tener en cuenta que hay su publicación en el Store. En la pestaña General de tu proyecto y
frameworks de iOS que no tienen su en el apartado Deployment Info activar
contrapartida en Mac, por lo que si usas Cuando tu aplicación sea idónea para la el checkbox de Mac:
ARKit, HealthKit, la cámara o el transformación en una versión para Mac,
giroscopio en tu aplicación, tendrás que vas a tener que implementar una serie de
tenerlo en cuenta en tu código: características que igual no tienes
implementadas en iOS:
Definición
Es un framework de Apple que nos proporciona una API declarativa para el proceso de valores a lo
largo del tiempo (programación reactiva).
CARACTERÍSTICAS PRINCIPALES
Definición
Es un framework de Apple para crear experiencias de realidad aumentada. Trabajando junto con
RealityKit y la herramienta Reality Composer, dispondremos de todo lo necesario para desarrollar
nuestras apps de AR.
● ARKit es un framework para obtener información del mundo ARKit tiene 4 compañeros para el renderizado de gráficos:
real. A partir de su versión 3, junto con RealityKit soporta
● RealityKit.
oclusión automática en tiempo real, seguimiento facial de
● SceneKit.
hasta 3 personas simultáneas y captura de movimiento en
● SpriteKit.
tiempo real.
● Metal.
Definición
Es un framework de Apple para dibujar formas, partículas, texto, imágenes y vídeo en dos dimensiones.
Aprovecha Metal para lograr alto rendimiento, al tiempo que ofrece una interfaz de programación simple para
facilitar la creación de juegos y otras aplicaciones intensivas en gráficos. SpriteKit es compatible con iOS,
macOS, tvOS y watchOS, y se integra bien con los frameworks como GameplayKit y SceneKit.
BLOQUES BLOQUES DE
VENTAJAS
PRINCIPALES CONSTRUCCIÓN
SKView: una vista en la que se SKNode: un nodo más general ● Está integrado en el
presentan SKScenes. que se puede usar en una ecosistema de Apple.
escena para agrupar otros nodos
SKScene: una escena 2D que para un comportamiento más
● Es bastante fácil de
se presenta en un SKView y complejo.
utilizar.
contiene uno o más
SKSpriteNodes. SKAction: acciones individuales
o grupos de acciones que se ● Es rápido gracias a Metal.
SKSpriteNode: una imagen 2D aplican a SKNodes para
individual que puede ser implementar animaciones y ● Es gratuito.
animada alrededor de la otros efectos.
escena. ● Puedes utilizarlo en
SKPhysicsBody: permite que la
todas las plataformas de
física se aplique a SKNodes para
Apple.
permitir que se comporten de
una manera realista, incluida la
caída por gravedad, rebotar ● Tiene el motor de física
entre sí y seguir trayectorias integrado.
balísticas.
SceneKit
Definición
Es un framework de Apple para construir las aplicaciones de gráficos 3D de alto nivel que ayuda a crear
escenas y efectos animados en 3D. Incorpora un motor de física, un generador de partículas y formas fáciles de
escribir las acciones de los objetos 3D para que puedan describir su escena en términos de su contenido
(geometría, materiales, luces y cámaras) y luego animarla describiendo los cambios en esos objetos.
El framework de SceneKit fue lanzado por primera SCNView: una vista en la que se
vez por Apple junto con OS X 10.8 Mountain Lion y presentan SCNScenes.
más tarde estuvo disponible en iOS con el
SCNScene: una escena 3D que se
lanzamiento de iOS 8.
presenta en un SCNView
Definición
Es un framework de Apple que gestiona las peticiones de los usuarios para los servicios de las
aplicaciones que se originan en Siri o Maps.
CARACTERÍSTICAS
BLOQUES PRINCIPALES RESTRICCIONES
PRINCIPALES
SiriKit abarca los frameworks de Intents e SiriKit define los tipos de solicitudes, ● Hay que pedir el permiso al usuario.
Intents UI, que utiliza para implementar conocidos como Intents, que los
extensiones de aplicaciones que integran sus usuarios pueden realizar. ● El sistema provee unos dominios
servicios con Siri y Maps. SiriKit admite dos predefinidos (envío de mensajes,
tipos de extensiones de aplicación: Los dominios (domains group) agrupan establecer llamadas de voz sobre
las intenciones relacionadas para dejar IP, pagos, etc.), en caso de que no
● Una extensión de aplicación Intents claro qué intenciones puede soportar la se ajuste a lo deseado es necesario
recibe solicitudes de los usuarios de aplicación. implementar un Intent
SiriKit y las convierte en acciones personalizado.
específicas de la aplicación. Por ejemplo, Por ejemplo, el dominio de mensajes
el usuario puede pedirle a Siri que envíe puede tener el intento de enviar
un mensaje, reserve un viaje o comience mensajes, buscar mensajes y marcar
un entrenamiento con su aplicación. mensajes como leídos o no leídos.
Definición
Es un framework de Apple para persistir o almacenar en caché los datos en un solo
dispositivo. Abstrae los detalles de mapear los objetos a un store (almacén), lo que facilita guardar
datos de Swift y Objective-C sin administrar una base de datos directamente.
CARACTERÍSTICAS
BLOQUES PRINCIPALES VENTAJAS
PRINCIPALES
Usa Core Data para guardar los datos ● Persistent store coordinator: es un ● Está integrado en el ecosistema de
permanentes de la aplicación para uso wrapper de nuestra base de datos, Apple
fuera de línea, almacenar datos administra las conexiones (lecturas
temporales en caché y agregar y escritura), lo podemos visualizar ● El agrupar, filtrar u organizar
funcionalidad de deshacer a su como un apuntador a nuestra base nuestros datos.
aplicación en un solo dispositivo. de datos.
● Evitar escribir SQL y lograr queries
● Persistencia. ● NSManagedObjectModel: describe complejos mediante el uso de
● Abstracción. el schema de nuestra base de objetos Fetch Requests y Predicates.
● Deshacer y rehacer cambios datos, es decir, las tablas y
individuales o por lotes. relaciones. ● Reducir el impacto a nivel memoria
● Tareas de datos en segundo (memory footprint) mediante el uso
plano (background tasks). ● NSManagedObjectContext: nos de Faulting.
● Versionado y Migración. permite crear, solicitar o actualizar
● Sincronización de los datos con objetos de nuestra base de datos.
las vistas .
● Persistent container: encapsula
todos los componentes anteriores.
MapKit
Definición
Es un framework de Apple para para incrustar los mapas de Apple directamente en tus
propias vistas. Proporciona la interfaz para añadir tus propias capas, anotaciones o texto encima
del mapa.
CARACTERÍSTICAS
BLOQUES PRINCIPALES VENTAJAS
PRINCIPALES
Usa el framework MapKit para incrustar ● MKMapView: una vista de mapa ● Está integrado en el
mapas directamente en tus vistas. Puedes incrustable, similar a la proporcionada por ecosistema de Apple.
agregar anotaciones y superposiciones al la aplicación Mapas.
mapa, los puntos de interés, etc. También ● Es bastante fácil de utilizar.
proporciona el mecanismo para buscar los ● MKMapItem: un punto de interés en el
puntos de interés. mapa.
Definición
Es un framework de Apple para detectar etiquetas NFC, leer la información guardada en ellas en
el formato NDEF y modificarla.
CARACTERÍSTICAS
BLOQUES PRINCIPALES RESTRICCIONES
PRINCIPALES
El framework Core NFC sirve para leer ● NFCReaderSession: una clase de sesión ● Core NFC no está disponible para
etiquetas para dar a los usuarios más de lectura para detectar etiquetas de su uso en extensiones de
información sobre su entorno físico y formato de intercambio de datos NFC aplicaciones y requiere de un
los objetos del mundo real. (NDEF) con NFCNDEFReaderSession y dispositivo que admita la
conectar con el resto de tags con comunicación de NFC.
Con Core NFC, puedes leer las NFCTagReaderSession.
etiquetas de comunicación de campo ● Core NFC no admite ID de
cercano (NFC) de los tipos 1 a 5 que ● NFCNDEFReaderSessionDelegate: un aplicaciones relacionadas con el
contienen datos en el formato de protocolo de delegado que sirve para leer pago.
intercambio de datos NFC (NDEF) y los datos NDEF de una etiqueta NFC.
conectar con etiquetas ISO7816, ● El uso de Core NFC es restringido
ISO15693, FeliCa y MIFARE. ● NFCTagReaderSessionDelegate: un y es apto solo para trabajar con las
protocolo de delegado que sirve para etiquetas NFC y no se permite la
Por ejemplo, la aplicación podría gestionar la conexión a un tag. comunicación entre otros
proporcionar a los usuarios información dispositivos que soportan NFC.
sobre los productos presentados en una ● NFCNDEFPayload: el payload (carga útil)
tienda o los cuadros en un museo. que contiene los datos, el nombre de tipo
de formato de NDEF de un mensaje, etc.
Definición
CARACTERÍSTICAS
BLOQUES PRINCIPALES RESTRICCIONES
PRINCIPALES
Definición
M V El patrón de arquitectura MVVM consiste en separar nuestra aplicación en tres capas: la lógica
de negocio, la interfaz gráfica y la lógica de presentación.
CARACTERÍSTICAS
BLOQUES PRINCIPALES PROBLEMAS
PRINCIPALES
El principal objetivo de este patrón es ● Model: representa los conceptos y las ● Con el crecimiento de la lógica
sacar el estado de la vista y la lógica de entidades de negocio, también la de la app el ViewModel puede
presentación de la vista. De este modo, lógica de negocio. convertirse en un mega-objeto
la vista solo contiene los elementos poco sostenible.
● ViewModel: contiene la lógica de
visuales.
presentación y el estado de la vista. ● El problema de la gestión del
Recupera los datos del negocio desde estado de la vista es bastante
El ViewModel representa el estado de la el Modelo, aplicando la lógica de complejo.
vista y maneja los componentes de la presentación y guardando el estado
vista y sus estados a través de de la vista. El estado se puede hacer
“binding” (atadura). El binding se puede global (a la Redux) o guardando cada
hacer como un cierre (closure), a través
viewModel su propio estado. VENTAJAS
del mecanismo Key-Value Observing o
● View: pinta la interfaz gráfica y pasa
con la ayuda de las librerías de terceros, ● Es un patrón bastante “sencillo”
las interacciones de usuario a
así como RxSwift/ReactiveCocoa, etc. para implementar sobre todo
ViewModel. Recupera los datos
para las apps simples.
preparados desde ViewModel a través
SwiftUI ya tiene los mecanismos de binding.
● Alta posibilidad de reutilización
integrados de “binding” como los de los ViewModels para
property wrappers @State o @Binding. diferentes Views.
Viper
R Definición
V P I E Viper es un patrón arquitectónico que implementa los principios de Clean Architecture,
aplicándolos al desarrollo de aplicaciones iOS. Consiste en separar la lógica de la aplicación en
cinco capas: View, Interactor, Presenter, Entity y Router.
CARACTERÍSTICAS
BLOQUES PRINCIPALES DESVENTAJAS
PRINCIPALES
La implementación del patrón Viper en ● View: pinta lo que le manda el ● Existe cierta “sobrecarga” en
el desarrollo de aplicaciones iOS consiste Presenter y pasa las entradas de crear cinco clases diferentes con
en dividir la lógica de cada módulo usuario al Presenter. Es la capa más los diferentes protocolos por
(pantalla) de la aplicación en cinco sencilla de todas. cada módulo.
capas principales con las diferentes
responsabilidades. ● Interactor: contiene la lógica de ● Es un patrón complejo que
negocio. requiere cierto aprendizaje y
De esto modo, aislamos las costumbre de usar.
dependencias y podemos testear más ● Presenter: contiene la lógica de
fácilmente tanto las interacciones entre presentación y procesa las entradas
capas como las capas propias. de usuario. VENTAJAS
Las interacciones entre capas se ● Entity: contiene los modelos básicos ● Cada capa es reutilizable y
ejecutan a través de los protocolos para (entities) de negocio que se usan por testeable.
poder sustituir los objetos reales con los Interactor.
mocks en los tests unitarios. ● Con el crecimiento, la aplicación
● Router: contiene la lógica de sigue estando estructurada y
navegación. testeable a pesar de su tamaño.
Accesibilidad en iOS
Definición
La accesibilidad en las aplicaciones móviles significa hacerlas manejables y cómodas para toda la
población, independientemente de sus capacidades técnicas o físicas.
● Accessibility Inspector: es una herramienta que nos ● VoiceOver: el lector de pantalla que pronuncia en voz alta
proporciona la información sobre la accesibilidad de cada todo lo que sucede en la pantalla y se manipula con los
elemento de nuestra aplicación. Además, puede hacer la gestos.
auditoría de toda nuestra aplicación en términos de
accesibilidad. ● Zoom: escala el contenido de la pantalla.
● Accessibility Labels: cada vista UIView tiene la propiedad ● Lupa: utilizando la cámara trasera, escala el espacio
accesibilityLabel que facilita la información sobre la vista al alrededor de usuario.
lector de pantalla VoiceOver.
● Los tamaños del texto dinámicos: se puede cambiar el
● Accessibility Traits: para los elementos customizados es tamaño del texto en las apps que lo soportan.
importante poner un rasgo(trait) para transmitir el sentido
del elemento. ● Lectura de pantalla: lee el contenido de pantalla.
● Accessibility Notifications: puedes crear las notificaciones ● Acceso guiado: limita el acceso de usuario a solo una app.
que avisan al usuario sobre los cambios en la interfaz, scroll o
cualquier anuncio en la voz alta. ● AssistiveTouch: ayuda a los usuarios que tienen
dificultades para tocar la pantalla. Muestra un menú
● DynamicTypes: escala los textos en la aplicación según los adicional en blanco y negro con los botones que permiten
ajustes del móvil. manipular el contenido de pantalla fácilmente.
Bots de XCode
Definición
CARACTERÍSTICAS
BLOQUES PRINCIPALES DESVENTAJAS
PRINCIPALES
Para usar el sistema se necesita instalar ● Bot: es un conjunto de tareas que ● Se puede usar solo para
XCode Server. Está integrado en XCode a quieres hacer con el código de proyectos iOS/Mac.
partir de la versión 9. repositorio.
● La funcionalidad está bastante
● XCode Server: es una herramienta limitada comparando con otras
Es una plataforma de integración
que permite ejecutar los Bots tanto soluciones (Jenkins, Bamboo,
continua que está integrada en XCode localmente como en otro ordenador. etc).
y que permite ejecutar los test
unitarios, los test de la interfaz gráfica, ● MacOS Server: es una aplicación Mac ● Tiene pequeños bugs.
archivar los builds y mandar los correos que complementa MacOS con las
electrónicos de estado. funcionalidades de servidor de
diferentes tipos como MTA servidor,
AFP y SMB servidor, el servidor web, VENTAJAS
Se encarga de crear y mantener los
servidor wiki, servidor de mensajería,
certificados y los perfiles de tu
etc. ● Se puede usar localmente en tu
aplicación. También, muestra la Está disponible en App Store como la ordenador.
cobertura de los test unitarios, ejecuta los aplicación separada. Originalmente
test en diferentes dispositivos. era necesario instalarlo pero ● Está integrado en XCode y no
actualmente ya no es necesario para hace falta instalar nada más.
Además, permite instalar los build OTA poder utilizar los bots.
(Over-the-Air) a través de navegador en ● Se ejecutan los test UI en
diferentes dispositivos iOS/Mac.
tu dispositivo.
App Clips
¿Qué es?
Con App Clips podemos crear un versión «reducida» de nuestra app que se ejecutará con un disparador
como un código QR o una etiqueta NFC. Están pensados para crear una experiencia limitada y contenida de
lo que la app principal puede ofrecer, como vender algún producto o mostrar algún tipo de información.
Los Clips son una buena herramienta Los Clips presentan algunas limitaciones Para añadir un App Clip a tu aplicación
para aumentar la conversión de los a la hora de desarrollarlos que se deben principal basta con crear un Target
potenciales usuarios al no tener que tener en cuenta: nuevo tal y como lo hacemos con las
buscar nuestra app en el App Store. extensiones existentes, no hay limitación
Los Clips pueden mostrarse con los ● Disponibles con iOS 14. al número de clips que podemos añadir.
siguientes disparadores: ● No pueden pesar más de 10 megas.
● Ha de ser nativo 100%. Los clips permiten programar una
● Escanear una etiqueta NFC o ● La construcción ha de ser 100% con notificación tras 8 horas después de su
código visual en una ubicación SwiftUI. descarga para recordar algo al usuario, al
física. ● No puede acceder a los datos de pulsarla, se vuelve a abrir el clip.
● Al tocar una sugerencia basada en la usuario, por lo que los frameworks
ubicación de Siri Suggestions. relacionados con éste no están Hay una nueva API para verificar que el
● Tocando un enlace en la aplicación disponibles (Salud, Contactos...). usuario se encuentra en el lugar donde
Mapas.
● Al cabo de un tiempo de debe estar el Clip.
● Al tocar un banner de aplicación
inactividad, el clip es borrado por el
inteligente en un sitio web.
● Tocando un enlace que alguien ha sistema. Los permisos que demos al Clip los
compartido en la aplicación hereda la app principal en caso de
Mensajes. descarga de ésta.
WidgetKit
Definición
Con la ayuda de WidgetKit puedes crear los widgets (mini-vistas) para tres plataformas de
Apple: iOS, iPad OS y macOS. A partir de iOS 14, puedes poner los widgets en el escritorio de tu
iPhone, en TodayView en iPad OS y en el centro de notificaciones de macOS Big Sur (11.0).
CARACTERÍSTICAS DESARROLLO
LIMITACIONES
PRINCIPALES
Los widgets son una manera dinámica y ● Está disponible solo a partir de iOS 14 WidgetKit soporta SwiftUI, AppKit y las
directa para demostrar la informacion y macOS Big Sur(11.0). apps de macOS basadas en Catalyst. El
útil de tu aplicación en el escritorio de tu ● Los widgets no pueden contener los widget se define a través de:
móvil, tablet o portátil. El widget tiene elementos interactivos (como los ● kind: el identificador de tipo String
que ser relevante, personalizable y campos de texto o los botones). de widget.
entendible de un solo vistazo. La extensión ● Tienen solo tres tamaños (pequeño, ● configuration: el widget puede ser
de WidgetKit es una extensión de fondo medio y grande). estático (Static Configuration) o
(background), que proporciona las vistas ● Tienen que ser escritos con SwiftUI. configurable a través de Intent
del widget de antemano para cada ● Los widgets no tienen el estado. (IntentConfiguration).
momento específico. Así, se evita el ● No soportan el scrolling. ● supportFamilies: el tamaño de
problema de “carga” y “espera”. Los ● No soportan el reproducción de los widget: systemSmall,
widgets se configuran a través de Intents. videos o las imágenes animadas. systemMedium y systemLarge.
Además, se pueden actualizar las ● La única interacción que está ● placeholder: la vista que muestra la
jerarquías de vistas ya preparadas desde permitida es a través de tocar el estructura de widget sin mostrar los
tu aplicación o establecer un horario de widget que está vinculado a un datos de usuario.
actualización. Se puede crear una pila de enlace profundo (deepLink) de tu ● provider: la estructura que
widgets que va cambiando el widget que aplicacion o creando subenlace proporciona el conjunto de vistas
se muestra arriba de todos. dentro del widget con Link API. para cada momento de tiempo y la
primera entrada de datos (snapshot).
Estas fichas son un recurso vivo,
¡anímate a hacernos sugerencias y comentarios!
@autentia
Guía introductoria para directivos y técnicos Guía para directivos y técnicos V.1
V.2