Maybaygiare.org

Blog Network

Cocoa e Cocoa Touch: come iniziare Crea app Mac e iOS

Disclosure: il tuo supporto aiuta a mantenere il sito in esecuzione! Guadagniamo una commissione di riferimento per alcuni dei servizi che consigliamo in questa pagina. Per saperne di più

Cocoa è un’API di sviluppo nativa del sistema operativo Mac OS X. Cocoa Touch è la piattaforma analoga strettamente correlata per iOS. E ‘ scritto in Objective-C, e agisce come una sorta di “livello superiore” per ogni sistema operativo.

Cocoa può essere pensato come una piattaforma applicativa o un framework di sviluppo delle applicazioni, ma è più integrato nel sistema operativo di quanto uno di questi sarebbe in un ambiente Linux o Windows.

Questa stretta integrazione tra l’API, il sistema operativo e (ovviamente) l’hardware di Apple ha lo scopo di fornire un ambiente di sviluppo senza interruzioni e applicare “il modo Apple” di fare le cose.

Storia del cacao

Il cacao inizia con C. Letteralmente.

Nei primi anni 1980, una coppia di sviluppatori di nome Brad Cox e Tom Love ha cercato di aggiungere l’orientamento agli oggetti al linguaggio di programmazione C, che non supportava OOP in quel momento.

La loro soluzione era creare un pre-processore che rendesse il codice C con alcune aggiunte simili a Smalltalk in un semplice codice C compilabile. (Smalltalk era un linguaggio orientato agli oggetti precoce.)

Questo preprocessore si è rapidamente evoluto in un’estensione del linguaggio in piena regola e divenne noto come Objective-C. NeXT software, che è stata fondata da Steve Jobs dopo essere stato licenziato da Apple nel 1985, ha concesso in licenza Objective-C dai suoi creatori e lo ha usato come base per diversi framework di sviluppo.

Questi formarono le piattaforme applicative NeXTSTEP e OpenStep, che Next vendette negli anni ’80 e’ 90.

Apple acquisì NeXT nel 1996 e Steve Jobs tornò come CEO. I framework NeXTSTEP si sono fatti strada nel sistema operativo Mac.

Apple aveva già registrato il nome Cocoa, per un progetto separato che è stato interrotto. Al fine di mettere rapidamente un marchio registrato sulla versione più recente di Apple dei framework, lo hanno chiamato Cocoa.

Cocoa è stata una parte di tutti i sistemi operativi di Apple dalla fine del 1990, e si è evoluto insieme con il sistema operativo e le nuove piattaforme di dispositivi da allora.

Cosa fa il cacao?

Cocoa fa molte cose, ma in linea di massima queste si dividono in quattro categorie:

  • Agendo come una libreria standard espansa per Objective-C, fornendo supporto per oggetti più ricchi e caratteristiche dei moderni linguaggi di calcolo non presenti nella progettazione di Objective-C.

  • Fornire un’interfaccia utente unificata e un’esperienza utente.

  • Consentire ad un’applicazione di accedere ad altre applicazioni, servizi e funzionalità del dispositivo.

  • Incoraggiando particolari modelli architettonici e di gestione dei dati.

Questi ampi obiettivi di progettazione sono implementati in diversi “framework.”Questo termine potrebbe essere un po’ confuso. Nel linguaggio contemporaneo, Cocoa è più simile a un singolo framework, con diversi moduli o librerie. Ma Apple chiama ciascuna di queste librerie un ” framework.”

Esploriamo un po ‘ ciascuno di questi obiettivi funzionali e come i vari framework Cocoa li raggiungono.

Cocoa come libreria standard

Objective-C ha una libreria standard. Nell’ambiente Cocoa, la libreria standard e il runtime sono effettivamente forniti da Cocoa. Inoltre, una serie di funzionalità linguistiche espanse sono fornite dal Kit Foundation che, in pratica, fungono da libreria standard de facto.

Questo fornisce funzionalità linguistiche più avanzate di quelle normalmente disponibili in Objective-C. Ciò include una vasta gamma di classi di base per i tipi di oggetti di uso comune: numeri, date, stringhe, URL, espressioni regolari e messaggi di errore.

Questo framework Foundation Kit è essenziale nelle app scritte in Objective-C. Tuttavia, lo sviluppo di app nelle piattaforme Apple si sta allontanando da Objective-C, poiché Apple promuove il suo nuovo linguaggio di sviluppo Swift.

Swift fornisce nativamente molte delle funzionalità del linguaggio moderno aggiunte da Foundation Kit, e non è chiaro quale ruolo Foundation e Objective-C giocheranno in un futuro incentrato su Swift.

Cocoa come interfaccia UI/UX

Questo aspetto di Cocoa è forse il più ovviamente importante per gli sviluppatori di app.

Nella versione OS X di Cocoa, l’API user experience è fornita da un framework chiamato AppKit. In Cocoa Touch per iOS, questo si chiama UIKit.

In entrambi i casi, questi forniscono elementi grafici, controlli dell’interfaccia utente, gestione di finestre e pannelli, interfacce multi-touch e tutti gli altri dettagli dell’interazione tra l’utente e il sistema.

L’uso di AppKit e UIKit è ciò che rende un’applicazione nativa del sistema Apple e risponde agli input (gesti, clic, movimenti) nel modo “giusto”.

La grande differenza tra Cocoa e Cocoa Touch è la differenza tra AppKit e UIKit. Per quanto Apple abbia lavorato per unificare l’esperienza utente su più piattaforme, interagisci ancora con un iPhone in modo diverso rispetto a un Mac desktop.

Oltre a elementi GUI leggermente diversi, UIKit include il supporto per cose come la direzione della bussola, GPS, accelerometro (movimento del dispositivo) e touch screen.

Cocoa come interfaccia del sistema operativo

Le app Apple devono anche essere in grado di interagire con altre app e servizi del sistema operativo.

Se vuoi essere in grado di fare clic su un numero di telefono nella tua app di chat e avviare una telefonata, le app devono essere in grado di parlare tra loro.

Se si desidera che un’app di editing musicale sia in grado di raccogliere l’audio da un microfono e riprodurlo sugli altoparlanti, le app devono essere in grado di interagire con i servizi del sistema operativo.

Cocoa fornisce un lungo elenco di framework che forniscono accesso ad app e servizi. Questi sono ciò che consente alle app di non essere solo eseguibili standalone, ma di esistere e operare in un ecosistema integrato.

Cocoa come architetto

Cocoa supporta due importanti modelli architettonici, uno all’interno di un’applicazione e uno nel modo in cui un’applicazione comunica al di fuori di se stessa.

Cocoa è scritto pensando al paradigma architettonico Model-View-Controller e supporta lo sviluppo MVC a tutti i livelli.

View è implementato dai framework AppKit o UIKit. I moduli di controllo sono supportati attraverso una famiglia di classi integrate nel kit di fondazione. I modelli e la loro connessione richiesta a un livello di persistenza dei dati vengono gestiti da un altro framework chiamato Core Data.

Questo design incoraggia (qualcuno potrebbe dire impone) un’architettura Model-View-Controller all’interno delle applicazioni iOS e OS X.

Tra diverse applicazioni, e anche tra applicazioni e servizi, i vari framework mediano l’interazione in modo essenzialmente orientato ai servizi. Ciò rende più facile e sicuro integrare le app tra loro, promuovendo un ecosistema applicativo robusto e resiliente.

Cocoa Resources

Online

Tutorial

  • Concetti di programmazione di base per Cocoa e Cocoa Touch

  • Introduzione alle linee guida di codifica per Cocoa

  • Cocoa Dev Central

  • Programmazione Mac OS X con Cocoa per principianti.

Strumenti

  • Cocoa Controls: componenti dell’interfaccia utente open source per iOS e OS X.

  • Cocoa Pods: un gestore di pacchetti per i progetti Cocoa.

Comunità e apprendimento continuo

  • CocoaHeads: una rete mondiale di gruppi locali di incontro e discussione dedicati allo sviluppo di Cocoa e Cocoa Touch.

  • Cacao Subreddit.

Libri

  • rapido Sviluppo con il Cacao, lo Sviluppo per Mac e iOS App Store

  • Cacao Programmazione per OS X: The Big Nerd Ranch Guide

  • di Apprendimento Cacao con Objective-C

  • Ry Cacao Tutorial

  • Cacao (Sviluppatore di Riferimento)

  • Cacao Modelli di Progettazione.

Altre risorse di sviluppo OS X e iOS

Non è possibile utilizzare Cocoa o Cocoa Touch nel vuoto. È un pezzo del più grande ambiente di sviluppo di app Apple, che include Xcode, Objective-C e Swift. Questi diversi strumenti e tecnologie lavorano insieme per formare un ecosistema di sviluppo.

Xcode

Xcode è un IDE (Integrated Development Environment) necessario per la creazione di applicazioni OS X e iOS. È strettamente integrato con Swift, Cocoa, l’Apple App Store e il più grande ecosistema Apple.

Non ci sono molti tutorial su Xcode in particolare, in quanto è coperto in ogni risorsa generale di sviluppo Apple. Una grande risorsa, però, è questo Tutorial Xcode, che viene regolarmente aggiornato man mano che escono nuove versioni di Xcode.

Objective-C

  • Informazioni su Objective-C: un tutorial introduttivo dall’Apple Developer center

  • Objective-C Programming

  • Objective-C Programming: The Big Nerd Ranch Guide.

Abbiamo anche un elenco più completo delle risorse Objective-C.

Swift

  • Il linguaggio di programmazione Swift: la guida ufficiale di Apple

  • Programmazione Swift: La guida Big Nerd Ranch: il libro definitivo sull’argomento.

Abbiamo anche un elenco completo delle risorse Swift.

General Apple Development Resources

Il primo posto per informazioni e risorse sullo sviluppo per le piattaforme Apple è il sito degli sviluppatori Apple.

Molti dei migliori libri sullo sviluppo Mac e iOS provengono da Big Nerd Ranch. I loro libri su argomenti specifici sono menzionati sopra, e si dovrebbe anche controllare i loro libri sulla programmazione avanzata di Mac OS X e la programmazione iOS.

Altre buone risorse generali:

  • Ray Wenderlich Tutorials: uno dei relativamente pochi provider che risale e aggiorna i vecchi tutorial quando Apple aggiorna la piattaforma.

  • Canale di programmazione Apple su YouTube: non ufficiale, ma molto utile.

  • WeHeartSwift: nominalmente su Swift, ma questo sito copre tutti gli aspetti dello sviluppo di OS X e iOS.

  • NSHipster: un blog popolare sullo sviluppo di Mac e iOS, con molti tutorial su “bit trascurati in Objective-C, Swift e Cocoa.”Sono anche molto supponente nella loro copertura, che è probabilmente un punto di forza.

  • ObjC.io: libri e articoli su tecniche e pratiche avanzate per lo sviluppo di iOS e OS X.

Linea di fondo…

Cocoa e Cocoa Touch sono le basi dello sviluppo di app native per Mac e iOS.

Per iOS ci sono altri modi per creare app mobili non native con HTML5 e JS, ma questo non sempre va bene come previsto-davvero.

Se si vuole costruire la prossima grande applicazione per iPhone, o creare applicazioni Mac che si integrano bene con OS X e conformi alle aspettative degli utenti, si ha realmente bisogno di scavare in Cocoa e Cocoa Touch. Per lo sviluppo di app native, non ci sono davvero sostituti.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.