Fundación Core - Core Foundation

Fundación Core
Desarrollador (es) Apple Inc.
Escribe Biblioteca del sistema
Licencia APSL 2.0
Sitio web developer.apple.com

Core Foundation (también llamado CF ) es una interfaz de programación de aplicaciones (API) en C en macOS e iOS , y es una combinación de rutinas de bajo nivel y funciones contenedoras . La mayoría de las rutinas de Core Foundation siguen una cierta convención de nomenclatura que trata con objetos opacos, por ejemplo CFDictionaryRef para funciones cuyos nombres comienzan con CFDictionary, y estos objetos a menudo se cuentan por referencia (manualmente) a través de y . Internamente, Core Foundation forma la base de los tipos en la biblioteca estándar de Objective-C y la API de Carbon . CFRetainCFRelease

El uso más frecuente de Core Foundation es pasar sus propios tipos primitivos de datos, incluidos bytes sin formato , cadenas Unicode , números , fechas de calendario y UUID , así como colecciones como matrices , conjuntos y diccionarios , a numerosas rutinas de macOS C , principalmente aquellos que están relacionados con GUI . A nivel de sistema operativo, Core Foundation también proporciona administración de preferencias de aplicaciones estandarizadas a través de , manejo de paquetes , bucles de ejecución , comunicación entre procesos a través de y , y un diálogo de mensaje de interfaz gráfica de usuario básica a través . CFPropertyListCFMachPortCFNotificationCenterCFUserNotification

Otras partes de la API incluyen rutinas de utilidad y envoltorios alrededor de las API existentes para facilitar su uso. Rutinas de utilidad realizar acciones como el sistema de archivos y la red de E / S a través CFReadStream, CFWriteStreamy CFURLe endianness traducción (byte de orden Utilidades). Algunos ejemplos de rutinas contenedoras incluyen las de las rutinas contenedoras de Core Foundation para sockets Unix, la API CFSocket.

Algunos tipos de Core Foundation son "puenteados gratuitos" o intercambiables con un elenco simple, con los de sus contrapartes del Foundation Kit . Por ejemplo, se podría crear un CFDictionaryReftipo Core Foundation y luego simplemente usar una conversión C estándar para convertirlo en su contraparte Objective-C NSDictionary *, y luego usar los métodos Objective-C deseados en ese objeto como lo haría normalmente.

Core Foundation tiene un modelo de complemento ( CFPlugin ) que se basa en el modelo de objetos componentes de Microsoft .

Disponibilidad de código abierto

Apple solía lanzar la mayor parte de CF como un proyecto de código abierto llamado CFLite que se puede usar para escribir aplicaciones multiplataforma para macOS, Linux y Windows .

Una implementación de código abierto de terceros llamada OpenCFLite extiende Apple CFLite para construir en entornos Windows y Linux de 32 bits . Lo mantiene uno de los desarrolladores de WebKit , pero se detuvo en 2015. La plataforma de karaoke KJams mantiene una bifurcación desde 2017. Esta versión, de su programador David M. Cotter, es compatible con sistemas de 64 bits y tiene una implementación CFNetwork con LibreSSL - TLS basado.

Swift Corelib Foundation, una versión alternativa del Foundation Kit para el lenguaje de programación Swift para plataformas que no son de Apple, contiene una versión casi completa de Core Foundation publicada bajo Apache License 2.0 .

GNUstep incluye una versión de Core Foundation llamada "libs-corebase".

Ver también

  • GLib : el equivalente de GNOME

Referencias

enlaces externos