UIKit es un entorno de desarrollo de aplicaciones y un kit de herramientas de interfaz gráfica de usuario de Apple Inc. que se utiliza para crear aplicaciones para los sistemas operativos iOS , iPadOS y tvOS . [1]
UIKit proporciona una capa de abstracción de iOS, el sistema operativo para iPhone, iPod Touch y iPad. UIKit está inspirado en AppKit, que se encuentra en el conjunto de herramientas de la API Cocoa de macOS y, al igual que este, está escrito principalmente en el lenguaje Objective-C . UIKit permite el uso de hardware y funciones que no se encuentran en las computadoras macOS y, por lo tanto, son exclusivas de la gama de dispositivos iOS. Al igual que AppKit, UIKit sigue una arquitectura de software Modelo-Vista-Controlador (MVC).
UIKit contiene un conjunto diferente de elementos de control gráfico de AppKit. Las herramientas para desarrollar aplicaciones basadas en UIKit están incluidas en el SDK de iOS .
UIKit en relación con otras capas
Las tecnologías iOS, watchOS y tvOS pueden verse como un conjunto de capas, con UIKit en el nivel más alto y el sistema operativo/ kernel central en la parte inferior.
Una vista jerárquica de las tecnologías iOS, watchOS y tvOS se puede mostrar de la siguiente manera:
- Kit de interfaz de usuario
- Servicios de medios y aplicaciones
- Servicios básicos
- Sistema operativo central / núcleo iOS
Características principales
Algunas de las principales características y tecnologías de UIKit son:
- Extensión de la aplicación
- Gestión de datos
- Manos libres
- Selector de documentos
- Entrega por paracaídas
- Kit de texto
- Dinámica de UIKit
- Multitarea
- Diseño automático
- Guiones gráficos
- Preservación del estado de la UI
- Servicio de notificaciones push de Apple
- Notificaciones locales
- Reconocedores de gestos
- Controladores de vista del sistema estándar
Marcos principales
UIKit proporciona los marcos clave para desarrollar aplicaciones en dispositivos que ejecutan iOS y se basa en Foundation Kit . Otros marcos desarrollados por Apple que complementan a AppKit son:
- Kit de juego
- Kit de mapas
- Interfaz de usuario de la libreta de direcciones
- Interfaz de usuario de EventKit
- Interfaz de usuario de mensajes
- Centro de notificaciones
- Kit de empuje
Puertos
WinObjC de Microsoft , el puente iOS basado en GNUstep para la Plataforma universal de Windows , contiene implementaciones funcionales de marcos como Foundation, UIKit y MapKit publicados bajo la licencia MIT . [2] Una de las implementaciones de UIKit se basa en XAML . [3]
Se han realizado varios esfuerzos para intentar llevar UIKit a macOS:
- Chameleon es un puerto de UIKit para macOS de 2014. [4]
- UXKit de ZeeZide es una versión más reciente de UIKit para macOS. Se encuentra por encima de AppKit y UIKit. [5]
- Apple utilizó un marco privado "UXKit" para una versión 2015 de Photos.app. [6]
- Apple hizo oficial el puente con el proyecto "iosMac" o "Marzipan" en 2018, que puso un directorio "iOSSupport" lleno de frameworks de iOS en macOS Mojave . Originalmente estaban restringidos al uso de los desarrolladores [7] y finalmente se hicieron oficiales con el lanzamiento de Mac Catalyst en 2019. [8]
Referencias
- ^ "UIKit | Documentación para desarrolladores de Apple". Apple Developer . Consultado el 15 de septiembre de 2024 .
- ^ "microsoft/WinObjC/Frameworks: Objective-C para Windows". GitHub . Consultado el 17 de febrero de 2020 .
- ^ "WinObjC: Migración de controles UIKit a XAML". GitHub .
- ^ Heber, Sean. "BigZaphod/Chameleon: Chameleon es un puerto de UIKit de Apple para iOS (y algunos frameworks mínimos relacionados) para Mac OS X" . GitHub .
- ^ "ZeeZide/UXKit: escribe código que funcione tanto en UIKit como en AppKit". GitHub . ZeeZide. 19 de diciembre de 2019 . Consultado el 17 de febrero de 2020 .
- ^ Hall, Zac (5 de febrero de 2015). "Un marco similar a UIKit llamado UXKit utilizado en Fotos para Mac". 9to5Mac .
- ^ Demasi, Adam (7 de junio de 2018). "Un vistazo rápido a UIKit en macOS".
- ^ "Mac Catalyst". Documentación para desarrolladores de Apple . Consultado el 17 de febrero de 2020 .