Développement iOS en C # avec Xamarin Studio et Visual Studio

Dans le passé, vous avez peut-être envisagé le développement d'Objective-C et d'iPhone, mais la combinaison d'une nouvelle architecture et d'un nouveau langage de programmation ensemble peut avoir été trop. Maintenant, avec Xamarin Studio, et en le programmant en C #, vous pouvez trouver l'architecture pas si mal. Vous pouvez finir par revenir à Objective-C bien que Xamarin rend possible tout type de programmation iOs, y compris les jeux.

Il s'agit du premier d'une série de didacticiels sur la programmation des applications iOS (c'est-à-dire à la fois iPhone et iPad) et éventuellement des applications Android en C # à l'aide de Xamarin Studio. Alors, quel est Xamarin Studio?

Auparavant connu sous le nom de MonoTouch Ios et MonoDroid (pour Android), le logiciel Mac est Xamarin Studio. Il s'agit d'un IDE qui fonctionne sur Mac OS X et il est assez bon. Si vous avez utilisé MonoDevelop, vous serez sur un terrain familier. Ce n'est pas aussi bon que Visual Studio à mon avis, mais c'est une question de goût et de coût. Xamarin Studio est idéal pour développer des applications iOS en C # et probablement Android, bien que cela dépende de vos expériences de création de celles-ci.

Versions de Xamarin

Xamarin Studio est disponible en quatre versions: il y a celle gratuite qui peut créer des applications pour l'App Store, mais celles-ci sont limitées à 32 Ko, ce qui n'est pas beaucoup! Les trois autres coûtent à partir de la version Indie pour 299 $. Sur cela, vous développez sur le Mac et pouvez produire des applications de toute taille.

Vient ensuite la version Business à 999 $ et c'est celle utilisée pour ces exemples. En plus de Xamarin Studio sur Mac, il s'intègre à Visual Studio afin que vous puissiez développer des applications iOS / Android comme si vous écriviez .NET C #. L'astuce astucieuse est qu'il utilise votre Mac pour créer et déboguer l'application à l'aide du simulateur iPhone / iPad pendant que vous parcourez le code dans Visual Studio.

La grande version est l'édition Enterprise mais cela ne sera pas couvert ici.

Dans les quatre cas, vous devez posséder un Mac et pour déployer des applications dans l'App Store, vous devez payer à Apple 99 $ chaque année. Vous pouvez réussir à compenser le paiement jusqu'à ce que vous en ayez besoin, développez simplement contre le simulateur iPhone fourni avec Xcode. Vous devez installer Xcode mais c'est dans le Mac Store et c'est gratuit.

L'édition Business n'a pas de grande différence, juste qu'elle est sur Windows au lieu du Mac avec des éditions gratuites et indépendantes, et qu'elle utilise toute la puissance de Visual Studio (et Resharper). Cela dépend en partie de savoir si vous préférez développer Nibbed ou Nibless?

Nibbed ou Nibless

Xamarin s'intègre à Visual Studio en tant que plugin qui offre de nouvelles options de menu. Mais il n'est pas encore livré avec un concepteur comme le générateur d'interface de Xcode. Si vous créez toutes vos vues (le mot iOS pour les contrôles) au moment de l'exécution, vous pouvez exécuter nibless. Une nib (extension .xib) est un fichier XML qui définit les contrôles, etc. dans les vues et relie les événements ensemble, donc lorsque vous cliquez sur un contrôle, il appelle une méthode.

Xamarin Studio vous oblige également à utiliser Interface Builder pour créer des nibs, mais au moment de la rédaction, ils ont un concepteur visuel exécuté sur le Mac en état alpha. Il deviendra probablement également disponible sur le PC.

Xamarin couvre la totalité de l'API iOS

L'ensemble de l'API iOS est assez massif. Apple possède actuellement 1705 documents dans la bibliothèque des développeurs iOS couvrant tous les aspects du développement iOS. Depuis leur dernière révision, la qualité s'est beaucoup améliorée.

De même, l'API iOS de Xamarin est assez complète, bien que vous vous retrouviez à vous référer aux documents Apple.

Commencer

Après avoir installé le logiciel Xamarin sur votre Mac, créez une nouvelle solution. Les choix de projets incluent iPad, iPhone et Universal ainsi que des storyboards. Pour iPhone, vous avez alors le choix entre un projet vide, une application utilitaire, une application maître-détail, une application à vue unique, une application à onglets ou une application OpenGl. Vous avez des choix similaires pour le développement Mac et Android.

Étant donné le manque de concepteur sur Visual Studio, vous pouvez emprunter la route nibless (Empty Project). Ce n'est pas si difficile, mais il n'est nulle part aussi facile d'obtenir un look design. Dans ce cas, comme vous avez principalement affaire à des boutons carrés, ce n'est pas un problème.

Architecture des formulaires iOS

Vous entrez dans un monde décrit par Views et ViewControllers et ce sont les concepts les plus importants à comprendre. Un ViewController (dont il existe plusieurs types) contrôle la façon dont les données sont affichées et gère les tâches de gestion des vues et des ressources. L'affichage proprement dit est effectué par une vue (enfin un descendant d'UIView).

L'interface utilisateur est définie par les ViewControllers travaillant ensemble. Nous verrons cela en action dans le tutoriel deux avec une simple application nibless comme celle-ci.

Dans le prochain tutoriel, nous examinerons en profondeur ViewControllers et développerons la première application complète.