Forstå IOS Ecosystem

Før du begynner å bygge IOS-applikasjoner, er det avgjørende at du forstår økosystemet først. Denne artikkelen vil undersøke grunnleggende iOS-operativsystemet, de forskjellige iOS-enhetene som er tilgjengelige, og Apples App Store.


Hvorfor iOS?

Før ankomsten av Android og Windows Phone var Apple den dominerende spilleren i mobilrommet, rivalert bare av Nokia og BlackBerry. Med fremveksten av nye mobilplattformer har det blitt stadig viktigere å spørre deg selv hvilken plattform som passer best for deg. Til tross for Apples start i 2007 har Android overgått iOS i markedsandeler. Hva betyr det for iOS? Er det fortsatt en plattform verdt å utvikle for? Det er sikkert. Det er mange gode grunner til å komme i gang med iOS-utvikling.

  • Sterke finansielle insentiver: Folk bruker mer penger på Apples App Store enn på en hvilken som helst mobil plattform. Til tross for at Android har blitt den dominerende spilleren i mobilrommet, forblir iOS-plattformen mer lukrativ for utviklere.
  • Inngjerdet hage: Selv om Apples App Store har fått mye kritikk fra utviklere og kunder, spesielt Apples gjennomgangsprosess, er det klart at denne policyen har ført til en App Store der kvaliteten på gjennomsnittlig søknad er høyere enn i hvilken som helst annen mobilbutikk. Kunder har også en tendens til å føle seg mye tryggere når de kjøper programmer fra App Store, enn de gjør på andre åpen plattformer, for eksempel Google Play.
  • Fellesskap og støtte: IOS-utviklerfellesskapet er et flott samfunn for å være en del av. Det er nesten ubegrenset tilgang til artikler, veiledninger og dokumentasjon for å hjelpe deg når du finner deg selv fast med et problem. I tillegg er Apples dokumentasjon av iOS SDK fantastisk, for ikke å nevne hundrevis av WWDC (World Wide Developer Conference) videoer tilgjengelig for alle registrerte iOS-utviklere.

Folk glemmer ofte eller ikke vet at Android og iOS er svært forskjellige plattformer. Selv om begge plattformene ble designet for mobilrommet, varierer iOS-økosystemet i mange henseender fra Googles Android-økosystem. Fra et utviklingsperspektiv synes de fleste å finne det enklere å utvikle for iOS-plattformen enn for Android-plattformen. Ikke misforstå meg, jeg refererer ikke til teknologistakken som hver plattform bruker, og jeg refererer ikke til tilgjengelige verktøy for hver plattform. To grunner er grunnlaget for kløften mellom iOS og Android, fragmentering og adopsjonsrate.

Fragmentering

En av Android's kjernestyrker er samtidig en av sine viktigste svakheter. Som de fleste av dere vet, blir Android-operativsystemet utgitt som et åpen kildekode-prosjekt og kan derfor brukes og modifiseres. Tallrike maskinvareprodusenter så potensialet til Android, spesielt siden det ble støttet av Google. Android raskt oppnådd i popularitet som et resultat. Problemet er at hver maskinvareprodusent har modifisert Android for å dekke deres behov, og et bredt spekter av formfaktorer har oppstått siden Android-introduksjonen.

Selv om Android's markedsandel kan virke som en stor krukke med honning, er det en smerte å lage programvare som kjører på hver Android-versjon som er tilgjengelig for øyeblikket. På grunn av tusenvis av forskjellige enheter som kjører Android, er testprogramvare på maskinvare heller ingen triviell oppgave. Som du kan forestille deg, blir støtte og kompatibilitet en reell utfordring.

Vedtakshastighet

Tradisjonelt, i mange land, er det trådløse markedet i tett kontroll av mobiloperatører. Fra begynnelsen visste Apple at det trengte å være i kontroll over sine mobile enheter for å gi den beste brukeropplevelsen mulig. Resultatet er at kundene kan oppgradere deres iOS-enheter til den nyeste versjonen av iOS samme dag den er utgitt for allmennheten. Dette er en stor fordel med iOS-plattformen, og resultatet er betydelig. Mindre enn tre måneder etter utgivelsen av iOS 7, var over 74% av iOS-enhetene oppgradert til iOS 7.

La oss sammenligne dette med Android. I desember 2013 hadde mindre enn 55% av Android-brukere oppgradert sine enheter til Jelly Bean (utgitt i juli 2012) og 1,1% hadde oppgradert til KitKat (utgitt i oktober 2013).

Årsaken til å ta opp disse tallene er ikke å nedlegge Android-plattformen eller andre mobile plattformer. Det jeg vil understreke, er virkningen adopsjonsraten har på programøkosystemet til disse plattformene. De langsommere brukerne vedtar en ny versjon av et operativsystem, jo ​​lenger utviklere er tvunget til å støtte eldre versjoner av operativsystemet, og det blir mindre tiltalende å vedta ny teknologi, som bare kan brukes på en brøkdel av Android-enhetene.

inntjenings

Selv om Android er i ferd med å komme seg, er iOS fortsatt den aller beste plattformen når det gjelder inntektsgenerering. Under Apples siste hendelse annonserte Tim Cook at kundene hadde lastet ned mer enn 60 milliarder applikasjoner, og at Apple hadde betalt mer enn 13 milliarder dollar til iOS-utviklere. I september 2013, under Apples årlige iPhone-begivenhet, annonserte Tim Cook at selskapet hadde solgt mer enn 700 millioner iOS-enheter. Hvis du tenker på å utvikle for en mobil plattform, så er iOS et utmerket valg, og det økonomiske anslaget for å gjøre det er ikke sannsynlig å endre når som helst.


Hvorfor Native?

Hvis du er en hyppig leser av Envato Tuts +, kan du ha hørt om kryssplattformsrammer som PhoneGap eller Titanium Mobile. Du lurer kanskje på hvorfor du bør gå gjennom trøbbel med å lære Objective-C når du kan lage iOS-programmer ved hjelp av JavaScript. La meg gi deg en kort oversikt over alternativene dine hvis du bestemmer deg for å utvikle iOS-applikasjoner.

  • Web-applikasjoner: En webapplikasjon er ditt første alternativ, og dette var faktisk det eneste alternativet før introduksjonen av den native iOS SDK i 2008. Oppsiden av webapplikasjoner er at de ikke trenger å håndtere App Store eller Apples gjennomgangsprosess. Hvorfor det? En webapplikasjon er et fancy navn for et nettsted som fungerer og oppfører seg som et program. Alt du trenger er en nettleser, for eksempel Mobile Safari eller Google Chrome.
    Webapplikasjoner har klare fordeler. De er kryssplattform som standard siden applikasjonen kjører i en nettleser. En annen fordel er læringskurven for å lage webapplikasjoner. Hvis du er kjent med webutvikling, vil du være oppe på et øyeblikk.
    Selvfølgelig kan ulemper ved webapplikasjoner heller ikke ignoreres. En webapplikasjon har begrenset tilgang til evnen til enhetene de kjører på. Mobil webapplikasjoner er ganske kraftige takket være HTML5 og JavaScript. Det er imidlertid forskjellige begrensninger når det gjelder hva de kan gjøre. Du vil ikke kunne bruke alle de kule funksjonene til iPad og iPhone. I tillegg krever webapplikasjoner vanligvis en nettverkstilkobling til arbeid, selv om det er unntak fra denne regelen. Imidlertid er kanskje den største ulempen å utelukkende bygge webapplikasjoner at de generelt vil føle seg betydelig langsommere enn innfødte applikasjoner. Responsen til webappene forbedres stadig, men den arvelige forsinkelsen som ble lagt til av nettleseren, bør ikke overses eller ignoreres.
  • Mobile Cross-Platform Framework: Løftet om et korsplattformsramme er at utviklere kan skrive et program som kan distribueres til flere mobile enheter fra en enkelt kodebase. Dette oppnås med en rekke forskjellige tilnærminger. Noen rammer, som PhoneGap, bruker den innfødte SDK på plattformen for å lage en webvisning der applikasjonen er innebygd. Som med webapplikasjoner pålegger dette begrensninger når det gjelder funksjonalitet. Den primære fordelen er at applikasjonen føles som en opprinnelig applikasjon når det gjelder brukeropplevelse, og at den kan distribueres gjennom plattformens butikk.
    Selv om mobilutviklingsrammer kan virke som den hellige gral for mobilutvikling, er det en rekke ulemper som må vurderes. Den viktigste ulempen er at søknaden din er avhengig av en tredjeparts rammeverk. Med andre ord blir hele koden din avhengig av firmaet som tilbyr plattformløsningen. Hvis det selskapet går tapt eller er sakte å implementere endringer som er gjort til det innfødte SDK, kan du bli tvunget til å starte over fra begynnelsen. Det er en risiko som ikke bør ignoreres.
  • iOS SDK: Å velge å utvikle med den innfødte SDK er det beste valget hvis du vil lage programmer som skiller seg ut og utnytter enhetens evner. Å velge en innfødt applikasjon betyr også at du vil jobbe i et robust utviklingsmiljø, og at du kan stole på Apples utviklingsverktøy, verktøy og støtte.

iOS økosystem

En av de mest tiltalende aspektene av IOS økosystemet er dens enkelhet. Listen over enheter som kan kjøre iOS, er overraskende kort når de sammenlignes med Android eller Windows Phone. Dette betyr at testing av iOS-programmer er mye mindre tungvint sammenlignet med andre plattformer.

Som nevnt tidligere har Android overgått iOS når det gjelder markedsandeler, men dette er bare en del av historien. IOS-plattformen står for mer enn 50% av nettbruken på mobilenheter. Hva forteller dette om mobilplassen? Det forteller oss at iOS er det mest brukte operativsystemet i mobilområdet, i hvert fall på nettet, og dette til tross for Androids høyere markedsandel.

enheter

Det er i hovedsak to enheter i IOS-økosystemet: iPhone-enheten, som også inkluderer iPod Touch og iPad-enheten. For en fullstendig oversikt, anbefaler jeg at du tar en titt på denne listen.

De primære forskjellene i iPhone-enhetsfamilien er maskinvarefunksjoner og skjermstørrelse. IPhone 5, 5S, 5C og 5. generasjon iPod Touch har alle en større 4-tommers skjerm, mens de tidligere modellene kommer med den mer kjente 3,5-tommers skjermen. Forskjellen i skjermstørrelse påvirker utviklingen, men det legger ikke til mye overhead for de fleste applikasjoner. Jeg vil snakke mer om dette i løpet av serien.

I 2012 ble iPad-familien utvidet med innføringen av iPad Mini. Selv om innføringen av iPad Mini forårsaket en krusning i teknologibransjen, har den liten betydning for iOS-utviklere. Skjermen på iPad Mini er betydelig mindre enn den på 10 "iPad og iPad Air, men oppløsningen er identisk med oppløsningen på 10" iPads. På grunn av iPad Minis mindre skjerm er gjennomsnittsstørrelsen på berøringsmålene mindre, og dette kan utgjøre et problem for noen eksisterende applikasjoner.

iOS

Apple leverer tradisjonelt en ny versjon av sitt mobile operativsystem hvert år. Til dags dato har Apple utgitt syv hovedversjoner av sitt mobile operativsystem med den nyeste versjonen som er iOS 7. Enhetsstøtte er et aspekt av IOS som folk ofte overser. Ta iPhone 4, for eksempel. IPhone 4 ble utgitt i 2010 og er fortsatt i stand til å kjøre iOS 7. Det er ingen mobil plattform som kommer like nær dette når det gjelder enhetstøtte.

App Store

En av de viktigste grunnene til å utvikle for iOS-plattformen er den utrolige suksessen til App Store. Selger programvare har aldri vært enklere takket være både App Store og Mac App Store. Apple annonserte nylig at App Store har overgått milepælen på 1 million applikasjoner. Det blir litt overfylt i App Store, men husk at antall iOS-enheter også fortsetter å vokse eksponentielt.

Mobilplassen er fortsatt i sin barndom, og det er fortsatt så mye potensial som venter på å bli avdekket. På samme måte som det var på nettet i slutten av nittitallet, vil mobilplassen fortsette å vokse raskt, og mengden penger som kan gjøres øker med hver ny smarttelefon eller nettbrett som selges.


Konklusjon

Du har nå et klart bilde av iOS-økosystemet, og jeg håper at jeg kunne overbevise deg om å komme i gang med iOS-utviklingen. I neste innlegg vil jeg vise deg hvordan du kommer i gang med det innfødte SDK ved å sette opp utviklingsmiljøet. Du vil bli overrasket over hvor lett dette er.

Ekstra ressurser

Hvis du er ny på iOS-utvikling eller mobilutvikling generelt, kan du være interessert i å sjekke ut vår App Development-side i Envato Studio.