Chcesz stworzyć własną aplikację? To świetnie! Tworzenie aplikacji to świetna zabawa i satysfakcjonujące doświadczenie. Wciąż pamiętam radość, kiedy po raz pierwszy stworzyłem aplikację lata temu, nawet jeśli aplikacja jest tak prosta i elementarna.
Zanim zaczniemy programować na iOS, przejdźmy przez narzędzia potrzebne do zbudowania aplikacji i przygotujmy się do nauki tworzenia aplikacji na iOS.
Narzędzia
Apple preferuje zamknięty ekosystem nad otwartym systemem. iOS może być uruchamiany tylko na urządzeniach Apple, w tym iPhone i iPad. To jest bardzo w przeciwieństwie do swojego konkurenta, Google, że Android jest dozwolone do uruchomienia na urządzeniach mobilnych z różnych producentów. Jako aspirujący programista iOS, co to oznacza dla Ciebie, jest to, że będziesz potrzebował Maca do rozwoju aplikacji.
1. Zdobądź komputer Mac
Posiadanie komputera Mac jest podstawowym wymogiem dla rozwoju systemu iOS. Aby tworzyć aplikacje na iPhone’a (lub iPada), musisz mieć komputer Mac z procesorem opartym na architekturze Intel i systemem macOS w wersji 10.15.4 (lub nowszej). Jeśli obecnie posiadasz komputer PC, najtańszą opcją jest zakup komputera Mac Mini. W chwili pisania tego tekstu cena detaliczna podstawowego modelu wynosi 799 USD. Można go podłączyć do monitora komputera PC. Podstawowy model Maca mini jest wyposażony w czterordzeniowy procesor Intel Core i3 3,6 GHz i 8 GB pamięci. To powinno wystarczyć do płynnego działania narzędzi programistycznych iOS. Oczywiście, jeśli masz większy budżet, kup wyższy model lub komputer iMac o większej mocy obliczeniowej.
What about Hackintosh? Is it an option if you do not have a Mac? I heard that we can use it to run Mac on Windows machines. While you may have heard of some success cases of using Hackintosh for iOS development, it is not the recommended approach. If you are serious about learning iOS development and afford the upfront cost, a Mac is a worthwhile investment.
2. Zarejestruj swój Apple ID
Będziesz potrzebował Apple ID, aby pobrać Xcode, uzyskać dostęp do dokumentacji iOS SDK i innych zasobów technicznych. Co najważniejsze, dzięki niemu będziesz mógł wdrożyć swoją aplikację na prawdziwym iPhonie/iPadzie w celu przetestowania.
Jeśli pobrałeś aplikację z App Store, z pewnością posiadasz już Apple ID. W przypadku, gdy nie utworzyłeś jeszcze swojego Apple ID, musisz je zdobyć. Po prostu przejdź na stronę Apple (https://appleid.apple.com/account) i postępuj zgodnie z procedurami rejestracji.
3. Zainstaluj Xcode
Aby rozpocząć tworzenie aplikacji na iOS, Xcode jest jedynym narzędziem, które musisz pobrać. Xcode jest zintegrowanym środowiskiem programistycznym (IDE) dostarczonym przez firmę Apple. Xcode zapewnia wszystko, czego potrzebujesz, aby rozpocząć tworzenie aplikacji. Zawiera najnowszą wersję pakietu iOS SDK (skrót od Software Development Kit), wbudowany edytor kodu źródłowego, edytor graficznego interfejsu użytkownika (UI), narzędzia do debugowania i wiele innych. Co najważniejsze, Xcode jest wyposażony w symulator iPhone’a (i iPada), dzięki czemu możesz testować swoje aplikacje bez użycia prawdziwych urządzeń.
Aby zainstalować Xcode, przejdź do Mac App Store i pobierz go. Jeśli używasz najnowszej wersji systemu Mac OS, powinieneś móc otworzyć Mac App Store, klikając ikonę w doku. Jeśli nie możesz jej znaleźć, być może będziesz musiał uaktualnić system Mac OS.
W Mac App Store wystarczy wyszukać „Xcode” i kliknąć przycisk „Pobierz”, aby go pobrać.
Po zakończeniu procesu instalacji znajdziesz Xcode w Launchpadzie.
W chwili pisania tego rozdziału najnowszą wersją Xcode jest 12. W tej książce do tworzenia aplikacji demonstracyjnych będziemy używać właśnie tej wersji Xcode. Nawet jeśli już wcześniej zainstalowałeś Xcode, sugeruję, abyś zaktualizował go do najnowszej wersji. To powinno ułatwić Ci śledzenie tutoriali.
4. Zapisz się do Apple Developer Program (opcjonalnie)
Częstym pytaniem dotyczącym tworzenia aplikacji na iOS jest to, czy musisz zapisać się do Apple Developer Program (https://developer.apple.com/programs/). Krótka odpowiedź brzmi: nie ma takiej potrzeby. Po pierwsze, Xcode zawiera już wbudowany symulator iPhone’a i iPada. Możesz opracować i przetestować swoją aplikację na komputerze Mac, bez zapisywania się do programu.
Począwszy od Xcode 7, Apple zmieniło swoją politykę dotyczącą uprawnień wymaganych do budowania i uruchamiania aplikacji na urządzeniach. Wcześniej firma wymagała, aby zapłacić 99 USD rocznie w celu wdrożenia i uruchomienia aplikacji na fizycznym iPhone lub iPad. Teraz członkostwo w programie nie jest już wymagane. Każdy może testować swoje aplikacje na prawdziwym urządzeniu bez zapisywania się do Apple Developer Program. Jeśli jednak chcesz wypróbować niektóre zaawansowane funkcje, takie jak zakupy w aplikacji, powiadomienia push lub CloudKit, nadal musisz ubiegać się o członkostwo w programie. Co najważniejsze, nie będziesz mógł przesłać swojej aplikacji do App Store bez uiszczenia rocznej opłaty członkowskiej.
Więc, czy powinieneś zapisać się do programu już teraz? Apple Developer Program kosztuje 99 dolarów rocznie. To nie są duże pieniądze, ale nie jest to też tanie. Skoro czytasz tę książkę, prawdopodobnie jesteś początkującym programistą i dopiero zaczynasz zgłębiać tajniki rozwoju systemu iOS. Ta książka jest napisana dla początkujących. Najpierw zaczniemy od czegoś prostego. Nie będziesz mógł korzystać z zaawansowanych funkcji, dopóki nie opanujesz podstawowych umiejętności.
W związku z tym, nawet jeśli nie zapiszesz się do programu, nadal będziesz w stanie śledzić większość treści, aby zbudować aplikację i przetestować ją na swoim urządzeniu. Na razie oszczędzaj swoje pieniądze. Dam Ci znać, kiedy będziesz musiał zapisać się do programu. W tym czasie, jesteś zachęcany do dołączenia do programu, jak jesteś gotowy, aby opublikować aplikację w App Store!
Podejście do nauki
Uczę programowania iOS od 2012 roku poprzez blogowanie, kursy online i warsztaty w osobie. Odkryłem, że to właśnie podejście do nauki i sposób myślenia stanowią różnicę między porażką a osiągnięciem celu. Zanim porozmawiamy o Swift i programowaniu na iOS, chcę Cię wyposażyć w odpowiedni sposób myślenia i zrozumieć najbardziej efektywny sposób nauki programowania.
Get Your Hands Dirty
Jednym z najbardziej popularnych pytań dotyczących nauki kodowania jest:
Jaki jest najlepszy sposób na naukę programowania w systemie iOS?
Po pierwsze, dzięki za przeczytanie tej książki. Niestety, muszę Ci powiedzieć, że nie można nauczyć się programowania tylko poprzez czytanie książek. Ta książka zawiera wszystko, czego potrzebujesz, aby nauczyć się Xcode, Swift i tworzenia aplikacji na iOS.
Ale najważniejszą częścią jest podjęcie działania.
Jeśli mam udzielić odpowiedzi na to pytanie, powiem: „Ucz się przez działanie”. Jest to sedno mojego podejścia do nauczania.
Pozwól, że zmienię nieco pytanie:
Jaki jest najlepszy sposób na naukę angielskiego (lub innych języków obcych)?
Jaki jest najlepszy sposób na naukę kolarstwa (lub innych sportów)?
Prawdopodobnie znasz odpowiedź. Szczególnie podoba mi się ta odpowiedź na Quora o nauce nowego języka:
Podążaj za tą rutyną: słuchaj 1 godzinę dziennie, mów 1 godzinę dziennie, opublikuj 1 wpis w dzienniku.
– Dario Mars Patible
Uczysz się przez praktykę, nie przez samo studiowanie gramatyki. Nauka programowania jest w pewnym sensie bardzo podobna do nauki języka. Musisz podejmować działania. Musisz pracować nad projektem lub jakimiś ćwiczeniami. Musisz usiąść przed swoim Maciem, zanurzyć się w Xcode i napisać kod Swift. Nie ma znaczenia, ile błędów popełnisz podczas tego procesu. Pamiętaj tylko, aby otworzyć Xcode i kodować podczas czytania tej książki.
Motywacje
Dlaczego chcesz się nauczyć tworzenia aplikacji? Co motywuje Cię do poświęcenia weekendów i wakacji, aby nauczyć się kodować?
Niektórzy zaczynają naukę tworzenia aplikacji tylko ze względu na pieniądze. Nie ma w tym nic złego. Możesz chcieć zbudować swój biznes aplikacji, aby zarobić trochę pobocznego dochodu i ostatecznie przekształcić go w pełnoetatowy biznes. To jest całkowicie zrozumiałe. Kto nie chce żyć bogatym życiem?
Jednak na luty 2019 roku w App Store było ponad 2,2 miliona aplikacji. Naprawdę trudno jest wystawić aplikację w App Store i oczekiwać, że z dnia na dzień zarobisz ładunek pieniędzy. Łatwo się zniechęcisz, a nawet zrezygnujesz, jeśli pieniądze są twoim głównym powodem budowania aplikacji, zwłaszcza gdy natkniesz się na artykuły takie jak ten:
- How Much Money I Made on the App Store (https://sitesforprofit.com/how-much-money-app-store)
Then reality set in.
199 units old = US$209 in sales = US$135 proceeds (net to me). Aby aplikacja znalazła się w App Store musiałem zapłacić 99$ opłaty deweloperskiej.
Więc po 2 miesiącach i 1 tygodniu mój zysk (przed opodatkowaniem) wyniósł 36$.
– James
Programowanie jest trudne i wymagające. Uważam, że ludzie, którzy z powodzeniem opanowali ten język, to ci, którzy mają silne pragnienie budowania aplikacji i są entuzjastami nauki programowania. Zazwyczaj mają pomysł w głowie i chcą go przekształcić w prawdziwą aplikację. Zarabianie pieniędzy nie jest ich problemem numer jeden. Wiedzą, że aplikacja może rozwiązać ich własne problemy i będzie korzystna dla innych. Z takim potężnym celem w umyśle, mogą pokonać wszelkie przeszkody pojawiają się.
Więc, pomyśl jeszcze raz dlaczego chcesz się nauczyć programowania.
Znajdź kolegę
„Najlepszym sposobem na naukę jest nauczanie” to stare powiedzenie. Jednak nadal sprawdza się we współczesnym świecie. Nie musisz być ekspertem, aby uczyć. Nie mówię tu o wygłaszaniu wykładu na uniwersytecie czy nauczaniu grupy studentów w formalnej klasie. Nauczanie nie zawsze odbywa się w ten sposób. Może to być tak proste, jak dzielenie się swoją wiedzą z kolegą lub koleżanką z klasy siedzącą obok Ciebie.
Postaraj się znaleźć kogoś, kto również jest zainteresowany nauką programowania iOS. Kiedy nauczysz się czegoś nowego, postaraj się wytłumaczyć materiały swojemu kumplowi. Na przykład, po zbudowaniu swojej pierwszej aplikacji, naucz swojego bliskiego przyjaciela, jak to działa i jak on/ona może również stworzyć aplikację.
A co jeśli nie możesz znaleźć kumpla, z którym mógłbyś się podzielić tym, czego się nauczyłeś? Nie martw się. Załóż bloga na medium.com (lub jakiejkolwiek innej platformie, którą lubisz), pisz codziennie post na blogu i dokumentuj wszystko, czego się nauczysz.
Jest to jeden z najbardziej efektywnych sposobów uczenia się, ponieważ nauczyłem się tak wiele podczas publikowania tutoriali na appcoda.com, jak również podczas tworzenia mojej pierwszej książki.
Czasami wydaje ci się, że dobrze znasz materiały. Ale kiedy musisz wyjaśnić komuś koncepcję i odpowiedzieć na pytania, okazuje się, że nie do końca zrozumiałeś materiał. A to zmotywuje Cię do jeszcze cięższej nauki. Wypróbuj tę metodę podczas nauki programowania iOS.
Be Patient
Zaparcie to pasja i wytrwałość w dążeniu do bardzo długoterminowych celów. Zryw to wytrwałość. Zacięcie to trzymanie się swojej przyszłości, dzień w dzień. Nie tylko przez tydzień, nie tylko przez miesiąc, ale przez lata. I naprawdę ciężko pracować, aby ta przyszłość stała się rzeczywistością. Pycha to życie tak, jakby to był maraton, a nie sprint.
– Dr Angela Lee Duckworth
Któryś z moich studentów zapytał: „Ile czasu potrzeba, aby stać się dobrym programistą?”
Opanowanie programowania i stanie się świetnym programistą wymaga czasu. Zazwyczaj zajmuje to lata. Nie tygodni, nie miesięcy, ale lat.
Ta książka pomoże Ci rozpocząć tę podróż. Nauczysz się wszystkich podstaw programowania w języku Swift i iOS, a w końcu zbudujesz aplikację. To powiedziawszy, potrzeba czasu i wielu praktyk, aby stać się profesjonalnym programistą.
Bądź cierpliwy. Nie stawiaj sobie zbyt wysokich oczekiwań wobec swojej pierwszej aplikacji. Po prostu ciesz się procesem, stwórz coś prostego i zabawnego. Czytaj dalej i koduj codziennie. W końcu opanujesz tę umiejętność.
Znajdź swój pomysł na aplikację
Zawsze zachęcam moich studentów do wymyślenia własnego pomysłu na aplikację, kiedy zaczynają naukę tworzenia aplikacji. Pomysł nie musi być duży. Nie musisz zbudować następnej aplikacji Uber lub wymyślić nowy pomysł, aby zmienić świat. Wystarczy, że zaczniesz od bardzo małego pomysłu, który rozwiązuje jakiś problem.
Pozwól, że podam Ci kilka przykładów.
Jednym z klasycznych przykładów, o którym kiedyś wspominałem jest Cockpit Dictionary. Jest to aplikacja zbudowana przez Manolo Suareza, który z zawodu jest pilotem. Pomysł na aplikację wpadł mu do głowy podczas nauki programowania aplikacji. Pomysł nie był wymyślny, ale rozwiązywał jego własny problem. W aplikacji znajdują się dziesiątki tysięcy terminów z dziedziny lotnictwa w formie skróconej. Nawet dla doświadczonego pilota z ponad 20-letnim stażem lotniczym zapamiętanie wszystkich akronimów i terminów technicznych jest niemożliwe. Zamiast korzystać z drukowanego słownika, pomyślał o zbudowaniu poręcznej aplikacji dla pilotów, która umożliwiłaby sprawdzenie wszystkich terminów lotniczych. Prosty, ale świetny pomysł na rozwiązanie własnego problemu.
Innym przykładem jest aplikacja NOAA Buoy Data. Co prawda aplikacja ta nie jest już dostępna w App Store, ale i tak chcę ją przytoczyć jako przykład. Aplikacja została zaprojektowana, aby pobrać najnowsze dane pogodowe, wiatr i fale z National Oceanic and Atmospheric Administration’s (NOAA) National Data Buoy Center (NDBC). Opracowany przez Leo Kin’a, wpadł na pomysł aplikacji podczas rekonwalescencji po operacji.
„Po operacji, musiałem nosić ortezę na szyję przez trzy miesiące. W ciągu tych trzech miesięcy nie mogłem się zbyt wiele ruszać, a nawet miałem trudności z chodzeniem czy nawet podnoszeniem ramion. Mój fizykoterapeuta poradził mi, abym jak najczęściej chodził na spacery, żeby się gimnastykować i odbudować zanikłe mięśnie nóg.
W pobliżu mojego miejsca zamieszkania znajduje się wyspa, na którą z przyjemnością chodziłem. Jedynym problemem było to, że można na nią dotrzeć tylko podczas odpływu. A jeśli nadejdzie przypływ, nie ma innego sposobu na powrót do domu niż pływanie. Ponieważ byłem bardzo osłabiony fizycznie, bardzo się bałem, że utknę na wyspie bez możliwości powrotu. Podczas spaceru zawsze wchodziłem na stronę NOAA, aby sprawdzić, jak wysoki lub niski jest przypływ i czy mam wystarczająco dużo czasu, aby przejść na wyspę i z powrotem.
Podczas jednego z moich spacerów przyszedł mi do głowy pomysł, że powinienem zbudować aplikację. Nawet jeśli nikt inny nie będzie jej używał, nie będzie to miało znaczenia, ponieważ pomoże mi ona śledzić przypływy i wrócić na czas.”
– Leo Kin
Jego aplikacja może Cię nie zainteresować, ale rozwiązywała problem, z którym się wtedy zetknął. Prawdopodobnie ludzie na tej wyspie również skorzystaliby z jego aplikacji.
Mając swój własny pomysł na aplikację, będziesz miał jasny cel i motywację do dalszej nauki. Teraz poświęć trochę czasu i zapisz trzy pomysły na aplikacje poniżej:
Podsumowanie
To wszystko jeśli chodzi o wprowadzenie. Poświęć trochę czasu, aby zainstalować Xcode na swoim Macu i wymyśl swój własny pomysł na aplikację. Nawet jeśli nie nauczę Cię budować dokładnie takiej samej aplikacji, poznasz techniki kodowania, które pozwolą Ci zbudować własną aplikację.
Przechodząc do następnego rozdziału, zaczniemy programować w języku Swift.
Więc przygotuj się!