Hvor skal du gå neste

Du har lært mye de siste fem ukene, gresshopper, og du kan til og med føle deg litt overveldet på dette punktet. Jeg vil gjerne gi deg noen råd og en mengde ressurser for å holde deg på rette spor for å bli en dyktig iOS-utvikler.

Ting å vurdere

Selv om 2007 virker som i går, har mobilområdet, og iOS i særdeleshet, vokst i et utrolig tempo. Det er vanskelig å forestille seg det mobile landskapet uten iPhone, iPad og iPod Touch. Som et resultat av iOS-plattformens bemerkelsesverdige vekst og popularitet, er det ingen mangel på bøker, videoer, kurs og blogger for å veilede deg på din søken etter å bli en dyktig iOS-utvikler.

Materialet som vi dekket i denne serien burde ha gitt deg en god forståelse av iOS-plattformen fra en utviklerperspektiv. Det første rådet jeg vil gi deg, er å fortsette å bygge iOS-applikasjoner. Ikke vent til du tror du vet nok for å begynne å skape det første virkelige iOS-programmet. Du vil lære mest ved å lage små applikasjoner og ved å finne løsninger på problemene du møter når du går. Til slutt handler programmering om å løse problemer. Jeg finner meg selv å lage flere applikasjoner hver uke. Dette betyr ikke at hver søknad er verdig til å publisere i App Store - tvert imot. Jeg begynner med å isolere et bestemt, godt definert problem som er en del av et større prosjekt. Jeg lager et nytt iOS-prosjekt som fokuserer på å løse det ene problemet. Når jeg har funnet og implementert en løsning på problemet, forbereder jeg løsningen ved flere trinn av refactoring for å forberede den til integrering i det større prosjektet. Samtidig har jeg opprettet en gjenbrukbar komponent til senere bruk. Ved å fokusere på gjenbrukbarhet, er det mindre sannsynlig at du skriver spaghettikode og mer sannsynlig å spare deg tid på fremtidige prosjekter.

Denne tilnærmingen er også flott for å utforske nye rammer eller for å prøve ut et nytt åpen kildebibliotek som du snublet over. I løpet av denne serien har vi opprettet en rekke iOS-prosjekter. Med hvert nytt prosjekt lærte vi noe nytt, og underveis har vi blitt mer og mer kjent med Xcode. Bli kjent med utviklingsmiljøet ditt er et annet viktig element i IOS-utviklingen.

Mitt andre råd er å unngå å kopiere og lime inn kodestykker som du finner på nettet. Med mindre du forstår utklippene du kopierer, vil du ikke dra nytte av det i det lange løp. Visst, det kan midlertidig løse et problem du sliter med, men ved å bruke tilfeldige kodestykker du ikke forstår, vil du bygge opp teknisk gjeld. Dette betyr ikke at du ikke bør inkludere velholdte biblioteker i prosjektene dine, for eksempel AFNetworking eller Magical Record. Det betyr heller ikke at du bør vite alle implementeringsdetaljer for slike biblioteker. Hvis du står overfor et problem som du kan løse deg selv ved å tilbringe en eller to timer, kodes opp en løsning, så er det tid brukt godt. Programvareutvikling handler ikke bare om fart og resultater. På personlig nivå handler programvareutvikling om å bli bedre på det du gjør, programmering, og du blir ikke en bedre programmerer ved å kopiere og lime koden du ikke forstår fullt ut. Det er ingen snarveier til å bli en stor programmerer.

Envato Tuts+

Før jeg dykker inn i listen over nyttige ressurser, vil jeg nevne at Envato Tuts + har eksistert i mange år og har bygget opp en imponerende samling av opplæringsveiledninger av høy kvalitet på IOS-utvikling. Nær 200 opplæringsprogrammer på Tuts + er spesielt rettet mot iOS-utvikling, alt fra nybegynnere til avanserte emner.

Hvor finner du hjelp?

Apple Developer Forums

Hvis du er en registrert iOS-utvikler, har du tilgang til Apple Developer Forums. Ikke bare er Apple Developer Forums aktiv og fylt med utviklere som kjenner sine ting, rammer og DTS (Developer Technical Support) ingeniører vedlikeholder og overvåker forumene, som noen ganger kan spare dagen - eller spare deg en dag.

Google til redning ... eller er det Stack Overflow?

Når du finner deg selv ved hjelp av Google for å finne et svar på et programmeringsspørsmål eller en løsning på et problem du har, er sjansen for at Google vil peke deg på Stack Overflow. Det er rimelig å si at Stack Overflow revolusjonerte programvareutvikling og utviklerfellesskapet. Stack Overflow er et flott sted å stille spørsmål, men også å gi tilbake til samfunnet ved å hjelpe andre. Uansett hvilket språk du jobber med eller hvilken plattform du utvikler programvare for, er sjansen for at Stack Overflow har et levende samfunn sentrert rundt dine interesser.

GitHub

I løpet av de siste årene har sosial koding blitt veldig populær og GitHub er sikkert en av drivkraften i denne trenden. Siden du er ny i iOS-utvikling, vil du sannsynligvis ikke kunne bidra til (iOS) åpen kildekodeprosjekt ennå. Men ingenting hindrer deg fra å utforske noen åpne kildeprosjekter og bla gjennom kildekoden for å se hvordan enkelte ting kan gjøres. Hvis du vil fremskynde din læring ved å utforske kode skrevet av andre utviklere, er det nøkkelen til å velge et prosjekt som er godt vedlikeholdt og under aktiv utvikling.

bøker

C Programmering

En god forståelse av C-språket er viktig for alle kakaoutviklere, men du vil legge merke til at du kan komme langt ved kun å vite grunnleggende om C-språket. Etter hvert som tiden går, vil du møte stykker kode som du ikke forstår fullt ut med mindre du dykker dypere inn i C-språket. Den endelige veiledningen til å lære C er boken skrevet av Brian Kernighan og Dennis Ritchie, The C Programming Language. Som du kanskje husker fra artikkelen om å lære C, var Dennis Ritchie en av skaperne av C-språket. Hvilken bedre måte å lære C fra personen som bidro til å skape språket? En annen flott bok for å lære C er Lær C på Mac av Dave Mark.

Objective-C

Selv om Apple gir en omfattende guide til Objective-C-programmeringsspråket (Object Oriented Programming with Objective-C), finner jeg det ikke ideelt for folk som er nye for Objective-C og absolutt ikke for personer som er nye til C. En av de beste bøker om Objective-C er boken skrevet av Stephen Kochan, Programmering i Objective-C. Pass på å hente den nyeste utgaven, som også diskuterer Objective-C 2.0.

Også i notatet, i 2010 skrev Dan Walker en populær serie på Tuts + om å lære Objective-C. Hvis du vil utvide din kunnskap om Objective-C, oppfordrer jeg deg til å se på Dan's serie.

Flere bøker

Apress og O'Reilly Media er to utgivere som er kjent for å publisere høykvalitetsbøker på IOS-utvikling og utvikling generelt. To gode Apress-publikasjoner er begynnelsen av iOS 7-utvikling og mer iOS 6-utvikling. Begge publikasjonene oppdateres med hver ny versjon av IOS.

En av de første bøkene som er skrevet om kakaoutvikling er kakaoprogrammering for Mac OS X. Denne boken er skrevet og oppdatert av Aaron Hillegass, grunnleggeren av Big Nerd Ranch. Aaron er veldig kjent i Cocoa-samfunnet, og mange utviklere har lært kakaoutvikling gjennom sine bøker - inkludert meg selv.

videoer

WWDC

Apples World Wide Developer's Conference (WWDC) er høydepunktet for året for mange kakaoutviklere. Hver presentasjon gitt på WWDC er registrert og tilgjengelig neste dag til registrerte iOS- og Mac-utviklere. Samlingen av videoer går tilbake til WWDC 2010, så du har masse materiale å gå gjennom.

iTunes U

De siste årene har en rekke høyskoler og universiteter begynt å lære iOS-utvikling. Noen av disse kursene er tilgjengelige via Apples iTunes U-program gratis. Det mest kjente og lengste løpskurset er CS193p på Standford University. På Madison Area Technical College, Brad Larson lærer Avansert iPhone Development, som også dekker noen mer avanserte emner. Et annet kurs på iPhone-utviklingen er gitt av Jan Borchers ved Aachen University.

blogger

Det bør ikke overraske deg når jeg forteller deg at det er hundrevis om ikke tusenvis av blogger dedikert til iOS-utvikling. Jeg har oppført noen av mine favorittblogger nedenfor, men det er mye mer for deg å oppdage.

  • Jeff LaMarcheblogg er en av de lengre kjører bloggene om kakao utvikling som jeg kjenner til. Jeff har skrevet flere bøker om IOS-utvikling og vet virkelig hans ting.
  • Kakao med kjærlighet er en blogg vedlikeholdt av Matt Gallagher. Jeg ville ikke ringe Matts innlegg lett lesing på noen måte. De fleste av artiklene han skriver er dybde, fylt med informasjon, og veldig godt skrevet.
  • Kakao er kjæresten min er en annen kilde til store, grundige artikler. Forfatterne av kakao er kjæresten min er Marcus Zarra, Matt Long, Fraser Hess, og Saul Mora (skaperen av Magical Record).
  • Selv om Mike Ashbloggen er ikke den peneste bloggen på nettet, den er fullpakket med stort innhold. Hans fredag ​​Q & A artikler spesielt er en glede å lese.
  • Bloggen til Ole Begemann gir ferske og godt skrevet artikler om iOS-utvikling og relaterte emner.
  • NSHipster er en yngre blogg vedlikeholdt av Mattt Thompson. Mattt jobber for tiden på Panic og er en av skaperne av AFNetworking. NSHipster's tagline leser "... en oversikt over de oversett biter i Objective-C og Cocoa ...", som oppsummerer innholdet på NSHipster veldig bra.

nyhetsbrev

Ikke for lenge siden startet Dave Verwer iOS Dev Weekly, en ukentlig nyhetsbrev om iOS-utvikling. Hvis du vil motta en nøye kurert liste over koblinger relatert til iOS-utvikling, så kan jeg sterkt anbefale Daves nyhetsbrev. Nevnte jeg at det er gratis?

Hvem man skal følge?

Twitter er et utmerket medium for å holde seg oppdatert om iOS og OS X-utvikling. Jeg har samlet en kort liste over personer i twittersphere som du kanskje vil følge.

  • Matt Gemmell
  • Aaron Hillegass
  • Steve Scott
  • Matt Gallagher
  • Michael Jurewitz
  • Dave Mark
  • Marco Arment
  • Wil Shipley
  • Fraser Speirs
  • Daniel Jalkut
  • Manton Reece
  • Mattt Thompson
  • Mike Lee
  • Craig Hockenberry

Til slutt kan du følge meg på Twitter også. Ikke nøl med å pinge meg hvis du har et spørsmål, eller hvis du bare vil si hei.

Konklusjon

Jeg håper du har hatt denne serien på iOS-utvikling så mye som jeg har hatt glede av å sette den sammen. Hvis du har noen spørsmål, ikke nøl med å legge igjen en kommentar eller ping meg på Twitter. Forslag til fremtidige emner kan også bli igjen i kommentarene.