Sviluppo iOS in C # con Xamarin Studio e Visual Studio

In passato, potresti aver preso in considerazione lo sviluppo di Objective-C e iPhone, ma la combinazione di una nuova architettura e un nuovo linguaggio di programmazione potrebbe essere stata troppo. Ora con Xamarin Studio e programmandolo in C #, potresti trovare l'architettura non così male. Potresti finire per tornare a Objective-C sebbene Xamarin renda possibile qualsiasi tipo di programmazione iO, inclusi i giochi.

Questo è il primo di una serie di tutorial sulla programmazione di app iOS (cioè sia iPhone che iPad) e infine app Android in C # usando Xamarin Studio. Allora, cos'è Xamarin Studio?

Precedentemente noto come MonoTouch Ios e MonoDroid (per Android), il software Mac è Xamarin Studio. Questo è un IDE che funziona su Mac OS X ed è abbastanza buono. Se hai utilizzato MonoDevelop, ti troverai su un terreno familiare. Secondo me non è buono come Visual Studio, ma è una questione di gusti e costi. Xamarin Studio è ottimo per lo sviluppo di app iOS in C # e probabilmente per Android, anche se dipende dalle tue esperienze di creazione.

Versioni di Xamarin

Xamarin Studio è disponibile in quattro versioni: ce n'è una gratuita che può creare App per l'App Store ma quelle hanno dimensioni limitate a 32Kb, il che non è molto! Gli altri tre costano a partire dalla versione Indie per $ 299. Su questo, ti sviluppi su Mac e puoi produrre App di qualsiasi dimensione.

La prossima è la versione Business a $ 999 e quella utilizzata per questi esempi. Oltre a Xamarin Studio su Mac, si integra con Visual Studio in modo da poter sviluppare app iOS / Android come se si stesse scrivendo .NET C #. Il trucco intelligente è che utilizza il tuo Mac per creare ed eseguire il debug dell'app usando il simulatore iPhone / iPad mentre passi attraverso il codice in Visual Studio.

La versione grande è l'edizione Enterprise ma non verrà trattata qui.

In tutti e quattro i casi devi possedere un Mac e per distribuire App nell'App Store devi pagare Apple $ 99 ogni anno. Puoi riuscire a compensare il pagamento fino a quando non ne hai bisogno, basta sviluppare contro il simulatore di iPhone fornito con Xcode. Devi installare Xcode ma è nel Mac Store ed è gratuito.

L'edizione Business non ha grandi differenze, solo che si trova su Windows anziché su Mac con edizioni gratuite e Indie e utilizza tutta la potenza di Visual Studio (e Resharper). Parte di ciò dipende dal fatto che tu preferisca sviluppare Nibbed o Nibless?

Nibbed o Nibless

Xamarin si integra in Visual Studio come plug-in che offre nuove opzioni di menu. Ma non arriva ancora con un designer come Interface Builder di Xcode. Se stai creando tutte le tue visualizzazioni (la parola iOS per i controlli) in fase di esecuzione, puoi eseguire la modalità nibless. Un pennino (estensione .xib) è un file XML che definisce i controlli, ecc. Nelle viste e collega eventi insieme, quindi quando si fa clic su un controllo, si richiama un metodo.

Xamarin Studio richiede inoltre di utilizzare Interface Builder per creare pennini ma al momento della stesura, hanno un Visual designer in esecuzione sul Mac in stato alfa. Sarà probabilmente disponibile anche sul PC.

Xamarin copre l'intera API iOS

L'intera API iOS è piuttosto massiccia. Apple ha attualmente 1705 documenti nella libreria per sviluppatori iOS che coprono tutti gli aspetti dello sviluppo di iOS. Dall'ultima revisione, la qualità è molto migliorata.

Allo stesso modo, l'API iOS di Xamarin è piuttosto completa, anche se ti ritroverai a fare riferimento ai documenti di Apple.

Iniziare

Dopo aver installato il software Xamarin sul tuo Mac, crea una nuova soluzione. Le scelte del progetto includono iPad, iPhone e Universal e anche con Storyboard. Per iPhone, puoi scegliere tra un progetto vuoto, un'applicazione di utilità, un'applicazione master-dettaglio, un'applicazione a vista singola, un'applicazione a schede o un'applicazione OpenGl. Hai scelte simili per lo sviluppo di Mac e Android.

Data la mancanza di designer in Visual Studio, è possibile prendere la strada senza punti (Progetto vuoto). Non è così difficile, ma in nessun modo è facile ottenere il design perfetto. In questo caso, dato che hai a che fare principalmente con i pulsanti quadrati, non è un problema.

Progettazione di moduli iOS

Stai entrando in un mondo descritto da Views e ViewController e questi sono i concetti più importanti da capire. Un ViewController (di cui esistono diversi tipi) controlla la modalità di visualizzazione dei dati e gestisce le attività di visualizzazione e gestione delle risorse. La visualizzazione effettiva viene eseguita da una vista (bene un discendente UIView).

L'interfaccia utente è definita da ViewController che lavorano insieme. Lo vedremo in azione nel tutorial due con una semplice app senza punti come questa.

Nel prossimo tutorial, esamineremo in dettaglio ViewControllers e svilupperemo la prima app completa.