Where To Go Next

Je hebt de afgelopen vijf weken veel geleerd, sprinkhaan, en je kunt je op dit moment zelfs een beetje overweldigd voelen. Ik zou je graag willen verlaten met wat advies en een heleboel middelen om je op het goede spoor te houden en een bekwame iOS-ontwikkelaar te worden.

Dingen om te overwegen

Hoewel 2007 lijkt gisteren, is de mobiele ruimte, en iOS in het bijzonder, ongelooflijk snel gegroeid. Het is moeilijk om het mobiele landschap voor te stellen zonder de iPhone, iPad en iPod Touch. Als gevolg van de opmerkelijke groei en populariteit van het iOS-platform, is er geen tekort aan boeken, video's, cursussen en blogs om je te begeleiden tijdens je zoektocht om een ​​bekwame iOS-ontwikkelaar te worden.

Het materiaal dat we in deze serie hebben behandeld, zou je een goed begrip van het iOS-platform moeten geven vanuit het perspectief van een ontwikkelaar. Het eerste advies dat ik u zou willen geven, is doorgaan met het bouwen van iOS-applicaties. Wacht niet tot je denkt dat je genoeg weet om te beginnen met het maken van die eerste echte iOS-applicatie. Je leert het meest door kleine applicaties te maken en oplossingen te vinden voor de problemen die je onderweg tegenkomt. Uiteindelijk gaat het bij het programmeren allemaal om het oplossen van problemen. Ik merk dat ik elke week verschillende applicaties maak. Dit betekent niet dat elke applicatie publicatie verdient in de App Store, integendeel. Ik begin met het isoleren van een specifiek, duidelijk gedefinieerd probleem dat deel uitmaakt van een groter project. Vervolgens maak ik een nieuw iOS-project dat gericht is op het oplossen van dat ene probleem. Wanneer ik een oplossing voor het probleem heb gevonden en geïmplementeerd, verfijn ik de oplossing met verschillende stappen van refactoring om hem voor te bereiden op integratie in het grotere project. Tegelijkertijd heb ik een herbruikbare component gemaakt voor later gebruik. Door je te richten op herbruikbaarheid, schrijf je minder vaak spaghetti-code en ben je sneller geneigd tijd te besparen op toekomstige projecten.

Deze aanpak is ook geweldig voor het verkennen van nieuwe frameworks of voor het uitproberen van een nieuwe open source-bibliotheek waarvan je bent gestuit. Tijdens deze serie hebben we een aantal iOS-projecten gemaakt. Bij elk nieuw project hebben we iets nieuws geleerd en zijn we ondertussen steeds meer vertrouwd geraakt met Xcode. Vertrouwd raken met uw ontwikkelomgeving is een ander belangrijk element van iOS-ontwikkeling.

Mijn tweede advies is om te voorkomen dat u codefragmenten kopieert en plakt die u op internet vindt. Tenzij u de fragmenten begrijpt die u aan het kopiëren bent, zult u er op lange termijn geen baat bij hebben. Natuurlijk kan het een probleem waarmee je worstelt tijdelijk oplossen, maar door willekeurige codefragmenten te gebruiken die je niet begrijpt, bouw je technische schulden op. Dit betekent niet dat u geen goed onderhouden bibliotheken in uw projecten moet opnemen, zoals AFNetworking of Magical Record. Het betekent ook niet dat u elk implementatiedetail van dergelijke bibliotheken zou moeten kennen. Als je een probleem tegenkomt dat je zelf kunt oplossen door een of twee uur te besteden aan het coderen van een oplossing, dan is dat goed besteed. Softwareontwikkeling gaat niet alleen over snelheid en het leveren van resultaten. Op persoonlijk niveau gaat softwareontwikkeling over beter worden in wat je doet, programmeren, en je wordt geen betere programmeur door stukjes code te kopiëren en te plakken die je niet volledig begrijpt. Er zijn geen snelkoppelingen om een ​​geweldige programmeur te worden.

Envato Tuts+

Voordat ik een duik neem in de lijst met nuttige bronnen, wil ik vermelden dat Envato Tuts + al vele jaren bestaat en een indrukwekkende verzameling hoogwaardige tutorials over de ontwikkeling van iOS heeft opgebouwd. Bijna 200 tutorials op Tuts + zijn specifiek gericht op de ontwikkeling van iOS, gaande van beginners tot geavanceerde onderwerpen.

Waar kan ik hulp vinden??

Apple Developer Forums

Als u een geregistreerde iOS-ontwikkelaar bent, heeft u toegang tot de Apple Developer Forums. Niet alleen zijn de Apple Developer-forums actief en zijn ze gevuld met ontwikkelaars die weten dat hun personeel, framework en DTS-technici (Developer Technical Support) de forums onderhouden en controleren, wat soms uw dag kan redden - of u een dag kunt besparen.

Google to the Rescue ... of is het Stack Overflow?

Wanneer u merkt dat u Google gebruikt om een ​​antwoord te vinden op een programmeervraag of een oplossing voor een probleem dat u ondervindt, is de kans groot dat Google u naar Stack Overflow verwijst. Het is redelijk om te zeggen dat Stack Overflow een revolutie heeft teweeggebracht in de ontwikkeling van software en de gemeenschap van ontwikkelaars. Stack Overflow is een geweldige plek om vragen te stellen, maar ook om terug te geven aan de gemeenschap door anderen te helpen. Ongeacht met welke taal u werkt of op welk platform u software ontwikkelt, de kans is groot dat Stack Overflow een levendige community heeft rond uw interesses.

GitHub

In de afgelopen paar jaar is sociale codering erg populair geworden en GitHub is zeker een van de drijvende krachten achter deze trend. Omdat je nieuw bent bij iOS-ontwikkeling, kun je waarschijnlijk nog geen bijdrage leveren aan (iOS) open source-projecten. Niets weerhoudt je echter om een ​​aantal open source-projecten te verkennen en door hun broncode te bladeren om te zien hoe bepaalde dingen kunnen worden gedaan. Als u uw leren wilt versnellen door code te onderzoeken die is geschreven door andere ontwikkelaars, is het essentieel om een ​​project te kiezen dat goed is onderhouden en in actieve ontwikkeling is..

Boeken

C Programmeren

Een goed begrip van de C-taal is belangrijk voor elke Cocoa-ontwikkelaar, maar u zult merken dat u een lange weg kunt afleggen door alleen de basiskennis van de C-taal te kennen. Naarmate de tijd verstrijkt, zul je stukjes code tegenkomen die je niet volledig begrijpt, tenzij je dieper in de C-taal duikt. De definitieve gids voor het leren van C is het boek geschreven door Brian Kernighan en Dennis Ritchie, The C Programming Language. Zoals je je wellicht herinnert uit het artikel over het leren van C, was Dennis Ritchie een van de makers van de C-taal. Welke betere manier om C te leren van de persoon die de taal heeft helpen maken? Een ander geweldig boek om te leren C is Leer C op de Mac door Dave Mark.

Doelstelling C

Hoewel Apple een uitgebreide handleiding biedt voor de programmeertaal Objective-C (Object-Oriented Programming met Objective-C), vind ik het niet ideaal voor mensen die nieuw zijn voor Objective-C en zeker niet voor mensen die nog niet bekend zijn met C. Een van de beste boeken over Objective-C is het boek geschreven door Stephen Kochan, Programming in Objective-C. Zorg ervoor dat je de meest recente editie oppikt, die ook Objective-C 2.0 bespreekt.

Ook van belang, in 2010 schreef Dan Walker een populaire serie over Tuts + over het leren van Objective-C. Als je je kennis van Objective-C wilt uitbreiden, moedig ik je aan om de serie van Dan te bekijken.

Meer boeken

Apress en O'Reilly Media zijn twee uitgevers die bekend staan ​​om het publiceren van boeken van hoge kwaliteit over de ontwikkeling en ontwikkeling van iOS in het algemeen. Twee uitstekende Apress-publicaties beginnen met de ontwikkeling van iOS 7 en meer iOS 6-ontwikkeling. Beide publicaties worden bijgewerkt met elke nieuwe versie van iOS.

Een van de eerste boeken ooit geschreven over de ontwikkeling van Cocoa is Cocoa Programming voor Mac OS X. Dit boek is geschreven en bijgewerkt door Aaron Hillegass, de oprichter van Big Nerd Ranch. Aaron is zeer bekend in de Cocoa-gemeenschap en veel ontwikkelaars hebben de ontwikkeling van cacao geleerd via zijn boeken - waaronder ikzelf.

Videos

WWDC

Apple's World Wide Developer's Conference (WWDC) is voor veel Cocoa-ontwikkelaars het hoogtepunt van het jaar. Elke presentatie die op WWDC wordt gegeven, wordt de volgende dag opgenomen en is beschikbaar voor geregistreerde iOS- en Mac-ontwikkelaars. De verzameling video's gaat terug naar WWDC 2010, zodat je voldoende materiaal hebt om door te nemen.

iTunes U

De afgelopen jaren zijn een aantal hogescholen en universiteiten begonnen met het onderwijzen van iOS-ontwikkeling. Sommige van deze cursussen zijn gratis beschikbaar via het iTunes U-programma van Apple. De bekendste en langstlopende cursus is CS193p aan de Standford University. Op Madison Area Technical College, geeft Brad Larson les in geavanceerde iPhone-ontwikkeling, die ook enkele meer geavanceerde onderwerpen behandelt. Een andere cursus over iPhone-ontwikkeling wordt gegeven door Jan Borchers aan de Universiteit van Aken.

blogs

Het zou je niet moeten verbazen als ik je vertel dat er honderden, zo niet duizenden, blogs zijn gewijd aan iOS-ontwikkeling. Ik heb hieronder enkele van mijn favoriete blogs opgesomd, maar er zijn er nog veel meer die je kunt ontdekken.

  • Jeff LaMarche's blog is een van de langer lopende blogs over Cocoa-ontwikkeling die ik ken. Jeff heeft verschillende boeken geschreven over de ontwikkeling van iOS en kent zijn spullen echt.
  • Cacao met liefde is een blog onderhouden door Matt Gallagher. Ik zou de berichten van Matt op geen enkele manier licht lezen noemen. De meeste artikelen die hij schrijft zijn diepgaand, vol met informatie en zeer goed geschreven.
  • Cocoa Is My Girlfriend is een andere bron van geweldige, diepgaande artikelen. De schrijvers van Cocoa Is My Girlfriend zijn Marcus Zarra, Matt Long, Fraser Hess en Saul Mora (maker van Magical Record).
  • Hoewel Mike Ash's blog is niet de mooiste blog op internet, het zit vol met geweldige inhoud. Vooral zijn Friday Q & A-artikelen zijn een plezier om te lezen.
  • De blog van Ole Begemann biedt frisse en goed geschreven artikelen over iOS-ontwikkeling en aanverwante onderwerpen.
  • NSHipster is een jongere blog onderhouden door Mattt Thompson. Mattt werkt momenteel bij Panic en is een van de makers van AFNetworking. De slogan van NSHipster luidt: "... een dagboek van de over het hoofd geziene stukjes in Objective-C en Cocoa ...", die de inhoud van NSHipster zeer goed samenvat.

nieuwsbrieven

Nog niet zo lang geleden begon Dave Verwer met iOS Dev Weekly, een wekelijkse nieuwsbrief over de ontwikkeling van iOS. Als u een zorgvuldig samengestelde lijst met links met betrekking tot iOS-ontwikkeling wilt ontvangen, dan kan ik Dave's nieuwsbrief ten zeerste aanbevelen. Had ik al gezegd dat het gratis is??

Wie te volgen?

Twitter is een uitstekend medium om up-to-date te blijven over de ontwikkeling van iOS en OS X. Ik heb een korte lijst samengesteld van mensen in de twitters die je misschien wilt volgen.

  • 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

Eindelijk, je kunt mij ook volgen op Twitter. Aarzel niet om me te pingen als je een vraag hebt of als je gewoon hoi wilt zeggen.

Conclusie

Ik hoop dat je deze serie over iOS-ontwikkeling net zo leuk vond als ik het leuk vond om het samen te stellen. Als je vragen hebt, aarzel dan niet om een ​​reactie achter te laten of me te pingen op Twitter. Suggesties voor toekomstige onderwerpen kunnen ook worden achtergelaten in de opmerkingen.