Förstå IOS Ecosystem

Innan du börjar bygga iOS-applikationer är det viktigt att du förstår ekosystemet först. Den här artikeln kommer att undersöka grunden för iOS-operativsystemet, de olika tillgängliga iOS-enheterna och Apples App Store.


Varför IOS?

Före ankomsten av Android och Windows Phone var Apple den dominerande aktören i mobilutrymmet, som endast rivaliserades av Nokia och BlackBerry. Med framkomsten av nya mobilplattformar har det blivit allt viktigare att fråga sig vilken plattform som passar bäst för dig. Trots Apples start i 2007 har Android överträffat iOS i marknadsandel. Vad betyder det för iOS? Är det fortfarande en plattform värt att utveckla för? Visst är det. Det finns många bra anledningar att komma igång med iOS-utveckling.

  • Starka finansiella incitament: Människor spenderar mer pengar på Apples App Store än på någon annan mobilplattform. Trots att Android har blivit den dominerande aktören i mobilutrymmet, fortsätter iOS-plattformen att vara mer lukrativ för utvecklare.
  • Muromgärdad trädgård: Även om Apples App Store har fått mycket kritik från utvecklare och kunder, särskilt Apples granskningsprocess, är det klart att denna policy har lett till en App Store där kvaliteten på den genomsnittliga applikationen är högre än i någon annan mobilaffär. Kunderna tenderar också att känna sig mycket säkrare när de köper program från App Store än de gör på andra öppna plattformar, till exempel Google Play.
  • Gemenskap och stöd: IOS-utvecklargemenskapen är en stor gemenskap att vara en del av. Det finns nästan obegränsat utbud av artiklar, handledning och dokumentation för att hjälpa dig när du befinner dig i ett problem. Dessutom är Apples dokumentation av iOS SDK utmärkt, för att inte tala om hundratals WWDC (World Wide Developer Conference) videor tillgängliga för alla registrerade iOS-utvecklare.

Människor glömmer ofta eller inte vet att Android och iOS är väldigt olika plattformar. Trots att båda plattformarna var utformade för mobilutrymmet skiljer sig iOS-ekosystemet i många avseenden från Googles Android-ekosystem. Ur ett utvecklingsperspektiv tycks de flesta vara enklare att utveckla för iOS-plattformen än för Android-plattformen. Misforstå mig inte, jag hänvisar inte till den teknikstack som varje plattform använder eller hänvisar jag till tillgängliga verktyg för varje plattform. Två anledningar är på grundval av klämman mellan iOS och Android, splittring och adoptionstal.

Splittring

En av Androids kärnstyrkor är samtidigt en av dess huvudsakliga svagheter. Som de flesta vet är Android-operativsystemet släppt som ett open source-projekt och kan därför användas och modifieras. Många hårdvaruleverantörer såg potentialen i Android, speciellt eftersom den stöddes av Google. Android blev snabbt populär som ett resultat. Problemet är att varje hårdvaruproduktör har modifierat Android för att passa deras behov och ett stort antal formfaktorer har uppstått sedan Android introducerades.

Även om Android marknadsandel kan verka som en stor kruka med honung är det en smärta att skapa programvara som körs på varje Android-version som för närvarande finns tillgänglig. På grund av de tusentals olika enheter som kör Android är testprogrammet på hårdvara inte heller en trivial uppgift. Som du kan föreställa dig, blir stöd och kompatibilitet en riktig utmaning.

Antagningsfrekvens

Traditionellt är den trådlösa marknaden i många länder under stark kontroll av mobiloperatörer. Apple kände redan från början att det var nödvändigt att ha kontroll över sina mobila enheter för att ge bästa möjliga användarupplevelse. Resultatet är att kunder kan uppgradera sina iOS-enheter till den senaste versionen av iOS samma dag som den släpps ut till allmänheten. Detta är en stor fördel med iOS-plattformen och resultatet är väsentligt. Mindre än tre månader efter det att IOS 7 släpptes, hade över 74% av iOS-enheterna uppgraderats till iOS 7.

Låt oss jämföra detta med Android. I december 2013 hade mindre än 55% av Android-användare uppgraderat sina enheter till Jelly Bean (släpptes i juli 2012) och 1,1% uppgraderade till KitKat (släpptes i oktober 2013).

Anledningen till att dessa nummer upptas är att inte spela ner Android-plattformen eller någon annan mobilplattform. Vad jag vill betona är den effekt som adopteringsgraden har på applikationsekosystemet för dessa plattformar. De långsammare användarna antar en ny version av ett operativsystem, de längre utvecklarna tvingas stödja äldre versioner av operativsystemet och det blir mindre tilltalande att anta ny teknik, som bara kan användas på en bråkdel av Android-enheterna.

monetarisering

Även om Android är ikapp är iOS fortfarande den överlägset bästa plattformen när det gäller monetisering. Under Apples senaste händelse meddelade Tim Cook att kunderna hade laddat ner mer än 60 miljarder applikationer och att Apple hade betalat mer än 13 miljarder dollar till iOS-utvecklare. I september 2013 meddelade Tim Cook under Apples årliga iPhone-händelse att företaget hade sålt mer än 700 miljoner iOS-enheter. Om du funderar på att utveckla för en mobil plattform, är iOS ett utmärkt val och det ekonomiska sannolikheten för att göra det är osannolikt att det ändras när som helst.


Varför Native?

Om du är en frekvent läsare av Envato Tuts +, kanske du har hört talas om plattformsramar som PhoneGap eller Titanium Mobile. Du kanske undrar varför du borde gå igenom problemet med att lära sig Objective-C när du kan skapa iOS-program med JavaScript. Låt mig ge dig en kort sammanfattning av dina alternativ om du väljer att utveckla iOS-applikationer.

  • Webapplikationer: En webbapplikation är ditt första alternativ och det var faktiskt det enda alternativet innan introduktionen av den inbyggda iOS SDK 2008 startades. Uppsatsen av webbapplikationer är att de inte behöver hantera App Store eller Apples granskningsprocess. Varför är det så? En webbapplikation är ett fint namn för en webbplats som fungerar och beter sig som en applikation. Allt du behöver är en webbläsare, till exempel Mobile Safari eller Google Chrome.
    Webapplikationer har tydliga fördelar. De är standardplattform som standard eftersom applikationen körs i en webbläsare. En annan fördel är inlärningskurvan för att skapa webbapplikationer. Om du är bekant med webbutveckling, kommer du att vara igång på nolltid.
    Naturligtvis kan inte nackdelarna med webbapplikationer ignoreras heller. En webbapplikation har begränsad tillgång till kapaciteten hos de enheter som de körs på. Mobila webbapplikationer är ganska kraftfulla tack vare HTML5 och JavaScript. Men det finns olika begränsningar vad gäller vad de kan göra. Du kommer inte kunna använda alla de coola funktionerna på iPad och iPhone. Även webapplikationer kräver vanligtvis en nätverksanslutning för att fungera, även om det finns undantag från denna regel. Men kanske den största nackdelen att uteslutande bygga webbapplikationer är att de i allmänhet kommer att känna sig betydligt långsammare än inhemska applikationer. Svaren på webbapplikationer förbättras ständigt, men den ärftliga fördröjningen som läggs till av webbläsaren bör inte förbises eller ignoreras.
  • Mobile Cross-Platform Frameworks: Löftet om en plattforms ramverk är att utvecklare kan skriva ett program som kan distribueras till flera mobila enheter från en enda kodbas. Detta uppnås med ett antal olika tillvägagångssätt. Vissa ramar, som PhoneGap, använder plattformens inbyggda SDK för att skapa en webbvy där programmet är inbäddat. Precis som med webbapplikationer innebär detta begränsningar vad gäller funktionalitet. Den främsta fördelen är att applikationen känns som en inbyggd applikation när det gäller användarupplevelse och att den kan distribueras via plattformens butik.
    Även om mobila utvecklingsramar kan verka som den heliga graden för mobil utveckling, finns det ett antal negativ som måste övervägas. Den viktigaste nackdelen är att din ansökan beror på en tredje parts ram. Med andra ord blir hela din kodbas beroende av det företag som tillhandahåller plattformslösningen. Om det företaget går sönder eller är sakta att genomföra ändringar som gjorts till den inbyggda SDK-enheten, kan du bli tvungen att börja om från början. Det är en risk som inte bör ignoreras.
  • iOS SDK: Att välja att utveckla med den inbyggda SDK är det bästa valet om du vill skapa applikationer som stannar ut och utnyttja enhetens kapacitet. Valet för en inbyggd applikation innebär också att du kommer att arbeta i en robust utvecklingsmiljö och att du kan lita på Apples utvecklingsverktyg, verktyg och support.

iOS ekosystem

En av de mest tilltalande aspekterna av IOS-ekosystemet är dess enkelhet. Listan över enheter som kan köra iOS är överraskande kort jämfört med Android eller Windows Phone. Det betyder att testa iOS-applikationer är mycket mindre besvärlig jämfört med andra plattformar.

Som sagt tidigare har Android överträffat iOS när det gäller marknadsandel, men det här är bara en del av historien. IOS-plattformen står för mer än 50% av webbanvändningen på mobila enheter. Vad berättar detta om mobilutrymmet? Det berättar för oss att iOS är det mest använda operativsystemet i mobilutrymmet, åtminstone online, och detta trots Android: s högre marknadsandel.

enheter

Det finns i huvudsak två enheter i IOS-ekosystemet: iPhone-enheten, som även innehåller iPod Touch och iPad-enheten. För en fullständig översikt rekommenderar jag att du tittar på den här listan.

De primära skillnaderna i iPhone-enhetsfamiljen är hårdvarukapacitet och skärmstorlek. IPhone 5, 5S, 5C och 5: e generationens iPod Touch har alla en större 4-tums skärm, medan de tidigare modellerna levereras med den mer kända 3,5-tumsskärmen. Skillnaden i skärmstorlek påverkar utvecklingen, men den lägger inte till mycket förhöjning för de flesta applikationer. Jag kommer att prata mer om detta under serien.

I 2012 utvidgades iPad-familjen med introduktionen av iPad Mini. Även om introduktionen av iPad Mini orsakade en krusning i teknikindustrin, har den liten inverkan för iOS-utvecklare. Skärmen på iPad Mini är betydligt mindre än den för 10 "iPad och iPad Air, men upplösningen är identisk med upplösningen på 10" iPads. På grund av iPad Minis mindre skärm är den genomsnittliga storleken på beröringsmålen mindre och det kan innebära ett problem för vissa befintliga applikationer.

iOS

Apple släpper traditionellt en ny version av sitt mobila operativsystem varje år. Hittills har Apple släppt sju stora versioner av sitt mobila operativsystem där den senaste versionen är iOS 7. Enhetsstöd är en aspekt av IOS som folk ofta förbiser. Ta till exempel iPhone 4. IPhone 4 släpptes 2010 och är fortfarande kapabel att köra iOS 7. Det finns ingen mobil plattform som kommer till och med nära detta när det gäller enhetstöd.

App Store

En av de viktigaste orsakerna till att utveckla för iOS-plattformen är App Store. Försäljning av programvara har aldrig varit enklare tack vare både App Store och Mac App Store. Apple meddelade nyligen att App Store har överträffat milstolpen på 1 miljon applikationer. Det blir lite trångt i App Store, men tänk på att antalet iOS-enheter fortsätter att växa exponentiellt.

Mobilutrymmet är fortfarande i sin linda och det finns fortfarande så mycket potential som väntar på att bli avslöjad. Precis som om det var på nätet i slutet av nittiotalet fortsätter mobilutrymmet att växa i snabb takt och hur mycket pengar som kan skapas ökar med varje ny smartphone eller tablett som säljs.


Slutsats

Du har nu en tydlig bild av iOS-ekosystemet och jag hoppas att jag kunde övertyga dig om att komma igång med iOS-utveckling. I nästa inlägg kommer jag att visa dig hur du kommer igång med den inbyggda SDK genom att skapa utvecklingsmiljön. Du kommer bli förvånad över hur lätt det här är.

Extra resurser

Om du är ny på iOS-utveckling eller mobilutveckling i allmänhet kan du vara intresserad av att kolla in vår App Development-sida i Envato Studio.