Najlepszy przewodnik po budowaniu i publikowaniu pierwszej aplikacji na iPhone'a
Zastanawiasz się nad stworzeniem własnej aplikacji? To jest to, co musisz wiedzieć. Dowiedz się więcej o ekosystemie aplikacji, językach programowania, zestawach narzędzi oraz zaangażowanym czasie i wysiłku. Nie mówmy ci co powinien wiem, ale raczej wyjaśnij, jak możesz zacząć już dziś, aby pobrać aplikację opublikowaną w App Store.
Oto skróty do szybkiego odniesienia:
- Bloki konstrukcyjne aplikacji: podstawy
- Proces tworzenia aplikacji
- O szybkim i obiektywnym C
- Middleware: Build Once, Run Multiple
- Projekt: jak Twoja aplikacja jest używana
- Jak włączyć aplikację do Internetu
- Od Beta do życia
- Tworzenie najczęściej zadawanych pytań dotyczących pierwszej aplikacji
- Zasoby edukacyjne do rozpoczęcia
- Pełna lista referencyjna
1. Bloki konstrukcyjne aplikacji: podstawy
Aplikacja jest po prostu kawałek oprogramowania komputerowego działającego na smartfonie. Jest napisany przez programistę i połączony z zasobami graficznymi stworzonymi przez projektanta.
Aplikacje dla iPhone'a to wykonane za pomocą aplikacji Mac o nazwie Xcode, i zaprogramowane w Swift lub Objective-C. Wiele aplikacji jest podłączonych do Internetu, co oznacza, że mają back-end który umożliwia przechowywanie danych w chmurze lub funkcjonalność, która łączy użytkowników.
Xcode to aplikacja, której możesz używać do tworzenia rodzimych aplikacji na iPhone'a, i jest dostępna tylko dla Mac OS X. Zawiera interfejs Builder, narzędzie do wizualnego tworzenia graficznej podstawy Twojej aplikacji. To jest narzędzie do rusztowań: nie możesz stworzyć z nim funkcjonalnej aplikacji, ale możesz położyć podwaliny pod GUI twojej aplikacji.
Xcode ma wiele przydatnych funkcji, takich jak Auto Layout, dzięki któremu interfejs działa na wielu rozdzielczościach ekranu, oraz iPhone Simulator do testowania aplikacji bez rzeczywistego iPhone'a.
Aby publikować aplikacje w App Store, potrzebujesz konta programisty od Apple. Jest dostępny za 99 USD rocznie i musi być odnawiany każdego roku. Apple dysponuje wszechstronnym zestawem narzędzi online do zarządzania nowymi i opublikowanymi aplikacjami o nazwie iTunes Connect, a także obszernym zestawem dokumentacji.
Ponadto iTunes Connect oferuje teraz narzędzie do dystrybucji beta o nazwie TestFlight. Można to wykorzystać rozpowszechniaj swoją aplikację na beta testerach.
2. Proces tworzenia aplikacji
Dowolny proces tworzenia aplikacji w przybliżeniu wykonuje następujące kroki:
- Projekt. Wykonaj makietę swojej aplikacji i rozmieść wszystkie komponenty na ekranie.
- Rozwijać się. Ten krok obejmuje kodowanie aplikacji, łączenie interfejsów z działaniami if-this-then-that.
- Test. Wyślij aplikację do beta testerów i zbierz opinie na temat jej wydajności. Następnie rozwiń wszelkie pojawiające się błędy.
- Publikować. Pobierz swoją aplikację po procesie recenzji i przesuń ją do produkcji w App Store.
Współczesne zarządzanie procesami często działa iteracje na poziomie mikro i makro.
Kiedy tworzysz nową funkcję, zawsze projektujesz ją najpierw, potem kodujesz, następnie testujesz, a następnie wypychasz na żywo. Czy jest to mały element, czy cała nowa część aplikacji, postępuj zgodnie z tym procesem.
3. Na Swift i Objective-C
Wszystkie aplikacje na iPhone są napisane w Swift lub Objective-C. Szybki to nowy język programowania wymyślony przez Apple, ogłoszony 2 czerwca 2014 r., a następnie wydany jako stabilna wersja 1.0 9 września 2014 r. Jest to całkiem nowy język i aplikacje w całości napisane w Swift właśnie trafiają do App Store.
Swift zyskuje na popularności, a jego funkcje są wysoko cenione zarówno przez początkujących, jak i zaawansowanych programistów. Wspaniałą rzeczą w Swift jest to, że jest on wymienny z Objective-C. Pomaga to w przyjęciu Swift przez programistów, ponieważ oni nie trzeba przepisywać całego kodu, aby był kompatybilny z nowym językiem.
Ludzie, którzy mają już biegłość na poziomie średnio zaawansowanym w jakimkolwiek języku programowania, będą potrzebować mniej czasu na zdobycie Objective-C lub Swift. Szczególnie ci, którzy pracowali z językami podobnymi do Swift, takimi jak Java, PHP lub Ruby, nie powinni mieć problemu z nauką Swift.
Ale co jest lepsze, Swift lub Objective-C?
Objective-C jest trochę trudniejszy do rozwiązania, ponieważ używa unikalnej składni. Dla początkujących Swift jest zdecydowanie lepszą opcją. Jest to łatwiejsze w porównaniu z Objective-C i usuwa koszty ogólne z procesu tworzenia, dzięki czemu bariera dla wejścia dla początkujących jest znacznie niższa.
Mimo to, Objective-C jest nadal standardem w wielu firmach na całym świecie, więc kod odziedziczony będzie Objective-C na nadchodzące lata. Jako zatrudniony programista iOS zobaczysz więcej Objective-C niż Swift.
4. Middleware: Build Once, Run Multiple
Oprogramowanie pośrednie (lub wieloplatformowe), takie jak Cordova lub PhoneGap, jest popularnym wyborem dla twórców aplikacji, ponieważ umożliwia im pisanie kodu raz i wdrożyć go zarówno na Androida, jak i iOS.
Aplikacje dla Androida są napisane w Javie i nie są kompatybilne z aplikacjami iOS. Jeśli chcesz utworzyć aplikację na obu platformach, ale nie chcesz dwukrotnie programować tej samej aplikacji, middleware to opcja oszczędzająca czas.
Wiele z tych wieloplatformowych narzędzi opiera się na technologii internetowej, takiej jak HTML5, CSS i JavaScript.
PhoneGap jest najbardziej rozpowszechniony: jest używany przez 400 000 programistów aplikacji. PhoneGap ma własne narzędzia do tworzenia i technicznie eksportuje aplikację które można uruchomić i zbudować wewnątrz Xcode, czyniąc to “aplikacja hybrydowa” - komponenty natywne połączone z HTML5.
Teraz dostępna jest funkcja PhoneGap PhoneGap Build, który zastępuje kompilator Xcode rozwiązaniem opartym na chmurze. PhoneGap jest bezpłatny i wydany na licencji Apache Public License v2.
Alternatywy do PhoneGap obejmują:
- Cordova (open-source)
- Sencha Touch (open-source i reklama)
- RhoMobile Suite (open-source)
PhoneGap przewyższa te alternatywy Wspierane urządzenia (iOS, Android, Windows Phone, BlackBerry OS, Ubuntu i Firefox OS) i obsługiwany sprzęt (akcelerometr, kamera itp.).
Wady do oprogramowania pośredniego
Korzystanie z oprogramowania pośredniego, takiego jak PhoneGap, ma dwie poważne wady.
Ponieważ wszystkie takie narzędzia są oparte na technologii internetowej, nie są w stanie korzystać z przyspieszanych sprzętowo komponentów natywnych. Animacje, przejścia i grafika w wysokiej rozdzielczości nie działają tak dobrze, jak w natywnej aplikacji niemożliwe do użycia w grach lub aplikacjach intensywnych wizualnie.
Korzystanie z oprogramowania pośredniego wymaga również dobrej znajomości kompilatorów i narzędzi do tworzenia, co czyni je niewygodna opcja dla początkujących programistów.
5. Projekt: jak Twoja aplikacja jest używana
Nie wszystkie aplikacje to programowanie. Projekt graficzny jest duży w branży aplikacji; jest to wymóg dla każdej aplikacji, która chce być traktowana poważnie. Czy rozważasz programowanie własnych aplikacji? Jeśli twój budżet na to pozwala, zatrudnij projektanta graficznego. Na stronach outsourcingu, takich jak Elance czy oDesk, jest mnóstwo takich osób.
To powiedziane, nie potrzebujesz projektanta graficznego, jeśli dopiero zaczynasz. W systemie iOS możesz pracować z wieloma zaawansowanymi komponentami, których używa Apple we własnych aplikacjach oraz w interfejsie użytkownika systemu operacyjnego. Standardowe elementy interfejsu użytkownika iPhone'a nie wyglądają wyjątkowo, ale też nie są złe. To świetny sposób na rozpoczęcie pracy bez poświęcania zbyt dużej ilości czasu na wygląd graficzny aplikacji.
Narzędzia i zasoby
Wytyczne dotyczące interfejsu użytkownika zapewniają dobry przegląd dostępnych komponentów i sposobu ich używania.
Ikony: Rozważ użycie zestawu ikon, takiego jak Glyphish (komercyjny). Zebrali setki ikon zoptymalizowanych dla aplikacji na iPhone'a, w tym ikony mediów społecznościowych, przyciski odtwarzania / zatrzymywania i symbole zadań związanych z aplikacjami, takich jak nowe, edytuj i wysyłaj.
Makiety: Kolejnym narzędziem, którego zdecydowanie musisz użyć, są makiety Balsamiq (darmowa wersja próbna, komercyjna). To edytor wskaż i kliknij, aby tworzyć makiety swoich aplikacji. Makieta to szorstki szkic, który pokazuje i wyjaśnia, jak działa Twoja aplikacja i co robi. Nigdy nie zaczynaj programowania: cofnij się i przemyśl swoje aplikacje i układ, tworząc makietę.
Czy naszkicowałeś makietę, ale nie wiesz, jak będzie wyglądać aplikacja? Pracuj z projektowymi PSD z Teehan + Lax (za darmo). Wyodrębnili wszystkie składniki GUI z iOS i udostępnili je jako grafikę wektorową. Idealny do tworzenia graficznej makiety!
6. Jak włączyć aplikację do Internetu
Czy Twoja aplikacja jest połączona z Internetem? Tworzenie niestandardowego zaplecza za pomocą języków po stronie serwera, takich jak NodeJS, Ruby lub PHP, może zająć dużo czasu, pieniędzy i wysiłku. Łatwiej jest korzystać z narzędzia Platform-as-a-Service, takiego jak Parse.
Parse to a oparte na chmurze rozwiązanie do przechowywania danych w trybie offline i online w aplikacji. Załóżmy, że tworzysz aplikację społecznościową ze strumieniem zdjęć i aktualizacjami stanu. Możesz użyć Parse do przechowywania danych w chmurze i użyj ich SDK, aby uzyskać je od swoich użytkowników.
Używając narzędzia takiego jak Parse całkowicie usuwa potrzebę budowania własnego zaplecza. Podstawowy poziom wykorzystania Parse jest bezpłatny, kolejne poziomy zaczynają się od 100 USD / miesiąc.
Alternatywą dla Parse są Appcelerator (middleware + PaaS, komercyjne) i App42 (PaaS + analytics, free tier).
7. Przejście z wersji beta na żywo
Zanim aplikacja zostanie opublikowana w App Store, musisz przesłać ją za pomocą iTunes Connect. Wprowadzasz podstawowe informacje o aplikacji, takie jak opis, kategorie aplikacji i jakiej ikony aplikacji użyć.
Twoja aplikacja przechodzi następnie do procesu przeglądu, wymaganego przez Apple. Recenzent Apple sprawdza, czy Twoja aplikacja jest zgodna z Wytycznymi do sprawdzania i czy zawiera błędy. To jest Kontrola jakości aby zapewnić, że tylko dobre aplikacje wejdą do App Store i od momentu przesłania trwa około 2 tygodni aby sprawdzić swoją aplikację.
Więcej o Hongkiat:
- Łatwe generowanie ikon aplikacji iOS za pomocą MakeAppIcon
- Promuj swoją aplikację na iOS za pomocą metatagu aplikacji iTunes
- 8 porad dotyczących zwiększenia pobrań dla aplikacji
- 20 sieci reklamowych do zarabiania na aplikacji mobilnej
10 najczęściej zadawanych pytań dotyczących tworzenia pierwszej aplikacji
Oczywiście w tym momencie wciąż możesz mieć płonące pytania związane z tworzeniem pierwszych aplikacji na iOS. Przyjrzymy się 10 najpopularniejszym pytaniom, o które martwią się nowi twórcy aplikacji.
1. Ile kosztuje aplikacja?
Koszt opracowania aplikacji może się naprawdę różnić w zależności od firmy. Outsourcing freelancerów może stworzyć prostą aplikację za około 3000 USD. Większe firmy mogą zażądać od 25 000 USD do 100 000 USD na złożoną aplikację, w tym projektowanie graficzne i programowanie zaplecza. Firmy takie jak Tinder, Pinterest, Facebook itp. Mogą wydawać setki tysięcy na miliony na rozwój i marketing jeden aplikacja Tak jak wszędzie: dostajesz to, za co płacisz.
2. Utknąłem z błędem programowania. Jak uzyskać pomoc?
Wiele pytań dla początkujących programistów zostało już zadanych na stronach takich jak StackOverflow. Wyszukaj komunikat o błędzie lub błąd, który znalazłeś, a najprawdopodobniej znajdziesz rozwiązanie. Zadając pytanie samodzielnie, zawsze szukaj najpierw, i upewnij się, że dokładnie wyjaśniłeś swój problem i powiedz kroki, które już podjąłeś, aby je rozwiązać. Quora jest dobrym medium do zadawania pytań nietechnicznych, takich jak tematy biznesowe i UX / UI.
3. Mam świetny pomysł na aplikację. Gdzie zaczynam?
Jeśli poważnie myślisz o stworzeniu firmy opartej na aplikacji, nie zaczynaj od programowania natychmiast. Pierwszy, zweryfikuj swój pomysł na biznes przez rzucać się na grupę docelową.
Skontaktuj się z potencjalnymi klientami i sprawdź je, prosząc o opinię.
Weź pod uwagę, że większość udanych aplikacji rozwiązuje natychmiastowy problem, w taki sposób, że klienci chcą za to zapłacić. Po zatwierdzeniu swojego pomysłu i stworzeniu relacji z pierwszymi klientami, kontynuuj projektowanie i tworzenie rzeczywistej aplikacji.
4. Czy potrzebuję iPhone'a do tworzenia aplikacji?
Nie, ale jest zalecane. Xcode ma symulator iPhone'a, który uruchamia aplikacje tak jak fizyczny iPhone. Trzymanie prawdziwego iPhone'a z aplikacją w Twoich rękach różni się od oglądania go na monitorze komputera, dlatego zaleca się testowanie aplikacji na rzeczywistym urządzeniu.
Pamiętaj, że Xcode działa tylko na Mac OS X.
5. Nie jestem dobry w matematyce, czy potrzebuję go do programowania?
Tak i nie. To miejski mit, że aby móc kodować, musisz być dobry w matematyce. Wiele zasad programowania znajduje swoje korzenie w matematyce, ale nie są one wymagane do podstawowego zrozumienia tego, jak to zrobić tworzyć aplikacje. Kiedy zanurkujesz głębiej i nabędziesz biegłości w programowaniu, przekonasz się, że po drodze odkryłeś pewne umiejętności matematyczne.
6. Pracuję dla firmy. Czy realizuję swój pomysł na aplikację w firmie lub w moim własnym czasie?
To zależy od firmy i Twojej pozycji. Czy jesteś inżynierem i czy główna działalność Twojej firmy jest online, cyfrowa lub blisko związana z aplikacjami? Następnie możesz zbudować prototyp i przekonać swojego przełożonego lub pracodawcę do realizacji tego pomysłu.
Jeśli uważasz, że twój pracodawca nie widzi wartości, możesz realizować pomysł aplikacji w swoim czasie. Pamiętaj o umowie z pracodawcą. Wynalazki dokonane w czasie pracy w firmie mogą być traktowane jako własność intelektualna firmy, a nie twoja.
7. Mój pomysł na aplikację już istnieje w App Store. Co mam teraz zrobić?
Fakt, że istnieje nie oznacza, że jest to dobra aplikacja. Zawsze możesz stworzyć konkurencyjną aplikację i Zrób to lepiej niż to, co już tam jest.
Podobnie fakt, że aplikacja nie istnieje, ale nie jest dobrym pomysłem, aby go utworzyć. Może się zdarzyć, że aplikacja została opublikowana wiele razy, ale została pobrana z App Store, ponieważ nie było takiej potrzeby.
Zawsze sprawdzaj pomysł aplikacji przez problem, który rozwiązuje i wartość, którą ma dla swoich użytkowników.
8. Dlaczego iPhone czasami nazywa się iOS?
Jest niewielka różnica: iPhone to nazwa rzeczywistego smartfona sprzętowego, a skrót iOS oznacza “i System operacyjny”. Wracając do historii Apple, komputer iMac był pierwszym produktem z prefiksem “ja”. Później zastosowali ten styl i stworzyli więcej produktów: iTunes, iPod, iPad i iPhone. Naturalne jest wywołanie systemu operacyjnego działającego na iPhone'ie, iOS.
9. Jak skutecznie sprzedać aplikację na iPhone'a?
Na ten temat napisano całe książki! To trudne, ale nie da się odpowiedzieć. Wszystkie udane aplikacje rozwiązują jeden problem w taki sposób, że ludzie chcą za to zapłacić.
Możesz albo wymyśl problem i znajdź ludzi, którzy potrzebują twojego rozwiązania, lub znajdź publiczność i zbadaj je pod kątem problemów, które możesz rozwiązać. Bądź w kontakcie z tą grupą klientów i daj im sposób informowania innych o swoim produkcie. Skierowania i poczta pantoflowa to skuteczna i tania maszyna marketingowa.
10. Jaki jest najgorszy sposób nauki programowania?
Rezygnacja jest jednym z najgorszych sposobów nauki programowania. Nauka nowej umiejętności ma wzloty i upadki, a ty możesz iść dalej, świętując wzloty i przeglądając upadki. Rezygnacja nie jest częścią równania.
Dowiedz się także, jaki jest twój styl uczenia się. Oglądanie filmów nie ma sensu, gdy pisanie kodu i próba błędów jest dla Ciebie lepsze.
Wreszcie, nie wybieraj losowo książki o programowaniu z biblioteki, ale znajdź sprawdzoną metodę uczenia się lub ścieżka. Podczas nauki języka hiszpańskiego nie zaczynasz od czytania słownika?
Zasoby edukacyjne do rozpoczęcia
Jeśli nadal chcesz przejść do tworzenia pierwszej aplikacji na iOS, w tej sekcji znajdziesz wszystkie zasoby do nauki.
Rozwój aplikacji obejmuje wiele elementów, a kiedy jesteś nowy, zapoznanie się ze wszystkimi narzędziami może być sporym wyzwaniem. Nie bój się! Możesz zrobić swoją pierwszą aplikację w ciągu dnia na maksimum, bez wcześniejszego doświadczenia programistycznego. Jedyne, czego potrzebujesz, to dobry zasób, który pokazuje liny i skupia się na jednym zestawie narzędzi na raz. W Internecie jest mnóstwo samouczków dla początkujących, a także kursy premium.
Proces uczenia się: w skrócie
Jaki jest twój styl nauki? Zastanów się, zanim wybierzesz zasób.
- Oglądać filmy: CS 193P iPhone Application Development firmy Stanford University, dostępny dla iTunes U (bezpłatnie).
- Czytając książkę: Sams naucz się Swift w 24 godziny (25-35 USD) i The Swift Programming Language Book w Apple (bezpłatnie)
- Kodowanie siebie: samouczki programistyczne We Heart Swift, JamesonQuave i AppCoda (wszystkie za darmo).
Kiedy zbudujesz swoją pierwszą aplikację, jest to krótki plan zanurkuj w wiele elementów po sobie. Uczyć się o:
- Za pomocą kontrolery nawigacji, takie jak tabulatory i menu hamburgerów
- Za pomocą sprzęt komputerowy, takie jak aparat i akcelerometr
- Za pomocą układy, takie jak kontroler widoku tabeli i kontroler widoku strony
- Praca z animacje i przejrzyj przejścia
- The cykl życia aplikacji
- Kompilatory i narzędzia do tworzenia
Większość z tych tematów wymaga kilku dni (24–32 godzin) majsterkowania, prób i błędów oraz wyszukiwania zasobów.
Gdy już zrozumiesz podstawy, wejdź prosto praca ze źródłami internetowymi i rozwiązaniami opartymi na chmurze takie jak Parse. Wszystkie aplikacje są połączone z Internetem w taki czy inny sposób.
Niezależnie od tego, którzy są przyzwyczajeni do uczenia się nowych rzeczy, często mogą nakreślić swój własny plan nauki i niekoniecznie muszą stosować się do programu takiego jak kurs lub książka.
Zakończyć
Czy nie byłoby wspaniale mieć własną aplikację w App Store? Masz teraz podstawowy zarys narzędzi związanych z tworzeniem aplikacji i tego, czego potrzeba, aby nauczyć się tworzyć własne aplikacje. Zacznij od Swift, czytając książkę lub po samouczku, stwórz świetnie wyglądający interfejs z Balsamiq, zdobądź konto programisty i opublikuj tę aplikację!
Pełna lista referencyjna:
- Xcode
- Konstruktor interfejsu
- Apple Developer Program
- iTunes Connect
- Lot testowy
- Szybki
- Apache Cordova
- PhoneGap
- Sencha Touch
- RhoMobile Suite
- Elance
- oDesk
- Wytyczne dotyczące interfejsu ludzkiego
- Glify
- Makiety Balsamiqa
- Teehan + Lax iPhone PSD
- Analizować
- Appcelerator
- App42
- Stanford CS 193P iPhone Application Development
- Sams Naucz się Swift w 24 godziny
- My Heart Swift
- JamesonQuave
- AppCoda
- The Swift Programming Language Book
Nota redaktora: To jest napisane przez Reinder de Vries dla Hongkiat.com. Reinder to przedsiębiorca i twórca aplikacji, który uważa, że na świecie nie ma wystarczającej liczby twórców aplikacji. Opracował ponad 50 aplikacji, a jego kod jest używany przez setki tysięcy użytkowników na całym świecie. Kiedy nie koduje, uczy początkujących programistów, jak tworzyć własne aplikacje na LearnAppMaking.com.
Teraz przeczytaj: Jak zintegrować jQuery Mobile w Phonegap / Cordova