iOS-utveckling i C # med Xamarin Studio och Visual Studio

Tidigare kanske du har övervägt utveckling av Objekt-C och iPhone men kombinationen av en ny arkitektur och ett nytt programmeringsspråk tillsammans kan ha varit för mycket. Nu med Xamarin Studio, och programmera den i C #, kanske du tycker att arkitekturen inte är så dålig. Du kan till slut komma tillbaka till Objekt-C men Xamarin gör det möjligt att använda alla typer av iO: s programmering inklusive spel.

Detta är den första av en uppsättning tutorials för programmering av iOS-appar (dvs. både iPhone och iPad) och så småningom Android-appar i C # med Xamarin Studio. Så vad är Xamarin Studio?

Tidigare känd som MonoTouch Ios och MonoDroid (för Android), är Mac-programvaran Xamarin Studio. Detta är en IDE som körs på Mac OS X och det är ganska bra. Om du har använt MonoDevelop, kommer du att vara på bekant mark. Det är enligt min mening inte riktigt lika bra som Visual Studio men det är en fråga om smak och kostnad. Xamarin Studio är utmärkt för att utveckla iOS-appar i C # och troligt Android, men det beror på dina upplevelser som skapar dem.

Xamarin-versioner

Xamarin Studio finns i fyra versioner: Det finns den gratis som kan skapa appar för App-butiken men de är begränsade till 32Kb i storlek vilket inte är så mycket! De tre andra kostar att börja med Indie-versionen för 299 $. På det utvecklar du på Mac och kan producera appar av alla storlekar.

Nästa är Business-versionen till 999 $ och det är den som används för dessa exempel. Förutom Xamarin Studio på Mac integreras det med Visual Studio så att du kan utveckla iOS / Android-appar som om du skriver .NET C #. Det smarta tricket är att den använder din Mac för att bygga och felsöka appen med iPhone / iPad-simulatorn medan du går igenom koden i Visual Studio.

Den stora versionen är Enterprise-utgåvan men den kommer inte att täckas här.

I alla fyra fall måste du äga en Mac och för att distribuera Apps i App Store behöver du betala Apple 99 $ varje år. Du kan lyckas kompensera att betala det tills du behöver det, bara utveckla mot iPhone-simulatorn som kommer med Xcode. Du måste installera Xcode men det finns i Mac Store och det är gratis.

Business-utgåvan har inte någon stor skillnad, bara att den finns på Windows istället för Mac med gratis- och Indie-utgåvor, och den använder den fulla kraften i Visual Studio (och Resharper). En del av det handlar om huruvida du föredrar att utveckla Nibbed eller Nibless?

Nibbed eller Nibless

Xamarin integreras i Visual Studio som ett plugin som ger nya menyalternativ. Men det kommer ännu inte med en designer som Xcodes Interface Builder. Om du skapar alla dina vyer (iOS-ordet för kontroller) vid körning kan du köra nibless. En nib (förlängning .xib) är en XML-fil som definierar kontrollerna etc i vyer och länkar händelser tillsammans så när du klickar på en kontroll, åberopar den en metod.

Xamarin Studio kräver också att du använder Interface Builder för att skapa nibs men i skrivande stund har de en Visual Designer som körs på Mac i alfastatus. Det kommer sannolikt att bli tillgängligt på datorn också.

Xamarin täcker hela iOS-API: t

Hela iOS-API: n är ganska massiv. Apple har för närvarande 1705 dokument i iOS-utvecklarbiblioteket som täcker alla aspekter av iOS-utveckling. Sedan de senast granskades har kvaliteten förbättrats mycket.

På samma sätt är iOS API från Xamarin ganska omfattande, även om du kommer att hitta dig själv hänvisar tillbaka till Apple-dokumenten.

Komma igång

När du har installerat Xamarin-programvaran på din Mac skapar du en ny lösning. Projektvalen inkluderar iPad, iPhone och Universal och även med Storyboards. För iPhone har du sedan valet av ett tomt projekt, verktygsprogram, masterdetaljapplikation, singelvy-applikation, flikapplikation eller OpenGl-applikation. Du har liknande val för utveckling av Mac och Android.

Med tanke på bristen på designer på Visual Studio kan du ta den nibless-rutten (Empty Project). Det är inte så svårt men ingenstans lika lätt att få designen att se plats på. I det här fallet, eftersom du främst har att göra med fyrkantiga knappar, är det inte en oro.

Arkivera iOS-formulär

Du går in i en värld som beskrivs av Views och ViewControllers och dessa är de viktigaste begreppen att förstå. En ViewController (av vilka det finns flera typer) styr hur data visas och hanterar visnings- och resurshanteringsuppgifter. Den faktiska visningen görs av en vy (väl en UIView-ättling).

Användargränssnittet definieras av ViewControllers som arbetar tillsammans. Vi kommer att se det i handling i handledning två med en enkel nibless app som den här.

I nästa handledning tittar vi djup på ViewControllers och utvecklar den första kompletta appen.