Jak se naučím vývoj iOS

Čas od času se mě lidé ptají, jak se naučit vývoj iOS. Tak jdeme.

Než začnete, buďte vážně o svém konečném cíli. Snažíte se prototypovat koncept, získat finanční prostředky a poté najmout někoho jiného, ​​kdo se s tím vypořádá? Jste „generál“, který se musí rychle dostat na rychlost. Mám dobré zprávy: Viděl jsem, jak lidé dodávají aplikace pouze za pár týdnů.

Ale moje rada není o optimalizaci pro váš první projekt. Přemýšlím více o dálkové dopravě. Už víte, jak programovat, a jste připraveni investovat spoustu času zvládnutím vývoje iOS.

Krok 1: Vyberte si něco, co si sami vytvoříte

Možná jsem zapojen jinak, ale nedokážu jen číst učebnici. Potřebuji kontext a praxi.

Když se učím jazyk, potřebuji k posílení poznámkový blok. Když jsem se učil Swift, zjistil jsem, že hřiště jsou neocenitelná.

Chcete-li se učit iOS od shora dolů, přijďte s malou aplikací, která škrábe svědění. Pokud vás to motivuje, může to být seznam úkolů, meditační aplikace nebo kontrola počasí. Naklonil bych se k něčemu více osobnímu. Hej, možná aplikace na pomoc rodičům v podnikání?

Krok 2: Studium jazyků

Než pochopíte platformu, znáte jazyky uvnitř i vně. Ano, jazyky jsou množné.

Zatímco Swift dosáhl kritického množství, je tam spousta kódu Objective-C. Nemusíte ovládat všechny podrobnosti jazyka, ale měli byste být schopni si jej přečíst. Denně jsem učil inženýry Objective-C. Je to malý jazyk.

Swift: Přečtěte si knihu Apple Swift Programming Language. Pokud se chcete rychle představit, podívejte se na Začínáme se Swiftem z každoroční vývojové konference společnosti Apple WWDC.

Cíl-C: Apple má bezplatného průvodce, který provede práci.

Nemohu použít [oblíbený jazyk]?

Existují nástroje třetích stran pro vytváření aplikací v JavaScriptu, C #, cokoli. Vyhněte se jim jako mor. Většina aplikací pro iPhone používá Swift a Objective-C. Všechny nástroje společnosti Apple jsou optimalizovány pro tyto jazyky. Když se váš alternativní jazyk zlomí z tajemných důvodů - a bude - jste sami.

Většinu času strávíte učením rámců Apple, ne syntaxí. Ukázky kódu pro tyto rámce budou ve Swift, takže se musíte Swift stejně naučit.

Krok 3: Přečtěte si průvodce společnosti Apple

O vývoji iOS není dostatek knih a návodů a scénářů třetích stran. Některé jsou dobré, jiné špatné a příliš mnoho se vás snaží prodat za něco, co nepotřebujete. Nejvyšší autoritou je Apple a rozdávají vynikající bezplatný obsah.

Přečtěte si Začněte vyvíjet aplikace pro iOS pomocí aplikace Swift. Pak si přečtěte každého průvodce v části „Kam jít odtud.“ Pak, pokud chcete slyšet téma s různým zněním, procházejte videa WWDC. Pak, pokud chcete jít do hloubky, přečtěte si dokumenty.

Pokud jsou dokumenty společnosti Apple příliš suché, weby jako NSHipster pokrývají mnoho témat pro začátečníky více neformálním tónem. Weby jako RayWenderlich.com pokrývají obsah ve formátu výuky. Objc.io má výborné hloubkové psaní, ale právě teď je pro vás pravděpodobně příliš pokročilé.

Jsou chvíle, kdy autoři třetích stran nesouhlasí s Apple. Vyzkoušejte Appleův způsob prozatím.

Krok 4: Zastavte čtení. Stačí sestavit aplikaci.

Vstřebali jste všechno, co vám Apple dal? Můžeš mi říct, co je MVC? Co dělá UIView? Víte, jak Google, když uvíznete? Máte vše, co potřebujete. Přejít na sestavení aplikace.

Vážně. Prostě to postavte.

Zasáhnete bod, kde se vám líbí: „Jak změním barvu pozadí pohledu?“ Prvním výsledkem vyhledávání bude samozřejmě přetečení zásobníku. Ověřte to pomocí dokumentace k UIView.

Jakmile překonáte koncepty na vysoké úrovni a přejdete do části „Jak vlastně dělám X“, je to všechno Googling. Zeptejte se jakéhokoli vývojáře, jak napsat vlastní animaci přechodu mezi dvěma řadiči zobrazení. Odpověď: „I google to.“

Je lákavé si myslet, že můžete něco zvládnout pouhým přečtením pouze jednoho dalšího blogového příspěvku nebo sledováním dalšího videa. Ani náhodou. Pravděpodobně rozumíte základům. Na další úroveň se dostanete pokusem a omylem.

A co tyhle věci o MVVM / VIPER / FRP?

Pokud si před budováním přečtete příliš mnoho a odbočíte příliš daleko od Apple, přečtete si o různých architekturách iOS. Snaží se vyřešit problémy, kterým ještě nerozumíte. Ty byly vynalezeny třetími stranami, takže je Apple nepodporuje.

Vytvořte aplikaci pomocí nudné architektury společnosti Apple, MVC. Poté, co jste to udělali na chvíli, vraťte se a podívejte se na ty architektury. Nepoužívám je, ale hej, možná v nich najdete hodnotu.

Ale co správci balíků a nástroje pro sestavení ?!

Dalo by se argumentovat, že byste se měli okamžitě dozvědět o Kartágu a CocoaPodech, což jsou nástroje třetích stran pro správu závislostí. Nebo Fastlane, který slibuje automatizaci složitých úkolů sestavení.

Když odbočíte z podporované sady nástrojů společnosti Apple, věci se stanou křehkými, protože se spoléhají na nepodporovaná rozhraní API. U některých projektů může čas, který tyto nástroje ušetří, stát za příležitostné poškození.

Ale vzhledem k tomu, že se tolik týmů vyhýbá těmto nástrojům kvůli jejich bolestem hlavy, nepovažoval bych je za zásadní. Právě naopak. Podle mého názoru byste tyto nástroje neměli používat, dokud nepochopíte, co se děje pod nimi.

Krok 5: Prozkoumejte ekosystém

Apple může být autorita, ale k vyvážení této pomoci potřebujete různé názory. Zkušení vývojáři mimo Cupertino si stěžují na všechny okrajové případy v API API společnosti Apple a na hrozné hacky, které bylo zapotřebí k jejich obcházení.

Jakmile se však pustíte do většího ekosystému iOS, narazíte na argumenty týkající se Interface Builder, Core Data, Auto Layout a spousty dalších věcí. Jsou vždy poháněny anekdoty a názory, ne daty.

Používejte kritické myšlení. Krok zpět a zeptejte se, odkud autor pochází. Stát se autoritou k předmětu trvá jen několik blogových příspěvků, i když autor kolem něj nikdy neposlal nic významného.

Nedoporučuji vám poslouchat pouze lidi, kteří pracují na Facebooku / Instagramu / Twitteru / Pinterestu. Tyto aplikace mají velmi odlišné požadavky než 99% aplikací na světě. Filtrujte své rady přes objektiv: „To je to, co děláte, když máte sto vývojářů pracujících na aplikaci, kterou používají stovky milionů lidí.“ Přiklánějí se k averzi k riziku.

Na druhém konci spektra mají malé poradenské společnosti užitečné informace díky rozmanitosti projektů, které žonglují. Někdy však doporučují nové jazyky a rámce, než budou dostatečně stabilní pro kritické projekty.

Používejte kritické myšlení, zejména u lidí se spoustou následovníků.

Kroky 6 až ∞: Vytvoření jiné aplikace

Právě jste dokončili aplikaci Todo List? Skvělý. Nyní pracujte na něčem jiném, jako je aplikace Photo Filter, takže se dozvíte více o AVFoundation. Až to uděláte, vytvořte něco, co vyžaduje mapy, a dozvíte se o GPS a MapKit.

Začal jsem s vývojem kakaa před deseti lety na počítačích Mac a stále se učím nové věci. Jediným tajemstvím je najít nové způsoby, jak se postavit výzvě.