Fundação Central - Core Foundation
Desenvolvedor (s) | Apple Inc. |
---|---|
Modelo | Biblioteca do sistema |
Licença | APSL 2.0 |
Local na rede Internet | developer.apple.com |
Fundação núcleo (também chamado CF ) é um C interface de programação de aplicação (API) em MacOS e IOS , e é uma mistura de rotinas de baixo nível e funções de invólucro . A maioria das rotinas do Core Foundation segue uma certa convenção de nomenclatura que lida com objetos opacos, por exemplo CFDictionaryRef para funções cujos nomes começam com CFDictionary, e esses objetos são frequentemente contados por referência (manualmente) por meio de CFRetain
e CFRelease
. Internamente, o Core Foundation forma a base dos tipos na biblioteca padrão Objective-C e na Carbon API .
O uso mais comum do Core Foundation é para passar seus próprios tipos primitivos de dados, incluindo bytes brutos , strings Unicode , números , datas do calendário e UUIDs , bem como coleções, como matrizes , conjuntos e dicionários , para várias rotinas do macOS C , principalmente aqueles relacionados à GUI . Ao nível do sistema operacional Núcleo Fundação também fornece padronizada de gerenciamento de preferências do aplicativo através , pacote manuseio, loops de executar , comunicação entre processos através de e , e uma básica interface gráfica do usuário de diálogo mensagem através .
CFPropertyList
CFMachPort
CFNotificationCenter
CFUserNotification
Outras partes da API incluem rotinas de utilitário e wrappers em torno de APIs existentes para facilidade de uso. Rotinas de utilidade realizar ações como sistema de arquivos e rede de I / O por meio CFReadStream
, CFWriteStream
e CFURL
e endianness tradução (Byte Order Utilities). Alguns exemplos de rotinas de invólucro incluem aquelas para rotinas de invólucro do Core Foundation para soquetes Unix, a API CFSocket.
Alguns tipos no Core Foundation são "toll-free bridge" ou intercambiáveis com um elenco simples, com aqueles de suas contrapartes do Foundation Kit . Por exemplo, pode-se criar um CFDictionaryRef
tipo Core Foundation e, mais tarde, simplesmente usar um cast C padrão para convertê-lo em sua contraparte Objective-C NSDictionary *
e, em seguida, usar os métodos Objective-C desejados nesse objeto, como faria normalmente.
O Core Foundation tem um modelo de plug-in ( CFPlugin ) baseado no Microsoft Component Object Model .
Disponibilidade de código aberto
A Apple costumava lançar a maior parte do CF como um projeto de código aberto chamado CFLite, que pode ser usado para escrever aplicativos de plataforma cruzada para macOS, Linux e Windows .
Uma implementação de código aberto de terceiros chamada OpenCFLite estende o Apple CFLite para a construção em ambientes Windows e Linux de 32 bits . É mantido por um dos desenvolvedores do WebKit , mas foi paralisado em 2015. A plataforma de karaokê KJams mantém um fork desde 2017. Esta versão, de seu programador David M. Cotter, suporta sistemas de 64 bits e tem uma implementação CFNetwork com LibreSSL - baseado em TLS.
O Swift Corelib Foundation, uma versão substituta do Foundation Kit para a linguagem de programação Swift para plataformas não-Apple, contém uma versão quase completa do Core Foundation lançado sob a Apache License 2.0 .
GNUstep inclui uma versão do Core Foundation chamada "libs-corebase".
Veja também
- GLib - o equivalente GNOME
Referências
links externos
- Referência da Core Foundation na Apple Developer Connection
- OpenCFLite no SourceForge
- CFLite incluindo CFNetwork funciona em 64 bits, usa LibreSSL (TLS 1.1, 1.2)