Kako podesiti pametne telefone i računare. Informativni portal
  • Dom
  • televizori (Smart TV)
  • Razvoj iOS-a za početnike: učenje kreiranja iOS aplikacija od nule. Kako sami kreirati aplikaciju za iOS: upute korak po korak

Razvoj iOS-a za početnike: učenje kreiranja iOS aplikacija od nule. Kako sami kreirati aplikaciju za iOS: upute korak po korak

Krajem prošlog mjeseca, programer Richard Felix objavio je zabavan članak u kojem je pokušao što jasnije i sažetije objasniti kako napraviti uspješnu aplikaciju za iOS. Posebno je podijelio korisne savjete za programere početnike, svoja zapažanja u pogledu dizajna programa i najnovije trendove u App Store-u.

Richard poznaje sve zamršenosti razvoja iz ličnog iskustva, budući da je u proteklih nekoliko godina kreirao niz popularnih aplikacija za moderne mobilne platforme i web (Are My Sites Up, Stunning, Dispatch i druge).

Dakle, u nekom trenutku svog života, odlučili ste postati programer i okušati se u kreiranju vlastite iOS aplikacije. Plašite se da ćete potrošiti mnogo vremena (i novca) na razvoj programa koji niko neće koristiti. Sanjate da kreirate aplikaciju koja će se aktivno prodavati godinu dana nakon objavljivanja, ali nemate pojma kako to učiniti. Dolje opisani savjeti pomoći će vam da ostvarite svoje ciljeve.

Pronađite originalnu ideju

Na svakoj prezentaciji, Apple najavljuje milionske prodaje iOS uređaja i fantastične rekorde App Store-a. Vođeni ovom činjenicom, mnogi programeri početnici pogrešno pretpostavljaju da će im stvaranje još jednog banalnog klijenta e-pošte ili uređivača fotografija omogućiti da zarade milijune dolara (po njihovom mišljenju, to ne zahtijeva nužno penjanje na vrh ljestvice Apple App Store-a).

Međutim, uprkos rasprostranjenosti iOS platforme, ovo je velika zabluda. Naravno, u ovom slučaju ćete zaraditi nešto novca i nadoknaditi razvojni proces, ali da biste istinski postigli smisleno uspjeh, vaš program ne samo da mora obavljati navedene funkcije, već i imati neku vrstu originalne osobine, neku vrstu poleta koja bi ga razlikovala od stotina konkurenata i privlačila pažnju na opštoj pozadini.

Istražite svoju ciljnu publiku

App Store svakome nudi pravo blago u obliku grafikona popularnih aplikacija, na osnovu kojih možete odlučiti o kategoriji programa, uočiti neke točke za sebe i pronaći tu vrlo originalnu ideju.

Trenutno možemo razlikovati sljedeće tri kategorije najpopularnijih programa u App Store-u:


  • Alternativne aplikacije za iOS sistemske programe (poboljšani kalkulatori, kalendari, email klijenti, uređivači fotografija, liste zadataka, itd.). Popularni su jer su mnogi ljudi suočeni s ograničenjima standardnih iPhone/iPad alata i žele proširiti funkcionalnost svojih uređaja. Apple kreira programe za široku upotrebu (jednostavni su za korištenje i intuitivni), zbog čega napredniji korisnici pate (ako vam treba više funkcija, morat ćete koristiti aplikaciju treće strane - i to je u našu prednost).

  • Igre, i to razne. Pogotovo one koje vas tjeraju da aplikaciju podijelite s prijateljima i kolegama, što je mnogo vrijednije od bilo kojeg reklamnog banera.

  • Aplikacije s minimalnim brojem funkcija koje se na prvi pogled čine tako elementarno da mnogi programeri odbacuju takve ideje čak iu fazi razmišljanja o projektu. Tipičan primjer je program koji se zove Over, koji vam omogućava da dodate elegantne natpise vašim fotografijama. Za naprednog korisnika Over može izgledati kao prilično ograničen alat, ali mnogi početnici su u potpunosti zadovoljni ovim „uređivačem fotografija“, što potvrđuje i dobra prodaja. Nevjerovatno je kako ispravna implementacija jedne deklarirane funkcije može dovesti do potpuno uspješnog programa.


Ne izmišljajte točak i često ažurirajte

Mnoge popularne iOS aplikacije su svoj uspjeh postigle zahvaljujući sljedećoj osobini - omogućavaju korisniku da brzo izvrši neku radnju (uređivanje fotografije, na primjer), ali ga ne opterećuju nepotrebnim funkcijama i dugmadima. Nema potrebe da ponovo izmišljate točak i kreirate uređivač fotografija sa funkcijom reprodukcije muzike.

Stavite se u kožu korisnika, pokušajte da se fokusirate na karakteristike koje će to učiniti stvarno korisno. Uopće nije potrebno implementirati sve svoje ideje u prvoj verziji, ostavite manje ideje za buduća ažuriranja aplikacije. Nakon što program bude pušten u App Store, imat ćete mnogo recenzija korisnika, na osnovu kojih možete izvući zaključke o potrebi implementacije ove ili one funkcije.

Osim toga, redovita ažuriranja aplikacije omogućavaju da se vaš proizvod stalno čuje, „bljesne” pred očima potencijalnih kupaca u blogosferi.

Nacrtajte šarenu ikonu

Prekrasna ikona je ključ uspjeha bilo koje aplikacije ( pa bilo ko? - napomena urednika). Držeći iPhone ili iPad u rukama, korisnik uvijek želi vidjeti kvalitetnu grafiku i “slatan” dizajn na svom displeju, koji, kako kažu, prija oku. Ljudi će vjerojatnije obratiti pažnju na program ako odjel dizajna utroši dovoljno vremena i truda na stvaranje atraktivne ikone brenda. Na kraju, ovo bi trebalo pomoći vašoj aplikaciji da dođe do vrha App Store ljestvica.

Na specijalizovanim sajtovima kao što su

Profesija programera jedna je od najprestižnijih i najtraženijih, to je činjenica. Industrija razvoja softvera ima svoje niše. Od njih najbrže rastući, a ujedno i najplaćeniji, je razvoj softvera za mobilne uređaje. Kao što znate, desilo se da su, ostavljajući svoje konkurente daleko iza sebe, tri konstantna rivala preuzela vodstvo. Trik je u tome što je jedan od ove trojice neprikosnoveni lider, a neko ih uvijek sustigne.

U segmentu mobilne tehnologije, Apple je nesumnjivo lider sa svojim iPhone pametnim telefonom. Na prezentaciji održanoj u septembru, kompanija iz Cupertina je demonstrirala 7. verziju mobilnog uređaja. Uz njega, Apple je predstavio i novu verziju mobilnog operativnog sistema iOS 10. Sada je to najznačajniji operativni sistem na svijetu, kao i njegovi prethodnici. Iz toga slijedi da je učenje razvoja iOS-a najbolja investicija vremena i novca.

Ekosistem jabuke

Danas ćemo razviti jednostavnu mobilnu aplikaciju za iOS. Naravno, izvorni Mac je najprikladniji za ovo. Ali ako podržavate Windows ili jednostavno nemate Mac, možete instalirati operativni sistem macOS pod virtuelnu mašinu u Windowsu. Na internetu vam neće biti teško pronaći verziju macOS-a posebno prilagođenu za PC, popularno nazvanu Hackintosh. Slobodno ga instalirajte na VMware virtuelnu mašinu, VirtualBox - vaš izbor. Odmah da vas upozorim da PC tastatura nema neke od tastera koji se nalaze na Mac tastaturi, a mnoge njihove kombinacije se ne mogu pritisnuti u Hackintosh-u. Ovo prilično kvari raspoloženje. Inače, sve dolje opisane operacije mogu se uspješno izvesti na Hackintosh-u.

Obavezno znanje

Da biste programirali općenito, a posebno za iOS, morate znati dosta toga. Matematika i logika možda neće biti potrebni u početku, ali će kasnije biti traženi. Moderna tehnologija je eliminisala potrebu da programer ima temeljno poznavanje arhitekture računara, ali je neophodno razumevanje osnovnih mehanizama kao što su sistemi brojeva, njihova konverzija, brzina potprograma ili efikasnost algoritama (veliko O).

Na višem nivou, iOS programer treba da ima duboko znanje o macOS operativnom sistemu i samom iOS-u. Takođe morate savladati Apple programski jezik. Poznavanje Delphija, C++, C# ili VB.NET neće vam puno pomoći. Apple ima svoj ekosistem sa svojim jezicima: Objective-C i Swift. Naravno, poznavanje C++ nikada nikome nije štetilo, programi i umetci zasnovani na njemu nalaze se svuda, čak i u Appleu. No, po definiciji se najviše koristi Objective-C, jednostavno zato što se pojavio mnogo ranije (sredinom osamdesetih godina prošlog stoljeća), dok je Swift prije samo dvije godine (2014.). Apple polaže velike nade u novi jezik i mnogo ulaže u njega. Objective-C se koristi za podršku starog softvera, a novi je napisan u Swiftu. Zato je dobro da znate oboje.

Kako ne bi gubili vrijeme, svi ovi programski jezici se mogu naučiti pod strogim nadzorom nastavnika na web stranici.

Razvojni alati

Kao što znate, glavni programski alat za macOS i s njim iOS je programsko okruženje Xcode. Uključuje alate za kreiranje aplikacija za Mac, iPhone, iPad, Apple TV, Apple Watch. Sve Apple platforme. Xcode sadrži Interface Builder, uređivač koda koji podržava sve moderne alate za kod. Osim toga, bez napuštanja Xcodea, možete testirati aplikaciju; ako je razvijen za eksterni uređaj, onda se može pokrenuti u emulatoru.

Sistem uključuje emulatore svih uređaja čije se nove verzije mogu preuzeti. Osim toga, Xcode sadrži grafičke alate za analizu performansi aplikacije, uključujući alate za dijagnosticiranje opterećenja CPU-a, korištenja pohrane (HDD, SDD i drugi), opterećenja na grafičkom adapteru (sa OpenGL strane).

Dana 13. septembra objavljena je nova, dugo očekivana verzija razvojnog okruženja 8.0. Stabilne verzije mogu se besplatno preuzeti sa App Store-a. Alfa i beta verzije se distribuiraju putem pretplate programera. Osma verzija uključuje: novu verziju jezika Swift 3, alat za učenje za Swift Playground za iPad, novu verziju Interface Builder-a, koja je postala brža i koja vam omogućava da vidite izgled aplikacije na različitim platformama, bez potrebe za implementirati samu aplikaciju na simulatoru.

Xcode 8 se može koristiti za razvoj aplikacija za macOS Sierra, iOS 10, watchOS 3 i tvOS 10. Svi SDK-ovi su dostupni. Nove verzije operativnih sistema počele su se konstantno pojavljivati ​​odmah nakon Appleove prezentacije, koja se održala početkom septembra.

Objective-C jezik

Prisjetimo se ukratko osnovnih podataka o jeziku. Objective-C je kompajlirani objektno orijentisani programski jezik koji se koristi za pisanje aplikacija za Apple sisteme. To je nadskup ili, drugim riječima, dodatak za C, koji nasljeđuje od potonjeg sintaksu, tipove podataka, metode praćenja napretka izvršavanja programa i dodajući mu mogućnosti objektno orijentiranog programiranja - opis klasa i metode.

Kao iu C++, u Objective-C centralnu ulogu imaju objekti, koji su povezani sa četiri paradigme: apstrakcija, enkapsulacija, nasljeđivanje, polimorfizam. C++ je jezik sa jakom tipizacijom, dok je Objective-C slabo kucan ili ima sistem dinamičkih tipova podataka. Kao i Smalltalk, Objective-C šalje poruke objektima. Ovo je izuzetna karakteristika dinamičkih jezika jer se tip objekata provjerava u vrijeme izvođenja, a ne u vrijeme kompajliranja.

Opis jezika Objective-C zauzima više od jednog obimnog toma. Stoga je, kako bi stekli objektivno znanje, zgodno pohađati kurs “”. Čitav dio kursa posvećen je ovom jeziku.

Razvoj iOS aplikacija

Kao primjer ćemo razviti vrlo jednostavnu aplikaciju. Ne odstupajmo od svete tradicije, pozdravimo svijet. Međutim, uzimajući u obzir činjenicu da imamo grafičku aplikaciju, malo ćemo je diverzificirati: dodaćemo dugme, kada kliknemo, prikazat ćemo ili sakriti natpis „Zdravo, svijete“.

Pokrenite Xcode, u prozoru koji se pojavi izaberite Kreiraj novi projekat ili u glavnom meniju File -> New -> Project. Sljedeći prozor će od vas tražiti da odaberete ciljnu platformu i tip aplikacije.


U ovom slučaju nas zanima iOS platforma. Postoji sedam vrsta aplikacija koje možete izabrati. Šest od njih su šabloni za tipične aplikacije iOS operativnog sistema, koji podrazumevano sadrže drugačiji skup komponenti. Sedma vrsta je igra.

Vrste aplikacija

  • Predložak aplikacije Single View je dizajniran za jednostavnu aplikaciju na jednom ekranu. Preset uključuje komponentu View Controller, koja vam omogućava da prilagodite izgled aplikacije pomoću dizajnera obrazaca Interface Builder.
  • Master Detail Application kreira aplikaciju koja prikazuje kolekciju objekata u prikazu tabele. Nakon odabira jednog od njih, prikazuju se detaljne informacije o tom objektu. Prvi pogled je glavni, drugi je detalj.
  • Aplikacija zasnovana na stranicama kreira aplikacije koje imaju više ekrana, poput stranica u knjizi. Shodno tome, e-čitači se kreiraju iz ovog praznina.
  • Aplikacija sa karticama omogućava kreiranje aplikacija na koje se svaki ekran može prebaciti u bilo koje vrijeme, odnosno svaki ekran ima svoje dugme za njegovo aktiviranje, na kojem se prikazuje naslov. Primjer je iTunes.
  • Igra se koristi za kreiranje šablona igre. Postoje četiri okvira za odabir za kreiranje igre: SpriteKit, SceneKit, OpenGL ES, Metal. Pogledajmo ih ukratko.
    SpriteKit je sistem za 2D renderovanje i animaciju teksturiranih pravougaonika - spriteova. Prilikom prikaza okvira koristi se standardna petlja, okvir se prikazuje nakon što se obradi sav sadržaj scene.
    SceneKit je okvir visokog nivoa za renderovanje 3D grafike bez OpenGL-a. Podržava učitavanje, manipulaciju 3D objektima. Uključuje: motor fizike, generator čestica i jednostavan metod skriptiranja.
    OpenGL ES je standard u kompjuterskoj grafici. Omogućava vam da vizualizirate 2D i 3D scene. Omogućava vam da opišete cjevovod za video karticu: vrhovi prolaze transformaciju, sastavljaju se u primitive, koji se rasteriziraju u dvodimenzionalnu sliku i prikazuju na ekranu. Programabilni shaderi mogu biti uključeni u cevovod.
    Metal je API niskog nivoa koji će vam omogućiti da izvučete maksimum iz vašeg video adaptera. Pojednostavljeni API-ji zajedno s unaprijed kompajliranim shaderima i multi-threading podižu vašu igru ​​na novi nivo performansi i kvaliteta.
  • Sticker Pack Application je novi tip aplikacije predstavljen u iOS 10 i Xcode 8. To je skup jednostavnih ili animiranih slika koje se koriste u novom iMessageu. Za kreiranje nije potrebno kodiranje.
  • iMessage aplikacija je nova vrsta aplikacije koja se pojavila u iOS 10 i Xcode 8. Omogućava vam da kreirate dodatke za iMessage, na primjer da kupite i preuzmete svoj paket naljepnica. Također možete koristiti iMessage API za kreiranje vlastitog analoga ove aplikacije, uključujući reprodukciju zvuka, videa, korištenje naljepnica i još mnogo toga.

Kreiranje prvog projekta

Kao predložak za našu aplikaciju, izabrat ćemo aplikaciju Single View. Budući da nećemo razvijati veliki program, sredstva predviđena ovom odredbom biće nam dovoljna. Kliknite na Next. Na sljedećoj stranici čarobnjaka trebate unijeti naziv projekta, na primjer ShowLab. U padajućoj listi Jezik ostavite odabrani podrazumevani jezik - Objective-C. Zatim na padajućoj listi Uređaji ostavite Univerzalni izbor. Ovdje određujete za koji uređaj (iPhone ili iPad) se aplikacija kreira. Univerzalna klauzula znači za oboje. Poništimo okvire Uključi jedinične testove i Uključi UI testove; ne trebaju nam nikakvi testovi. Sljedeći. Odaberite folder za spremanje projekta. Sada kliknite na dugme Kreiraj.

Kao rezultat, otvorit će se prozor sa listom svih parametara primijenjenih na projektu. U ovom prozoru možete promijeniti parametre koje ste prethodno postavili u čarobnjaku: orijentaciju, ciljni uređaj itd.


Prvo treba da kreiramo interfejs aplikacije. Da biste to učinili, jednim klikom odaberite datoteku Main.storyboard na listi s lijeve strane (ako ova datoteka nije vidljiva, proširite sadržaj foldera ShowLab). Sa desne strane liste, ceo prozor će zauzeti Interface Builder. Izgled uređaja će biti prikazan u sredini. U donjem desnom uglu prozora nalazi se panel komponenti. Prevucite komponente Label i Button odatle na izgled. Iznad panela komponenti nalazi se lista svojstava. Ako ga nemate, kliknite na dugme Prikaži inspektor atributa koje se nalazi ispod naslova prozora na desnoj strani interfejsa.

Odaberite komponentu Label u izgledu i konfigurirajte njeno svojstvo Text: ostavite odabir Plain na padajućoj listi, unesite željeni natpis u liniju ispod, u našem slučaju "Hello, World". Ako se tekst ne uklapa u granice naljepnice, promijenite ih povlačenjem ručki na rubovima komponente. Da biste ga horizontalno centralizirali, idite na stranicu Inspektor veličine klikom na dugme Prikaži inspektor veličine (desno od Prikaži inspektora atributa). Na ovoj stranici, sa padajuće liste Rasporedi, izaberite Centriraj horizontalno u kontejneru.

Sada odaberite komponentu Button, promijenite njeno svojstvo Text u željenu oznaku - Switch. Možete ga centrirati na isti način kao što je gore opisano.

Stvaranje veze između grafičkih elemenata i koda

U Visual Studio (ili Delphi), objekat u kodu se kreira automatski u trenutku kada postavite vizuelnu komponentu na obrazac. Ovo se ne dešava u Xcode-u, ali ne uzrokuje probleme.

Otvorite sadržaj zaglavlja ViewController.h u zasebnom prozoru dvostrukim klikom na njega. Ova datoteka sadrži deklaraciju ekstenzije klase UIViewController, označenu ključnom riječi @interface. Ova funkcija je dodana drugoj verziji Objective-C. Sada izvedite ovaj trik: pomaknite kursor miša na komponentu - tekstualnu oznaku, držite pritisnutu tipku Ctrl i lijevu tipku miša. Pomerite kursor na prozor sa kodom (datoteka ViewController.h), plava linija će pratiti kursor. Otpustite miš i taster unutar opisa interfejsa ViewController.

Pojavit će se prozor za kreiranje utičnice.


Ovo je svojstvo objekta koje se odnosi na drugi objekt (u ovom slučaju, vizualnu komponentu). Potrebno je da unesete naziv Outlet objekta, preko kojeg ćete pristupiti vizuelnoj komponenti, neka to bude lab. Zatim se odabire tip objekta, odabran je ispravno: UILabel.

Još niže na listi Skladištenja odaberite tip reference objekta: slab ili jak. Ako odaberete jak, tada će objekt na koji ukazuje svojstvo postojati sve dok svojstvo ukazuje na njega, u kom slučaju neće biti automatski obrisan kada se više ne koristi. S druge strane, kada je slaba referenca na snazi, objekt se može samouništeti. Dakle, odaberite vrstu slabe veze i kliknite na dugme Poveži. Kao rezultat, sljedeći red će biti dodan u kod:

@property (slabo, nenatomsko) IBOutlet UILabel *lab;

Uvjerimo se da je Outlet vlasništvo.

Sada kreirajmo utičnicu za dugme. Algoritam ostaje isti. Samo za svojstvo Name morate unijeti drugo ime, na primjer ali. Linija će biti dodata kodu:

@property (slabo, nenatomsko) IBOutlet UIButton *ali;

Kao rezultat, imamo dva pokazivača na vizuelne komponente: laboratoriju i ali - respektivno, natpis i dugme. Sada, koristeći pokazivače, možemo manipulirati komponentama u kodu.

Zatim morate kreirati rukovao događajima klikom na dugme. Da biste to učinili, otvorite implementacioni fajl ViewController.m u zasebnom prozoru. Na potpuno isti način kao što ste povukli liniju u datoteku zaglavlja da biste kreirali izlaz, iz dugmeta prevucite liniju u datoteku implementacije i ispustite je u zagradu komande za zatvaranje - @end. Pojavit će se prozor za kreiranje događaja, sličan prozoru za kreiranje utičnice. Vidite razliku: veza do objekta je kreirana u datoteci zaglavlja, metoda je kreirana u datoteci implementacije.


Popunite polje Ime, njegova vrijednost predstavlja naziv svojstva - metode. Neka bude onClick. Ostavite vrijednost polja Vrsta kao zadanu vrijednost - id. U Objective-C, ovaj tip je predak svih ostalih. U padajućoj listi Događaj podrazumevano je izabran događaj Touch Up Inside, koji se javlja kada se pokazivač (miš, prst...) pusti preko dugmeta, odnosno poslednja faza pritiska na dugme. To je ono što nam treba. U listi Argumenti ostavićemo podrazumevanu vrednost: Sender je objekat koji je poslao ovaj signal, u našem slučaju to će uvek biti dugme. Kliknite na dugme Poveži. Kao rezultat, bit će dodan sljedeći kod:

- (IBAction)onClick:(id)sender ( )

Minus na početku znači zatvorenu metodu (privatno). Ključna riječ IBAction označava događaje (metode) vizualnih komponenti iz Interface Builder-a.

Između komandnih zagrada upisaćemo kod koji se izvršava kada se pritisne dugme:

Lab.hidden = !_lab.hidden;

U ovom redu koda invertujemo vrijednost skrivenog svojstva. Ona je tipa BOOL, koja ima dvije vrijednosti: DA - tačno i NE - netačno (malo neobično za Windows programere, gdje je istina i netačno).

Obratite pažnju na donju crtu ispred naziva objekta - oznake (_lab). Bez toga, kompilacija neće uspjeti. Donja crta se automatski dodaje za objekte sadržane u drugim objektima; to jest, u ovom slučaju, laboratorijski objekat je sadržan u ViewController objektu. Ranije je ovo bila konvencija koja se koristila za razlikovanje između objekata deklariranih kao članovi klase i lokalnih objekata. A sada je ovo striktno pravilo implementirano u kompajleru jezika.

Sada možete kompajlirati aplikaciju i pokrenuti je na simulatoru. Izabrali smo simulator za iPhone 7, uključen u Xcode 8. Dugme za kompajliranje i pokretanje je crni pravougaonik i nalazi se u traci na vrhu interfejsa.

Nakon kompajliranja aplikacije, pokretanja simulatora i učitavanja naše aplikacije, njeno sučelje će biti prikazano na ekranu simulatora: natpis „Zdravo, svijete“ i dugme za prebacivanje. Ako pritisnete zadnji, natpis će nestati, ako ga ponovo pritisnete, ponovo će se pojaviti.

Napravili smo vrlo jednostavnu aplikaciju za razumijevanje suštine iOS razvoja. Detaljnije informacije o kreiranju iOS aplikacija u Objective-C možete saznati iz kursa naših prijatelja iz GeekBrains “. Kurs je posvećen učenju ovog jezika dva mjeseca. Tokom prvog mjeseca - uvodne teme, au drugom - pravo kodiranje profesionalnih aplikacija.

Swift language

Apple je 2014. godine predstavio novi programski jezik - Swift. Ubrzo je postao jezik o kome se najviše govori i najbrže rastući jezik na svijetu. Ovo je pouzdan, siguran, intuitivan jezik za razvoj aplikacija za macOS, iOS, tvOS i watchOS operativne sisteme za cijelu flotu Apple uređaja. Swift je efikasan programski jezik. Lakše ga je naučiti nego njegov prethodnik, Objective-C, a Swift posuđuje neke od njegovih najboljih ideja. Istovremeno, programeri su jezike učinili kompatibilnim, odnosno jedan program može sadržavati kod i u Swiftu i u Objective-C. U svijetu postoje milijarde linija koda i stotine hiljada naslijeđenih programa napisanih u Objective-C, tako da njegova podrška definitivno neće biti napuštena.

Prilikom razvoja Swifta, cilj je bio stvoriti najpogodniji sistemski programski jezik - brz, siguran i izražajan.

Algoritam u Swiftu je 2,6 puta brži od istog algoritma u Objective-C i 8,4 puta brži nego u Pythonu. Upotreba Swifta čini proces razvoja programa fleksibilnijim i praktičnijim.

Zbog svog eksponencijalnog razvoja, Swift jezik je pušten zajednici otvorenog koda 3. decembra 2015. Istovremeno, Apple striktno prati njegov razvoj, organizirajući komitet za njegov razvoj. Swift je sada dostupan ne samo na Apple sistemima, već i na Linuxu. Svi dodatni alati za rad sa jezikom, uključujući program za otklanjanje grešaka, standardnu ​​biblioteku, menadžer paketa, takođe su besplatni i otvoreni.

Ovaj jezik je budućnost. Detaljnije informacije o tome možete saznati iz spomenutog kursa GeekBrains “, u kojem je cijeli mjesec posvećen učenju ovog programskog jezika.

Prodavnica aplikacija

Jednostavno rečeno, App Store je prodavnica sadržaja za čitav niz Apple uređaja. Ovdje možete kupiti igre i aplikacije od velikih kompanija i nezavisnih programera. Svaki programer, bez obzira u kojoj zemlji živi, ​​može besplatno prodavati ili distribuirati svoje programe na ovoj platformi za digitalnu distribuciju. Da biste to počeli, morate se registrovati kao programer i kupiti licencu za prodaju svojih aplikacija. Ovo je naknada za pruženu uslugu i razvoj App Store-a.

Rezultati

Razvili smo jednostavnu aplikaciju za iOS mobilni operativni sistem koristeći programski sistem Xcode zajedno sa jezikom Objective-C. Gotovu aplikaciju smo testirali na simulatoru iPhone 7. Naučili smo kako da napravimo korisnički interfejs koristeći Interface Builder, kako da povežemo grafičke elemente sa kodom aplikacije i kako da kreiramo rukovaoce događajima. Upoznali smo se sa osnovama Objective-C. Osim toga, skrenuli smo pažnju na obećavajući Swift jezik, koji se koristi za razvoj moćnih i sigurnih aplikacija za Apple ekosistem.

Međutim, proučeni materijal je samo početak. Kako biste se intenzivno nadograđivali u smjeru mobilnog kodiranja i razvoja stvarno prodajnih aplikacija, preporučujemo da pohađate kurs „“ na web stranici naših prijatelja.

Ovo je vrijedan kurs: ako ga uzmete, sigurno nećete gubiti vrijeme. Počinje sa dva detaljna kursa o jeziku Java, nakon čega slijedi učenje osnovnog programiranja za Android mobilni operativni sistem. Sljedeći je kurs o bazama podataka općenito i SQL jeziku posebno. Zatim dubinski kurs o razvoju profesionalnih Android aplikacija. Nakon toga, vektor učenja će se kretati ka Apple sistemima: dva detaljna kursa o Objective-C jeziku i korisni kurs o Swiftu.


Predavanja na predmetu drže profesionalni nastavnici sa velikim iskustvom u razvoju softvera. Ako nešto nije jasno, možete postaviti pitanje bez odlaganja. Općenito, učenje na GeekBrains-u je proces uživo, možete komunicirati, postavljati pitanja i pomoći s odgovorima. Za provjeru stečenog znanja nastavnici zadaju domaći zadatak, koji se potom provjerava. Nakon završene obuke, imaćete zagarantovanu praksu u IT kompaniji. A onda sve zavisi od vas, ako se pokažete kao kompetentan specijalista, bićete pozvani na posao.

Poseban projekat sa kompanijom

Pa, vrijeme je da napišemo naš prvi program za naš iPhone. Ako još niste instalirali XCode + iPhone SDK, trebali biste. Dakle, imamo instaliran i konfiguriran XCode, hoćemo li početi?

Prvo, naučimo najjednostavnije stvari. Napravimo program u kojem će biti jedno tekstualno polje u koje ćemo upisati naše ime i jedno dugme, klikom na koje će naše ime biti upisano u pozdravu. Naš prvi program će izgledati ovako:

Kreiramo naš prvi, a nadamo se ne i posljednji projekat:

Zatim ćemo biti upitani koju vrstu aplikacije kreirati. Na lijevoj strani panela odaberite iPhone OS -> Aplikacija i u centralnom prozoru izaberite tip projekta Aplikacija zasnovana na prikazu. Nazovimo naš prvi program, recimo, FirstApp

Kao rezultat, kreiramo projekat sa već kreiranim kontrolerom (prvi prozor našeg programa)

Glavni prozor projekta izgleda ovako:

Xcode je kreirao prvi kontroler za nas, to su dva fajla pod nazivom FirstAppViewController.h i FirstAppViewController.m

Datoteka FirstAppViewController.h djeluje kao zaglavlje (otuda ekstenzija datoteke .h iz zaglavlja riječi).U njemu ćemo najaviti varijable i metode koje ćemo koristiti u glavnoj datoteci FirstAppViewController.m

I tako, otvorite datoteku FirstAppViewController.h i kreirajte dva pokazivača:

IBOutlet UILabel *korisničko ime;

Prva varijabla, korisničko ime, je tekstualna oznaka u koju ćemo napisati naše ime. nikField je tekstualno polje odakle ćemo čitati naše ime.

Morate ovo zapisati u blok @interface firstAppViewController: UIViewController ( )

Također ćemo kreirati metodu koju ćemo pozvati kada se klikne na dugme kako bismo se predstavili. Nazovimo metodu setNik:

- (IBAction)setNik;

Kao rezultat, naš FirstAppViewController.h fajl bi trebao izgledati ovako:

#import @interface firstAppViewController: UIViewController ( IBOutlet UILabel *korisničko ime; IBOutlet UITextField *nikField;) - (IBAction)setNik; @end

Sada, idemo na datoteku FirstAppViewController.m

Dodajmo ovdje naš setNik metod. Morate pisati iza reda @implementation firstAppViewController

- (IBAction)setNik( korisničko ime.text = nikField.text; }

Ovdje navodimo da kada se ova metoda izvrši, tekst iz polja nikField će biti upisan u tekstualnu oznaku korisničkog imena

Također moramo osloboditi memoriju od ovih pokazivača nakon što ih koristimo. Ovo se radi metodom tzv dealoc

- (void)dealloc ( ; ; ; )

Jednostavno dodajemo sve pokazivače koje smo koristili u ovom formatu:;

Sada otvorite datoteku interfejsa FirstAppViewController.xib Pokreće se u uređivaču interfejsa za izgradnju interfejsa.


Iz biblioteke komponenti povlačimo komponente koje su nam potrebne u prozor našeg programa i raspoređujemo ih što je zgodnije moguće. Zatim, u malom prozoru, odaberite File’s Owner i pritisnite Command+2, što nas vodi do menija Inspektora veza. Vidimo tu listu naših znakova koje smo već zapisali, a desno od njih su prazni kružići. Kliknite na prazan krug pored pokazivača nikField i, ne puštajući ga, prevucite ga u polje za tekst. Kada pomaknemo pokazivač miša na njih, on se ocrtava u pravougaoniku i pušta. Stoga smo ovo polje vezali za pokazivač nikField. Sada ćemo isto učiniti sa pokazivačem korisničkog imena i povući ga do teksta gdje želimo vidjeti naš nadimak (na mojoj slici je to tekst %username%). Malo niže vidimo našu metodu setNik i povezujemo je sa našim dugmetom. Ali kada ga premjestite na dugme i otpustite, pojavit će se kontekstni meni iz kojeg odaberite Touch Up Inside. To znači da će ova metoda raditi kada pritisnemo i pustimo dugme. Baš ono što nam treba :)

Pa, sačuvajte, vratite se na Xcode i kliknite Build & Run. Ura, pokrenut je naš prvi program :) Kliknite na tekstualno polje, pojavljuje se tastatura, upišite ime. Ali našem programu još uvijek nedostaje jedan mali dodir. Ovo je da uklonite tastaturu pritiskom na dugme Gotovo kada završimo sa unosom našeg imena.

Da bismo to učinili, ponovo uključimo dizajner interfejsa i kliknemo na naše dugme. Pritisnite Command+1 i tamo pronađite blok Osobine unosa teksta. Ima nekoliko padajućih lista, ali nas zanima samo donja: Return Key. Odaberite Gotovo sa liste i na dnu bloka stavite kvačicu pored Auto-enable Return Key. Zatim idemo na Command+2 Connections Inspector i tamo vidimo riječ delegat. Kliknite na šalicu pored nje i prevucite je na blok Vlasnik datoteke

Sada se vraćamo na našu datoteku FirstAppViewController.m Nakon naše setNik metode, dodajemo sljedeći kod:

- (BOOL)textFieldShouldReturn:(UITextField *)theTextField ( ; vrati DA; )

Čuvamo i pokušavamo pokrenuti (možete koristiti kombinaciju Command+R) Pokušavamo upisati naše ime u polje za tekst. Prilikom pisanja pojavljuje se dugme Gotovo; klikom na njega zatvara se tastatura. Sada kliknemo na naše dugme i voila, program nas pozdravlja :)

To bi izgledalo kao mala stvar, samo pomislite da su napisali tako malu stvar. I kada sam prije mnogo godina učio Delphi, naučivši jedan takav primjer, da kada pritisnete dugme nešto bi pisalo na ekranu, već sam pravio različite igračke. Sjećate se jedne od prvih igara u pretraživaču, Fight Cluba? Tako da sam uradio nešto slično iz zabave, i sve je bilo zasnovano na potpuno istom principu kao što smo mi upravo radili. Zato se igrajte i eksperimentirajte!

Evo linka do arhive projekta, možete je preuzeti, uključiti i vidjeti da li nekome nije uspjelo. Pa, ako imate pitanja, pišite u komentarima.

2008. godine otvoren je App Store u Apple iTunes prodavnici. Od tada je Apple odobrio više od 500.000 aplikacija. Osim toga, svaki dan, hiljade aplikacija se pojavljuju kao ideje i skice širom svijeta. Postavlja se pitanje kako ljudi s ograničenim tehničkim resursima i vještinama kreiraju iPhone aplikacije?

Dobra vijest je da svako može napraviti iPhone aplikaciju, samo je pitanje poznavanja niza koraka koje trebate poduzeti. Ovaj članak će vas voditi kroz korak po korak proces stvaranja vaše prve iPhone aplikacije, od ideje do objavljivanja u App Storeu.

Šta je tvoj cilj?

Prije početka razvoja softverskog proizvoda potrebno je odrediti ciljeve projekta. Prisutnost ovakvih ciljeva na samom početku projekta važan je parametar koji će pomoći da se odgovori na pitanje da li se projekt razvija u važnom smjeru.


Pogledajmo primjer. Odlučili ste da kreirate aplikaciju koja će generisati pasivan prihod, a istovremeno vas neće odvlačiti od vašeg glavnog posla. Razumijete da za postizanje ovog cilja morate zaposliti ljude koji će ažurirati aplikaciju i odgovarati na pitanja korisnika. Da niste unapred definisali svoj cilj, verovatno biste:

Ne bi zaposlio ljude za podršku;
- ne bi bilo drago što podrška za aplikacije zahtijeva vaše lično vrijeme.

I bez obzira da li ste samostalni poduzetnik, direktor marketinga ili IT stručnjak koji kreira aplikacije za korištenje unutar kompanije, definiranje svrhe projekta pomoći će da proces razvoja bude uspješan.

Evo nekoliko primjera ciljeva projekta:

Kreirajte aplikaciju koja ne zahtijeva svakodnevno upravljanje;
- kreirajte aplikaciju koja će postati glavni svakodnevni posao za vas i vaš tim;
- kreirajte aplikaciju za promociju vaših proizvoda ili usluga;
- kreirajte nekomercijalnu zabavnu aplikaciju.

vježba: Formulirajte ciljeve koje želite postići kreiranjem vaše aplikacije.

Koja su Vaša očekivanja?

Najčešće pitanje ljudi koji imaju ideju za iPhone ili iPad aplikaciju je: „Koliko mogu zaraditi?“ Nažalost, teško je dati precizan odgovor na ovo pitanje. Sljedeći parametri su jedinstveni za svaku aplikaciju:

Troškovi stvaranja;
- popularnost;
- ljudi odgovorni za upravljanje njegovim uspjehom.

Svi ovi faktori utiču na finansijski uspjeh vaše aplikacije. Planirajte svoja očekivanja na osnovu ovog znanja.

Primjeri stvarnih prihoda će se razlikovati za svaku aplikaciju, ali evo jednog važnog primjera:

Aplikacija "A", čija se funkcionalnost zasniva na komercijalno uspješnoj aplikaciji "B", pokazat će mnogo manji profit od aplikacije "B".

Danas aplikacije kreiraju ne samo kompanije već i pojedinci, ali proces kreiranja aplikacija mnogima još uvijek nije poznat. Zatim ćemo vas provesti kroz proces kreiranja aplikacije korak po korak kako bismo vašu prilagođenu ideju pretvorili u stvarnost.

Gdje početi?

Dobar savjet o tome odakle početi danas je mnogo drugačiji nego prije dvije godine, kada ste mogli pokrenuti aplikaciju bez puno truda, a i dalje biti primjećeni. Konkurencija u App Storeu je trenutno žestoka, sa desetinama novih, visokokvalitetnih aplikacija koje se objavljuju svaki dan. Da biste postigli maksimalan uspjeh u veoma konkurentnom okruženju App Store-a, vaše ideje moraju biti odvagnute i razvijene.

Nije lako procijeniti nešto u čemu niste stručnjak. Na primjer, da dizajner ima ideju za inovativni dizajn dječjeg autosjedalice, da li bi ta osoba bila kvalifikovana da procijeni svoju ideju? Vjerovatno ne. Morao bi potražiti savjet od nekoga tko je specijaliziran za dječja auto sjedišta. A samo stručnjak u svojoj oblasti može pomoći da ideja bude još bolja, zahvaljujući svom stručnom znanju.

I kod mobilnih aplikacija, kako biste procijenili svoje ideje, bolje je kontaktirati ljude koji su za to dobro kvalifikovani:

- iPhone App Marketing Professionals
Ovi ljudi imaju specijalizovano znanje o tome koliko su aplikacije njihovih klijenata bile uspešne u App Store-u, kao i koje tehnike promocije rade, a koje ne.

- Programeri iPhone aplikacija
Mnogi uspješni nezavisni programeri zainteresirani su za povezivanje sa zajednicom. Ako pitate ove ljude za savjet, većina njih će rado pomoći u analizi vaše ideje.

- Lične veze
Poznajete li nekoga lično ko je osmislio i kreirao aplikaciju? Razgovarajte o svojoj ideji s njima.

Šta vam daje tuđa procjena?

Kada dobijete stručno mišljenje o svojoj ideji, naučit ćete sljedeće:

Da li će vaš proizvod imati jaku konkurenciju;
- da li ideja ima tehnička ograničenja;
- kako primijeniti korak po korak pristup u procesu razvoja;
- možete li na bilo koji način unaprijediti ideju za povećanje prodaje;
- koliko je vaša ideja isplativa, uzimajući u obzir troškove izrade;
- da li je ideja pogodna za upotrebu u mobilnim uređajima;
- da li vaša ciljna publika može pružiti traženi povrat.

Ovaj skup informacija treba dobiti od iskusnog recenzenta. I tek nakon što dobijete ove informacije, možete samouvjereno preći na sljedeće korake projekta, nakon što ste dobili objektivno povjerenje kako u održivost svoje ideje tako i u sposobnost da postignete svoje ciljeve.

Šta učiniti ako ne možete pronaći nekoga ko će cijeniti vašu ideju?

Zapitajte se da li se ovi faktori uspjeha odnose na vašu aplikaciju:

- Da li vaša aplikacija rješava neki jedinstveni problem?
Ljudi žele da budu u stanju da reše mnoge probleme dok su u pokretu. Uspješne aplikacije često rješavaju problem koji je jedinstven za mobilni kontekst.

- Koju nišu zauzima vaša aplikacija?
Pronađite nišu koja ima puno aktivnih korisnika i kreirajte aplikaciju koja će riješiti njihove probleme.

- Da li to nasmijava ljude?
Šta se događa sa smiješnim aplikacijama? Postaju popularni.

- Radiš li nešto bolje?
Postoje li postojeće uspješne aplikacije kojima nedostaju važne karakteristike ili dobar dizajn? Ali ovo je rizik jer ove karakteristike ili promjene mogu uskoro doći. Ali ako stignete prvi, sreća je vaša.

- Koliko će vaša aplikacija biti interaktivna?
Većina ljudi brzo izgubi interesovanje. Uspješne igre ili programi zahtijevaju stalnu aktivnu interakciju korisnika.

vježba: Analizirajte svoju ideju.

Korak 1: Razvijte plan monetizacije i marketinga

“Čekaj, jesmo li spremni da nacrtamo prototipove i sve ostalo?” U stvari, ne još. Sljedeći korak prije nego što pređete na dizajn ili razvoj je da shvatite kako će vaša ideja zaraditi novac!

"Zašto je ovo tako važno? Ne mogu li to učiniti kasnije?" Možete, ali smo anketirali više od 100 programera i na osnovu toga kažemo da 80% aplikacija ne generiše dovoljan prihod za samo poslovanje.

I bilo bi glupo pretpostaviti da većina od tih 80% nije razvila svoj plan monetizacije i marketinški plan prije kreiranja aplikacije. Čitajte blogove i vidite kako vole da rade svoj posao. Rezultati govore sami za sebe:


Evo primjera šta će se dogoditi ako ne razmislite o strategijama monetizacije prije nego što razvijete svoju aplikaciju:

"Imam odličnu ideju!"
Skica.
Dizajn.
Razvoj.
"Mislim da ću naplatiti 99 centi. Vidjet ćemo kako će to funkcionirati."
Pokreni. "Ura!"
"Čudno. Zašto ljudi ne plate 99 centi?!"
Aplikacija strmoglavo pada u App Store crnu rupu.
„Da li da to učinim besplatnim?!”
"Gdje je moj programer? Moram popraviti aplikaciju, promijeniti način na koji se unovčava, jer 99 centi ne radi!"
"U redu, aplikacija je popravljena, odabrana je drugačija metoda monetizacije. Ali kako sada da vratim izgubljene pozicije?"


Nije prijatan, ali vrlo vjerojatan scenario. Ako su vam potrebne upute korak po korak o tome kako izbjeći greške u cijenama, koristite.

vježba: Razvijte plan monetizacije.

Korak 2: Registrirajte račun programera

Čak i ako naručite razvoj aplikacije od nekog drugog, unutar App Store-a ćete sami voditi posao. Možete registrirati račun u iOS razvojnom centru. To će koštati 99 dolara godišnje. Osim toga, morate dati informacije o svom bankovnom računu. Pripremite ove informacije prije registracije.


Bez registracije računa programera možete samo ako planirate objaviti svoju aplikaciju na računu druge osobe ili kompanije. Ali u ovom slučaju potrebno je uzeti u obzir da Apple sav prihod od aplikacije prenosi na bankovni račun vlasnika računa. Vlasnik računa je odgovoran za prijenos novca vama.

vježba: Registrirajte iOS programer račun.

Korak 3: Skicirajte svoju aplikaciju

Ako već imate ideju, onda najvjerovatnije već imate vizualni prikaz kako će aplikacija izgledati i prikazati informacije. Ne morate biti umjetnik ili dizajner da biste skicirali interfejs, pa počnite da svoje ideje stavljate na papir. Ali prije nego što počnete, zapitajte se:

Koje su glavne radnje koje će korisnici poduzeti unutar aplikacije?
- Koje informacije treba da budu prikazane na svakom ekranu?
- Kakav je redosled radnji? Kako će korisnici doći od početka do kraja?
- Koliko će biti veliki elementi na ekranu, koje će biti njihove relativne veličine?


Nacrtajte barem jednu skicu za svaki ekran vaše aplikacije. Isprobajte različite izglede za navigaciju i druge elemente.

Glavna svrha vaših skica je pružiti osnovu za sljedeći korak projekta. Ako planirate da izvršite veći dio posla, pokažite svoje skice dizajneru i programeru kako biste dobili procjenu cijene.

vježba: Nacrtajte skice svih ekrana vaše aplikacije.

Korak 4: Odredite posao koji će se prepustiti vanjskim izvršiteljima

Koje veštine posedujete? Da li ste dizajner, programer ili samo osoba sa idejom koju želite da oživite?

Kada kreirate aplikaciju za iPhone, započinjete mali biznis. I teško je jednoj osobi da preuzme odgovornosti istraživača, voditelja projekta, računovođe, menadžera sadržaja, dizajnera, programera, marketera, oglašivača. Možete li preuzeti sve ove odgovornosti? Možete pokušati, ali ćete vjerovatno izgubiti mnogo vremena, energije i razuma u tom procesu. Odredite oblasti u kojima vam je prijatno da preuzmete inicijativu i gde vam je prijatno da zapošljavate zaposlene:

U većini slučajeva ima ekonomskog smisla unajmiti slobodnjake. Ali smanjenjem troškova, vaša uloga kao projekt menadžera postaje još važnija. Većinu vremena ćete upravljati dijelovima projekta. Također, kada radite sa slobodnim profesijama, zamolite ih da potpišu ugovor o tajnosti podataka i ugovor o radu u kojem se navode njihove odgovornosti, vaši zahtjevi i uslovi plaćanja.

Postoji još jedna opcija - kontaktirajte studio koji razvija aplikacije. U tom slučaju studio preuzima svo upravljanje projektima, a vi ćete procijeniti i prihvatiti njihov rad. Rad sa studijom je dobar izbor ako imate veći budžet ili ne možete posvetiti dovoljno vremena procesu proizvodnje.

vježba: Odredite koji posao ste spremni preuzeti i za koji posao trebate zaposliti zaposlenike.

Korak 5: Angažovanje tima

U posljednjem koraku odredili ste koji posao kreiranja aplikacije može biti povjerljiv. Sada je vrijeme da pobliže pogledate ko vam je potreban i gdje pronaći ljude za svoj tim.

Dizajn

Ako ste dizajner, možete koristiti , koji sadrži veliku kolekciju iPhone UI elemenata. Ovaj šablon će vam uštedjeti vrijeme kada počnete. Da biste saznali više o mobilnom dizajnu općenito, pogledajte ove resurse:

Ako niste dizajner, onda morate znati da se dizajn aplikacije sastoji od tri komponente: informacijske arhitekture, dizajna interakcije i vizualnog dizajna. Moguće je pronaći jednu osobu sa svim ovim vještinama, ali znajte da su sve tri komponente potrebne za kreiranje dizajna. Ako imate vlastite skice, dizajner može početi raditi.

Arhitektura informacija.
Ako ste upoznati sa dizajnom web stranica, onda možemo pretpostaviti da znate što je informacijska arhitektura u mobilnom smislu; ova područja su slična. Arhitektura informacija se odnosi na kreiranje i organiziranje informacija u vašoj aplikaciji.

Dizajn interakcije.
Jeste li ikada naišli na aplikaciju koja ne zahtijeva upute za korištenje? Vrsta u kojoj je sve toliko intuitivno da ne razmišljate o interfejsu? Ovo nije bilo slučajno. Ovo je posao dizajnera interakcije, onoga koji odlučuje kako će se korisnik kretati sa ekrana na ekran da bi izvršio traženi zadatak. Svakako unajmite dizajnera koji ima iskustva u ovoj oblasti.

Vizuelni dizajn.
Vizualni dizajn je završni korak u procesu dizajna aplikacije. Definira kako će aplikacija izgledati. Vizuelni dizajn može biti jednostavan ili složen koliko vam odgovara; Glavna stvar je zapamtiti jednostavnost korištenja i glavni zadatak aplikacije.

Preporučljivo je pronaći dizajnera koji ima iskustva u mobilnom dizajnu. Takav dizajner će sigurno moći poboljšati vaše skice.

Evo nekoliko stranica na kojima možete pronaći dizajnera:

Kada objavljujete posao, budite jasni u vezi sa svojim zahtjevima i budite spremni pregledati više portfelja.

Razvoj

Ako ste Objective C ili Cocoa programer, otvorite Xcode i počnite! Preporučujem registraciju na ovim forumima:

Ako niste programer, onda unajmite programera kao što ste radili s dizajnerom. Što prije komunicirate s developerom, prije će vam postati jasno koliko je vaš projekt tehnički izvodljiv iu okviru vašeg budžeta.

Potražite programera
Koristeći svoje skice, kreirajte dokument koji opisuje šta vaša aplikacija radi i za koga. Skice i ovaj dokument ćete predati programeru kako biste dobili procjenu vremena i troškove razvoja.

Posjedovanje takvog dokumenta omogućit će vam da unajmite programera koji ima potrebne vještine za kreiranje vaše aplikacije. Ako date tehničke specifikacije za kreiranje igre programeru koji nema takvo iskustvo, tada će moći odmah shvatiti da mu takav projekt nije baš prikladan.

Evo nekoliko stranica na kojima možete pronaći programera:

Ako drvo padne u šumi, a nema nikoga da to čuje, da li će neko znati za pad ovog drveta? Aplikacije se lako mogu naći u App Store-u, a da ih ne primijetite. Ne dozvolite da se to dogodi vašoj aplikaciji. Morate imati strategiju za promociju vaše aplikacije, ili bolje ako postoji nekoliko takvih strategija. Budite spremni da eksperimentišete; neke ideje će uspeti, a druge neće.

Marketinške i promotivne strategije:

Koristite društvene mreže.
Razmislite o tome kako se vaša aplikacija može integrirati s društvenim mrežama i implementirajte ovu funkcionalnost u nju. U najmanju ruku, kreirajte Facebook i Twitter naloge za svoju aplikaciju i koristite ih za komunikaciju sa korisnicima i dobijanje povratnih informacija. Programeri Angry Birdsa i Instagrama dobro su obavili posao privlačenja korisnika na Facebook.

Promocija prije lansiranja.
Počnite promovirati svoju aplikaciju rano, prije nego što bude spremna. Koristite novinare i blogere i neka pišu o vašoj aplikaciji. Što je vaša aplikacija zanimljivija, veća je vjerovatnoća da će ljudi pisati o njoj.

Za promociju koristite ove stranice:

Planirajte više izdanja aplikacija.
Ne biste trebali uključiti apsolutno sve funkcije koje ste smislili u prvom izdanju. Napravite listu funkcija i dizajnirajte aplikaciju tako da se ove funkcije mogu postepeno dodavati. Zahvaljujući tome, povremeno možete objavljivati ​​nove verzije aplikacije, a to će povećati vašu prodaju.

Resursi za marketing aplikacija.



vježba: Pronađite freelancere ili studio koji će se baviti dizajnom, razvojem i marketingom.

Zaključak

Pretvoriti svoju ideju u kvalitetnu aplikaciju zanimljiv je i uzbudljiv zadatak. Za to je najvažnije unajmiti pravi tim koji može oživjeti vaše ideje. Sretno!

Za menadžere i obične ljude

Često čujete frazu:

Zar ne bih trebao napraviti ovakvu aplikaciju za iPhone!?

Mnogi ljudi zaista misle da je kreiranje iPhone aplikacije od nule jednostavno i brzo, a zarada miliona je odmah iza ugla. Pokušajmo ovo razumjeti iz ugla nekoga ko je pun energije, ali nema pojma o Apple ekosistemu za programere.

Ideja

Svaki projekat počinje sa idejom, a na osnovu toga može se ispostaviti da se aplikacija ne može napraviti. Programeri koje poznajem odbili su poslove iz raznih razloga:

  • Nemoguće je odrediti položaj korisnika u prostoriji većoj od pet metara;
  • Neće se moći utvrditi da li se osoba nalazi u avionu, preko koje zemlje leti i trenutak prelaska državne granice;
  • Ne postoji način da saznate telefonski broj osobe (osim ako ga korisnik sam unese);
  • “Ako je to samo web stranica dizajnirana kao aplikacija, onda će ona biti zamotana”(govorimo o pregledu aplikacije od strane App Store tima);

Osim onoga što se ne može, postoji niz stvari koje se mogu učiniti, ali uz određena ograničenja. Ipak, idemo dalje.

Tim

Implementaciju ideje možete naručiti od kompanija koje su već napravile stotine aplikacija, ili možete okupiti vlastiti tim. Stručnjaci već sve razumiju, ali njihove usluge će koštati u skladu s tim. Stoga ćemo razmotriti opciju našeg tima.

Namjerno ću preskočiti korak regrutacije jer se to odnosi na bilo koji projekat, a ne konkretno na razvoj iOS-a.

Teško je povjerovati, ali aplikacije za iOS možete pisati samo na Mac računarima. Stoga će svaki programer trebati jedan macOS uređaj i jedan iOS uređaj (postoje neki načini da se zaobiđe ovo ograničenje, ali ih nećemo dirati). On/ona će napisati kod na Mac-u, a na iPhone-u će vidjeti šta će iz toga proizaći. Možete se nadati i da će iOS programer doći sa svojim uređajima (ovo nije rijedak slučaj).

Najjeftinija opcija je kupiti svima polovni mac mini sa tastaturom, mišem, monitorom, kompletom kablova i nekakvim iPhoneom 5s. Usput, od sada možete smatrati potrošnim materijalom gromobranske kablove: oni se izuzetno brzo lome.

Povrh toga, morat ćete nabaviti “Apple Developer Organization Account”, koji košta 99 USD godišnje i koji vam omogućava da upravljate pristupom programera, uređajima i tako dalje. Možete se snaći sa individualnim nalogom, ali isto toliko košta, a nema timske mogućnosti.

Interfejs za upravljanje računom Apple Developer za organizacije

Dizajn

Programeri će stvoriti osnovu aplikacije, njene glavne mogućnosti. Ali lavovski udio pozitivnih emocija tijekom korištenja generira dizajn. Da biste to učinili, trebat će vam posebna osoba koja će razmisliti o grafičkom sučelju i napraviti nekoliko obaveznih slika.

U najmanju ruku, dizajneru će biti potrebno sljedeće:

  • Ikona aplikacije u različitim veličinama (za različite vrste ekrana);
  • Slike aplikacije (snimke ekrana) za svaki podržani ekran i jezik ako slika sadrži tekst (programeri takođe mogu napraviti snimke ekrana, ali im se često dodaju dodatne infografike);
  • Svaka slika koja se koristi u aplikaciji, u svim potrebnim veličinama (2-3x);

Ako želite zaista kvalitetnu aplikaciju, svakako pitajte dizajnera:

  • Crteži svih ekrana aplikacija (izuzeci se mogu napraviti za slične ekrane);
  • Slike za sve iskačuće poruke, obavještenja;
  • Za sve elemente u kojima će biti animacije - razmislite i nacrtajte je;
  • Karta prijelaza kroz aplikaciju - korisnički tok, možete je zatražiti među prvima - ova mapa uvelike pomaže u identifikaciji glavnog i dodatnih ekrana i njihovog sadržaja;


Primjer toka korisnika iz UBER-a za dugme „Odvedi me tamo s UBER-om“.

Najviše, unajmite dizajnera s punim radnim vremenom i radite s njim kako biste kreirali aplikaciju koja je zaista jednostavna i ugodna za korištenje koju svi mogu koristiti (suptilan nagovještaj „pristupačnosti“ – kada je aplikacija prikladna za osobe s invaliditetom).

Testiranje

Čini se da su svi dijelovi mozaika sastavljeni, šta nedostaje? Zaboravili smo na ljude koji će koristiti vašu aplikaciju i pronaći greške u njoj. Usput, nemojte očekivati ​​da će svi programeri odmah proizvesti apsolutno ispravan kod. U redu je praviti greške, ali naša aplikacija mora biti savršena. Stoga, prije nego što uđe u trgovinu, mora se nadaleko ispitati.

Ovim problemima se bave testeri, preporučljivo je da imaju iskustva u radu posebno sa iOS aplikacijama. Pitanje: kako će to učiniti?

Naravno, ovdje će biti potrebni i uređaji. Dobro je ako pronađete sve vrste kombinacija verzija iOS-a, tipova iPhone/iPad-a i rezolucija ekrana koje planirate podržati. Ali postoje različita rješenja i dodatne opcije:

  • Prvo možete podržati samo nekoliko tipova uređaja, a zatim modificirati aplikaciju za preostale. Međutim, Apple baš i ne voli kada je aplikacija zaključana na samo jednu vrstu iPhonea osim ako za to nema jasnog razloga.
  • Možete testirati neke od funkcionalnosti na Simulatoru (ovo je program za macOS koji emulira pravi iPhone). U njemu možete podesiti i veličinu ekrana i tip uređaja, ali ne može se sve testirati: samo na pravim uređajima možete testirati rad raznim senzorima (žiroskop, akcelerometar, kompas,...), TouchID-om, push notifikacijama.
  • Obavezno testirajte aplikaciju u uslovima loše ili nikakve veze (naravno, ako se internet zaista koristi);
  • Uvjerite se da aplikacija ne isprazni bateriju previše;
  • U slučaju velike aplikacije, procijenite potrebu za automatskim testiranjem: proći kroz stotine obrazaca u svakoj novoj verziji je teško i nije baš racionalno.

I nemojte tražiti od programera „instalater“ za aplikaciju koju naprave. U Apple okruženju nemoguće je preuzeti fajl na telefon, instalirati ga i pokrenuti. Jedan od programera će morati da podesi isporuku novih verzija na sve telefone gde je to potrebno. Nema drugog načina.

Sve je spremno za lansiranje!

Dakle, dolazi vrijeme kada je aplikacija spremna da se pojavi u App Store-u. Koja nas još iznenađenja očekuju?

Prvo, aplikaciji je potrebno ime. Ako je područje aplikacija popularno, onda su sva kratka i slatka imena već zauzeta, jer App Store ne dozvoljava dvije aplikacije s istim imenom. Ostaje samo da ga smislite u obliku “XYZ - aplikacija za XYZ”. Ovaj naziv se prikazuje samo na samoj stranici aplikacije u AppStore-u i ne mora se podudarati s onim što će biti napisano nakon instalacije ispod ikone vaše aplikacije za određenog korisnika. Ovaj tekst ne podliježe ograničenjima jedinstvenosti.

Postoji jedan mali trik s nazivom aplikacije. Kada kreirate aplikaciju u iTunes Connect-u, možete odrediti njeno ime prije nego što verzija za objavljivanje bude zaista spremna. Dakle, možete uzeti svoje ime malo unaprijed, iako Apple više ne garantuje trajanje ovog perioda.

Drugo, potreban vam je opis. Koliko će korisnik lako pronaći vašu kreaciju ovisit će o njoj i nazivu. Usput, ako je podržano nekoliko jezika, trebali biste odmah razmisliti na koji će od njih biti preveden opis i naslov.

Treće, ako ne odmah, onda ćete nakon nekoliko dana u trgovini početi da se pitate šta korisnici zapravo rade u aplikaciji. Ovdje u pomoć dolazi metrika koja anonimno prikuplja statistiku o otvorenim ekranima, kupovinama i svim zanimljivim radnjama. Implementaciju metrike treba odmah pobrinuti, a na osnovu nje vrijedi izvući zaključke o poboljšanju postojeće funkcionalnosti i stvaranju nove funkcionalnosti. Vjerovatno ćete biti u iskušenju da sačuvate radnje svakog korisnika zajedno sa njihovom e-poštom ili imenom: zapamtite, ovo nije dobra stvar, jer niko ne voli da ga špijuniraju.

Četvrto, morat ćete proći pregled aplikacije od strane App Store tima. Pregled traje oko dvije sedmice, a sve najskrivenije karakteristike vaše aplikacije će izaći na vidjelo. Evo nekoliko savjeta za uspješno polaganje ovog testa:

  • Ako su za pristup glavnim funkcijama aplikacije potrebni login/lozinka i registracija, svakako dostavite App Store timu testne podatke za prijavu na aplikaciju. Za kupovinu će im trebati probna kreditna kartica. Ako vam je potrebna dodatna oprema za normalan rad, budite spremni poslati ih i Appleu;
  • Ako postoji prodaja nečega u aplikaciji, mora postojati i korisnički ugovor koji sadrži frazu da Apple nema nikakve veze s tim, a vaša kompanija je prodavač. Ovaj tekst bi trebao biti dostupan na svim jezicima koje podržavate;
  • Ako prodajete virtuelnu robu, najvjerovatnije ćete morati koristiti „kupovine u aplikaciji“;
  • Uvjerite se da se ne koriste zabranjeni API-ji i da aplikacija u cjelini radi upravo ono što obećava.

Ako se sve tačke pošteno poštuju, onda će se za otprilike dvije sedmice vaša aplikacija pojaviti u trgovini.

Aplikacija u App Store-u

Čestitamo vam od srca. Vaša prva kreacija će konačno pasti u ruke korisnika! Vrijeme je da se osvrnete na put koji ste prešli i razmislite o novim verzijama vaše aplikacije.

Najbolji članci na ovu temu