Kako kreirati svoju prvu iPhone aplikaciju. Kako napraviti aplikaciju za iPhone

Sve je počelo tako što sam pogledao okolo i, ne videvši auto svojih snova, odlučio sam da ga dizajniram sam
Ferdinand Porsche

Hej Habr. Želim vam reći kako sam stvorio svoj prvi iOS aplikacija i šta je iz toga proizašlo.

Ideja

Ideja za aplikaciju je nastala sama od sebe: kreirajte nešto što biste sami rado koristili. Pišem beleške sve vreme. Na kraju krajeva, svaka zaposlena osoba ima određeni skup činjenica koje dobija tokom dana, a koje vrijedi zapamtiti. A pošto svi ljudi zaboravljaju (a to je normalno!), onda ne najbolje rješenje nego samo zapišite. Uvijek sam osjećao neku vrstu neugodnosti kada sam radio sa aplikacijama za bilježenje predstavljenim u AppStoru. Prekomjerna složenost u upravljanju, prisustvo nepotrebnih kategorija, gomilanje Dodatne informacije- sve ovo sprečava aplikaciju da obavlja svoju glavnu funkciju. Osim toga, mnoge od ovih stvari jednostavno izgledaju ružno.

Stoga, kladeći se na jednostavnost i praktičnost, krenuo sam sa stvaranjem koncepta. Model aplikacije sa jednom listom napomena. Sve na jednom mestu, šta može biti lakše? Ako je nešto od velike vrijednosti ili važnosti, nije potrebno na to stavljati oznaku, dovoljno je samo premjestiti važniju napomenu na vrh liste. stari i nepotrebni unosiće se postepeno smanjivati ​​i korisnik će ih naknadno izbrisati.

Funkcionalni

Nakon što je koncept osmišljen, napisao sam glavnu funkcionalnost - one stvari na koje bih se želio fokusirati u menadžmentu:

Prilično standardna funkcionalnost za ovu vrstu aplikacija, vidite. Ali ovo je samo vrh ledenog brega, đavo je u detaljima.

Alati

Prije pisanja koda u Xcodeu, potpuno sam se rekreirao izgled aplikacije u vektorski uređivač skica. Ovaj program je odličan za brzo kreiranje rasporedi. Za ovu aplikaciju je dostupno mnogo dodataka, među njima je Sketch Preview - pregled artboarda odmah na uređaju kroz Skala Preview program. Samo treba preuzeti besplatni programi Skala Preview na svom računaru i mobilnom uređaju i instalirajte dodatak. Nakon toga odaberite željeni artboard, pritisnite kombinaciju Command + P i u sekundi se na uređaj emituje izgled aplikacije.

Osim toga, aplikacija je vrlo zgodna za kreiranje snimaka ekrana za objavljivanje u AppStoreu. Za svaku veličinu ekrana kreiran je drugačiji set artboarda, uz korištenje stilova, vrijeme utrošeno na formatiranje je minimalno. Ali o publikaciji malo kasnije.

Razvoj

U aplikaciji sam koristio samo dva kontrolera - jedan direktno za sve-sve-sve bilješke, drugi - za prikaz malog vodiča pri prvom pokretanju. Organizovao sam rad sa bazom podataka koristeći CoreData framework.

Nakon kreiranja osnovne funkcionalnosti (kreiranje, brisanje, uređivanje bilješki), odlučio sam poboljšati svaku od ovih funkcija.

Slažem se, uređivanje teksta u iOS-u implementirano je prilično nezgodno. Ako pogriješite u riječi, da biste pomaknuli kursor na željenu poziciju, morate dodirnuti i, ne skidajući prst sa ekrana, pokušati ući u odabrano područje. Osim toga, nakon ispravljanja greške, morate vratiti kursor na kraj reda. U svojoj aplikaciji odlučio sam da preradim mehanizam za pomeranje kursora: da biste izvršili promenu u reči, potrebno je samo da prevučete prstom u području između tastature i fraze koju kucate bez blokiranja prikaza teksta.

Odlučio sam samostalno implementirati uklanjanje i pomicanje animacija na vrh, a vizualnu pratnju približiti što je više moguće pravi zivot. Nešto je dobilo veći prioritet - prevucite prstom udesno i bilješka se pomiče na vrh liste. Za brisanje - prijeđite prstom ulijevo i animacija precrtavanja će pokazati koliko još trebate produžiti prevlačenje da biste dovršili brisanje. U slučaju slučajnog brisanja - potrebno je samo protresti uređaj ("Shake"), a bilješka će se vratiti na prvobitno mjesto.

Da bi se bilješka istakla, koristio sam LongTapGesture i tri osnovne boje aplikacije - bijelu, plavu i crvenu - da formiram glavnu paletu boja.

Odlučio sam da napravim automatski prelaz između dnevne i noćne teme – zašto se nikome nije palo na pamet da mijenja izgled u zavisnosti od položaja sunca na nebu? Sve je vrlo jednostavno - po mraku i nakon izlaska sunca tema se mijenja, a korisnika ne treba odvlačiti od kreiranja bilješki, jer će se aplikacija uvijek automatski prilagođavati okolnim uvjetima.

Imenovanje

Naziv aplikacije je najvažniji dio razvoja, to je prva stvar koju korisnik vidi u trgovini. Na Habréu ima o tome. Odlučio sam da pristupim odabiru imena temeljno: za početak, prošao sam listu od 1000 najpopularnijih riječi u engleski jezik i zapisao sve vrste kombinacija koje bi bile prikladne za naziv mobilne aplikacije za bilješke, osim toga, htio sam zadržati 8-10 znakova. Ali u isto vreme, nisam želeo da biram naziv SuperNotes ili NotesPlus itd, želeo sam nešto novo. Svidjela mi se kombinacija luda nota, na koji sam slučajno naišao u Urban Dictionary-u:
luda nota - odlična, zabavna, iznenađujuća, neočekivana ili izaziva strahopoštovanje

Odmah se pojavio slogan: MadNotes - Obratite pažnju na svoju strast. Pošto sam već imao spremnu paletu osnovnih boja (bela, plava, crvena), odlučio sam da odmah smislim odgovarajuću ikonu. Situacija sa logotipima za aplikacije ove vrste je žalosna:

Budući da se bilješke na papiru pišu olovkom ili olovkom, odlučio sam da ovo prikažem na ikoni - olovka zarotirana pod uglom od 45 stepeni. Ispalo je ovako:

Rezultat

Pošto je projekat prvobitno zamišljen kao dizajnerski, odlučio sam da učestvujem sa svojom prijavom na sveukrajinskom takmičenju Ukrainian Design Awards: The Very Best Of u kategoriji digitalnog dizajna. Ostalo je još nekoliko sedmica do takmičenja, a za to vrijeme sam uspio napraviti objavu na Behanceu, gdje sam vizuelno pokazao sve glavne funkcije aplikacije, a snimio i video pregled.
Budući da se pobjednici konkursa ne objavljuju do posljednjeg trenutka, bilo je nevjerovatno lijepo vidjeti moj rad na izložbi radova pobjednika - žiri je vidio i cijenio glavni koncept - minimalističku, a opet funkcionalnu aplikaciju za bilježenje .


Aplikacija je u AppStoreu već nekoliko mjeseci, a za to vrijeme sam napravio šest ažuriranja i prepisao kod u Swiftu. IN najnoviju verziju(1.2) Dodana je iCloud sinhronizacija tako da su bilješke već premještene u oblak.

Hvala na pažnji.
zapazite svoju strast

Razvoj aplikacija za iOS može biti ne samo vrlo uzbudljiv, već i prilično profitabilan. Dovoljno je samo stvoriti visokokvalitetni Soft koji je relevantan za korisnike Apple uređaja, staviti ga u AppStore i uživati ​​u plodovima svoje aktivnosti, odnosno dobiti financijsku dobit.

Danas mnogi entuzijasti traže odgovor na pitanje kako napraviti iOS aplikaciju na Windowsu. Ne postoji službeni način za rješavanje ovog problema. Postoji neki softver koji rješava problem kreiranja aplikacija za iOS. Međutim, njegova upotreba dovodi do brojnih poteškoća.

Stoga, svako ko se odluči ozbiljno baviti razvojem programa i igara za mobilnih uređaja od Apple-a, trebali biste nabaviti računar sa OS X verzijom 10.8 i novijim.

Kako napraviti iOS aplikaciju: niz koraka

Da biste počeli kreirati aplikacije za iOS, morat ćete proći kroz određene pripreme, i to:

  • Instalirajte program Xcode. Pruža ga Apple besplatno i može se instalirati samo na OS X. Ne postoji način za pokretanje ovog softvera na Windows i Linux.
  • Instalirajte funkcionalno uređivač teksta, kao što su JEdit ili TextMate. Ovo će uvelike pojednostaviti izvođenje nekih radnji, na primjer, pisanje koda.
  • Instalirajte program vektorska grafika. Neophodan je za razvoj igara i programa sa slikama i dizajnom. Možete koristiti softver kao što je Inkscape, Adobe Illustrator i CorelDraw. Njihov besplatni pandan je program DrawBerry.
  • Naučite osnove Objective-C - programskog jezika, bez kojeg je nemoguće kreirati igre za iOS i funkcionalni programi. Iako je moguće kreirati jednostavan softver bez ovog programskog jezika, neće ga biti moguće učiniti funkcionalnim. (Ako nemate želje da naučite Objective-C, onda ćete morati koristiti usluge freelancera koji će odraditi dio posla na razvoju aplikacija za finansijsku nagradu).
  • Kreirajte račun programera. Da biste to učinili, morat ćete platiti 99 USD (naknada se naplaćuje svake godine) i unijeti porezne podatke.
  • Preuzmite i pregledajte testne aplikacije. Ovo će vam pružiti vizuelno iskustvo razvoja iOS-a.

Kvalitativno softver je proizvod zasnovan na precizno formulisanom konceptu. Zato je potrebno započeti kreiranje iOS aplikacije planirajući je. To znači:

  • Definicija koncepta budućeg programa (dizajn, funkcionalnost, glavne radnje, šema rada budućeg softvera - sve to treba jasno osmisliti i odobriti). Ako je zadatak stvoriti igru ​​za iOS, tada se mora odabrati njen žanr, razmisliti o priči, likovima i tako dalje.
  • Izaberi ciljana publika, što uvelike zavisi od funkcionalnosti softvera.
  • Odaberite određene zadatke koje će razvijeni softver riješiti.
  • Razmislite o korisničkom interfejsu koji treba da bude takav da omogućava najbrže moguće rešavanje zadataka koji se primenjuju. Bolje je razraditi nekoliko opcija, čija će vizualna studija pomoći u određivanju konačnog izbora.

Sada možete nastaviti direktno s razvojem mobilnih aplikacija za iOS. Da biste to učinili, u programu za kreiranje aplikacija za iOS (Xcode) morate pokrenuti novi projekt i pružiti sve potrebne podatke. Proces razvoja tada izgleda ovako:

  • Kreiranje Storyboarda, koji je neophodan za vizuelni prikaz svih ekrana buduće aplikacije, kao i prelaza između njih.
  • Dodijelite Storyboard kreiranom projektu. Ovo je neophodno da bi se izabrani interfejs učitao kada se program pokrene.
  • Kreiranje prvog ekrana sa kontrolerom prikaza. Postoji veliki izbor kontrolera koji su već kreirani, a sami su neophodni da bi program „razumeo“ kako tačno da prikaže sadržaj korisniku.
  • Dodavanje objekata interfejsa. Razvoj iOS aplikacije je nemoguć bez upotrebe takvih funkcionalnih elemenata interfejsa kao što su tekstualna polja, razne oznake, navigacija, dugmad i drugo. Svi se nalaze na listi Biblioteka objekata.
  • Promjena svojstava dodanih objekata. Ovo je neophodno dati kreiran program individualnost. Bez toga, neće biti moguće kreirati popularnu aplikaciju za iOS.
  • Dodavanje novih ekrana. Skoro svaki moderna aplikacija za mobilne uređaje kompanije Apple ima nekoliko prilagođenih ekrana.
  • Dodavanje funkcionalne navigacijske trake, koja je neophodna za kretanje korisnika između ekrana programa.
  • Dodjela funkcionalnosti kreiranih dugmadi.
  • Kreiranje mogućnosti obrade podataka programom. Ovaj korak uključuje korištenje jezika Objective-C programiranje, uz pomoć kojih će aplikacija moći pohranjivati ​​i obrađivati ​​podatke koje unese korisnik, kao i obavljati druge funkcije.

Poslednji korak u kreiranju iOS aplikacije je njeno testiranje. Da biste to učinili, trebate izraditi program koristeći Xcode (dugme „Izgradi“), a zatim provjeriti njegove performanse na emulatoru ugrađenom u softver i na vlastitom Apple uređaju.

Kada dođe do raznih grešaka ili se aplikacija ruši, potrebno je otkriti njihove uzroke i otkloniti ih.

Također, kreirana iOS aplikacija se može poslati na testiranje drugim korisnicima, za što je potrebno kreirati Ad-Hoc certifikat na stranici iOS Dev Center. Korisnici će moći dati veliku količinu povratnih informacija koje će pomoći da program bude stabilniji, funkcionalniji i korisniji.

Važno je znati! Stvoreni Soft može biti certificiran od strane Applea samo ako je optimiziran za iOS 8 verziju i retina ekran.

Nakon što testirate i otklonite greške u svojoj iOS aplikaciji, spremni ste da finalizirate kompilaciju i objavljivanje putem iTunes Connect web sučelja. Da biste to učinili, morat ćete slijediti nekoliko koraka:

  • smisliti naziv za aplikaciju;
  • unesite detaljne informacije o tome;
  • pošaljite program u prodavnicu aplikacija;
  • sačekajte da se to potvrdi.

Sada ćete naučiti kako kreirati iOS aplikaciju i možete bezbedno nastaviti s implementacijom svoje ideje. Međutim, zapamtite da je bolje započeti s malim programom koji implementira jednostavne zadatke.

Razvoj nekoliko takvih aplikacija za iOS omogućit će vam razumijevanje principa kreiranja programa za Apple uređaje, kao i stjecanje vještina za kreiranje složenijih aplikacija.

Sumnjate se isplati li se ulagati u razvoj mobilne aplikacije? Možete ga napraviti sami i to potpuno besplatno. Možda ćete na kraju dobiti test varijantu koja se može koristiti za zgodnu procjenu učinkovitosti mobilne strategije. A ako pokušate, obavit ćete pristojan posao mobilna aplikacija, koji će postati glavni alat za onlajn interakciju sa vlasnicima pametnih telefona i tableta.

Kontaktiraj nas Hajde da razgovaramo?

Vrijedi li napraviti vlastitu mobilnu aplikaciju?

Troškovi. Ako mi ne vjerujete, evo nekoliko činjenica:

  • Prema Flurry Analytics i comScore, vlasnici pametnih telefona i tableta koriste pretraživač samo 14% ukupnog vremena provedenog na uređaju. A 86% svog vremena troše na različite aplikacije.
  • Instalirana aplikacija- Vaš direktni kanal komunikacije sa potrošačem. Zamislite samo: ne morate trošiti novac na oglašavanje ili čekati da vas neko pronađe koristeći Yandex. Ostaje podržati funkcionalnost koja je potrebna korisniku i pružiti mu relevantan sadržaj.
  • Broj kupovina putem tableta i pametnih telefona raste kako na Internetu općenito, tako i na RuNetu. Prema marketinškoj agenciji Criteo, već u 2016. godini više od polovine online transakcija u RuNetu biće obavljeno pomoću mobilnih uređaja.

Aplikacija, ako želite, je mobilni preglednik koji otvara samo vašu web stranicu. U kom slučaju bi korisnik instalirao takav internet pretraživač? Samo ako ga zanima vaš proizvod ili informacije. Stoga, zapamtite: klijent koji je instalirao aplikaciju je lojalan i spreman za kupovinu predstavnik ciljne publike.

U tom slučaju, isplati li se riskirati da vjernim kupcima nudimo DIY aplikacije, a ne prilagođene aplikacije za Android i iOS koje su napravili profesionalci? Hajde da to shvatimo.

Kada možete sami kreirati aplikaciju

Sjećate li se šta posjetiteljima web stranice trebaju? Oni dolaze iz sadržaja ili funkcionalnosti izvora. Ljudi žele dobiti informacije, kupiti nešto, pogledati i komentirati fotografije prijatelja itd. Korisnici mobilnih aplikacija trebaju isto. Oni traže informacije ili vrše bilo kakve transakcije.

Sjećate li se kada preduzeće može samostalno napraviti web stranicu? Pravo je kada još nema novca za saradnju sa profesionalcima, ali ima vremena i želje da se bavite WordPress-om ili Joomlom. Isto važi i za aplikacije. Samostalno kreirani programi za iOS i Android mogu se ugrubo uporediti sa sajtovima na open source "motorima".

Ne morate se registrovati da biste započeli. Kliknite na dugme Kreiraj sada početna stranica ili izaberite meni Kreiraj aplikaciju u gornjem desnom uglu na bilo kojoj stranici usluge.


Odaberite odgovarajući predložak aplikacije. Ako govorimo o projektu sadržaja, možda će vas zanimati sljedeće opcije:

  • Manual . Ovaj šablon vam omogućava da napravite program vodiča.
  • Blog. Aplikacija će pomoći publici vašeg bloga da čita nove bilješke sa ekrana pametnog telefona ili tableta.
  • web stranica. Predložak pretvara stranicu u aplikaciju.
  • Stranice. Pomoću ovog predloška možete pretvoriti bilo koji sadržaj u aplikaciju s jednostavnom funkcionalnošću.
  • Vijesti. Predložak vam omogućava da kreirate industrijsku ili regionalnu aplikaciju za prikupljanje vijesti.
  • Stranica . Predložak pretvara vanmrežni sadržaj u aplikaciju, na primjer, e-knjigu.
  • VK stranica i Facebook stranica. Kreirajte aplikaciju koja vam omogućava da pratite ažuriranja otvorenih grupa na Vkontakteu i Facebooku.
  • YouTube. Koristite šablon da promovirate svoj YouTube kanal.

Kako napraviti aplikaciju za blog

Koristite šablon za blog. U odgovarajuće polje unesite URL bloga ili RSS feeda. Odaberite boju za naslov bilješke.


Odredite naziv aplikacije.


Dodaj opis.


Odaberite standardnu ​​ikonu ili dodajte prilagođenu ikonu. Prikladna veličina slike je 512 x 512 piksela.


Za stvaranje boot fajl kliknite na dugme Kreiraj aplikaciju. Nakon toga, potrebno je da se registrujete u sistemu. Potvrdite registraciju i idite na Personal Area. Ovdje možete instalirati aplikaciju na svoj mobilni uređaj, objaviti je Google Play i Amazon Prodavnica aplikacija. Sistem takođe nudi opciju monetizacije. Ako koristite ovu funkciju, oglasi će se prikazivati ​​u aplikaciji.


Provjerite kako aplikacija radi na vašem mobilnom uređaju. Na tabletu bi program trebao prikazati listu blog postova u zaglavlju i formatu najave.

Otvorite predložak i prilagodite izgled aplikacije. Odaberite kako će se sadržaj prikazati: jedan korak po ekranu ili lista koraka.


Koristite uređivač za dodavanje teksta, slika, video zapisa ili linkova. Da biste dodali fotografiju u program, postavite je na Imgur hosting i zalijepite vezu u odgovarajuće polje.


Nakon uređivanja sadržaja navedite naziv aplikacije, dodajte opis i ikonu. Kliknite na dugme Kreiraj aplikaciju. Nakon kreiranja datoteke za pokretanje, instalirajte je na svoj mobilni uređaj i provjerite radi li.

Imajte na umu da većina mobilnih uređaja prema zadanim postavkama blokira instalaciju aplikacija iz nepoznatih izvora. Ako korisnik preuzme program sa vaše web lokacije ili sa stranice za izradu aplikacija, vidjet će sigurnosno upozorenje kada pokuša da ga instalira. Neki kupci će vjerovatno odbiti da instaliraju program.


8 konstruktora sličnih AppsGeyseru

Ako vam univerzalni konstruktor AppsGeyser ne odgovara, obratite pažnju na slične usluge:

  • Apps Maker Store. Koristeći uslugu, možete kreirati aplikacije različitih tipova: od programa za e-trgovinu do rješenja za sadržajne projekte. Konstruktor pravi aplikacije za iOS i Android. Interfejs usluge je rusifikovan. Za početnike postoji informativni vodič za korištenje konstruktora. Usluga se plaća.
  • Mobincube. Alat za kreiranje i unovčavanje iOS i Android aplikacija. Osnovna funkcionalnost usluge dostupna je besplatno. Konstruktor vam omogućava da napravite aplikacije različitih tipova.
  • dobar berberin. Pomoću ove usluge možete razvijati Android i iOS aplikacije. Konstruktor je plaćen, trošak korišćenja je 16 USD mesečno.

Većina ponuđenih usluga ima interfejs na engleskom jeziku. Ako vam je neugodno raditi s dizajnerima na engleskom, odaberite platforme s rusificiranim sadržajem.

Konstruktori aplikacija: kamena sjekira ili tanki moderni alat?

Ne idite iz jedne krajnosti u drugu. Uz pomoć predloženih usluga, zaista je moguće kreirati izvodljive funkcionalne aplikacije. Dobijeni programi se mogu koristiti za rješavanje različite zadatke: Od omogućavanja online trgovine do distribucije sadržaja i edukacije publike. Aplikacije kreirane u konstruktoru mogu se objavljivati ​​na Google Play-u i App Store-u, uređivati, monetizirati putem reklama ili plaćenih instalacija.

Zapamtite da nije dovoljno samo kreirati aplikaciju. Potrebno je uložiti mnogo truda u njegovu promociju. Kontaktirajte nas ako ovaj posao želite povjeriti profesionalcima koji tačno znaju šta je potrebno učiniti kako bi privukli nove korisnike.

Nemojte precijeniti ponuđene usluge. Njihov očigledan nedostatak je stereotip. Radi se i o dizajnu i o funkcionalnosti programa. Osim toga, plaća se pristup platformama s pristojnom funkcionalnošću. Šta je bolje: platiti jednom za rad programera ili platiti vlasnicima konstruktora dugi niz godina? Broji se.

I još nešto: ako nemate vremena za samostalno kreiranje mobilne aplikacije, obratite se našoj kompaniji. Razvijamo mobilne aplikacije i .

Kontaktiraj nas Hajde da razgovaramo? Zakažite besplatne konsultacije

  1. Programski jezik. Šta trebate znati za pisanje aplikacija za iOS.
  2. Da li vam je potreban dizajner, programer interfejsa ili neko drugi?
  3. Službeni dio: sertifikat programera.
  4. Potrebna oprema za ugodan razvoj.
  5. Vječno pitanje: AndroidOS ili iOS?
  6. Šta treba učiniti danas?
  7. Kreiranje novog projekta.
  8. Kompilacija. Šta je to i zašto je potrebno?
  9. Trčite na simulatoru.
  10. Izlaz "Zdravo, svijet!".
  11. Koji su standardni prikazi u iOS-u.

Programski jezik. Šta trebate znati za pisanje aplikacija za iOS

Programski jezik(wikipedia.org) - formalni sistem znakova dizajniran za pisanje kompjuterski programi. Programski jezik definira skup leksičkih, sintaksičkih i semantičkih pravila koja definiraju izgled programa i radnje koje će izvršilac (računar) izvoditi pod njegovom kontrolom.

Možda je pitanje koje sam postavio u naslovu ovog dijela prilično složeno. Mogu jednostavno odgovoriti - Objective-C. Da sam tu stao, pogrešio bih. Rekao bih da je Objective-C minimum. Nedavno je bila konferencija Yandexa - YET, na kojoj je jedan od izvještaja bio posvećen tačno programskim jezicima koje programer treba da zna. Odgovor je bio otprilike ovako: “Mora stalno učiti nove i nove programske jezike, ne zaustavljajući se ni na jednom posebno”. U potpunosti se slažem sa ovim. Učeći nove programske jezike, učite nove pristupe, metode programiranja. Dakle, da biste pisali aplikacije za iOS, potrebno je da znate Objective-C, ali je poželjno da znate i druge programske jezike kako bi vaš kod bio dobar, efikasan, fleksibilan.

Ako još niste programer, savjetujem vam da počnete s jezikom C. Preuzmite knjigu Kernighan i Ritchie ( bolje kupiti) o C jeziku, pročitajte, uradite sve što vam se predloži, a nakon toga bih vam savjetovao da pređete na Objective-C. Ako već znate kako pisati programe, spremni ste lako odgovoriti na pitanja - „Šta su tipovi podataka? Šta je varijabla? Što je funkcija ili metoda? Šta je veza i pokazivač? Šta se desilo "uključiti”?” Ako znate C ili C++ ili Java ili C#, onda ste spremni da napišete svoju prvu iOS aplikaciju.

Također morate znati osnove OOP-a i obrazaca dizajna. Vjerovatno se lista može nastaviti dalje, ali teško da sam spreman tražiti kvalitativno objašnjenje ovih pojmova. Da, nažalost, Objective-C nije jezik kojim možete započeti put svog programera. Ali ako volite i želite da stvarate, onda je vrijeme da otrčite u radnju, kupite knjige i započnete svoj put kao programer.

Da li vam je potreban dizajner, programer interfejsa ili neko drugi?

Još jedno, ništa manje jednostavno pitanje. Ako ste programer i znate pisati konzolne programe i želite početi pisati aplikacije za iOS, onda vam u početnoj fazi takva osoba ne treba. Ako imate iPhone || iPad || iPod Touch, upoznati ste sa iOS-om, onda vam nije potreban front-end programer. Općenito, Apple ima takav dokument - čovjekInterfaceSmjernice. IN ovaj dokument opisano je gdje i koji element interfejsa treba koristiti. Stoga, u početnoj fazi, možete bez trećih strana. Općenito, iOS SDK pruža dovoljno opcija za slikanje sučelja aplikacije, tako da ne morate crtati dugmad ili višebojne tekstove, gradijentne ispune i tako dalje u PS-u. Kasnije ćemo ti i ja kreirati prvi projekat u kojem ćemo se upoznati sa svim fazama kreiranja aplikacije “Zdravo, svijete!”.

Međutim, morate shvatiti da kada počnu ozbiljni projekti, aplikacije koje želite da objavite u AppStoru, već će vam biti teže bez dizajnera i programera. Složenost se može pojaviti u različitim fazama - bilo tijekom razvoja aplikacije, kada provodite sate tražeći pravu sliku ili sjedite i stvarate na PS-u, ili nakon što objavite aplikaciju i počnete dobivati ​​komentare od naših omiljenih korisnika koji će se žaliti na vaš loš dizajn besplatna aplikacija. Naišao sam na isti problem u obje faze. Nakon što sam dobio loše komentare u AppStoreu, htio sam napustiti svoju aplikaciju, koja je inače besplatna, i zaboraviti na nezahvalne korisnike. Međutim, korisnost same aplikacije za mene, kao i za mnoge druge korisnike, natjerala me da progutam te ljutite komentare i nastavim razvijati aplikaciju. Prije otprilike tri mjeseca počeo sam razvijati aplikaciju zajedno sa dizajnerom koji govori šta i gdje da ubacim, koju boju odabrati, gdje i koju sliku nacrtati, a ovo je, želim reći, prilično zgodno. Stoga ipak savjetujem da u nekom trenutku počnete koristiti usluge dizajnera kako biste dobili dobre povratne informacije od korisnika. I zapamtite - korisnici iOS uređaja žele vidjeti dobro dizajn aplikacije, čak i ako trpi njena funkcionalnost.

Službeni dio: certifikat programera

Vjerovatno ste već čuli mnogo o nekakvom certifikatu programera. Sada ću pokušati da vas obavestim o tome zašto je to tako i da li vam je to potrebno upravo sada. Certifikat programera je datoteka, kao i svaki drugi certifikat. Ovu datoteku vam daje Apple nakon što prođete sve faze registracije u sistemu iOS (macOS) developer (Enterprise) program.

Šta će vam dati da imate dati fajl i registracija u nekom od gore navedenih programa? Odgovori na ovo pitanje - mrak je mrak. Stoga ću govoriti samo o najvažnijim (sve navedeno vam je dato za tačno godinu dana):

  • testiranje vaših aplikacija na vašim uređajima (iako se čini da je hakovano i moguće bez certifikata)
  • pristup forumu za programere na Apple portalu (iako postoji zajednica StackOverflow.com u kojoj možete mnogo brže pronaći odgovor na svoje pitanje)
  • mogućnost preuzimanja beta verzija (i naravno trenutnih) iOS-a i Xcode-a
  • mogućnost instaliranja beta verzije iOS verzije na svoj uređaj
  • mogućnost objavljivanja aplikacije u AppStore-u
  • mogućnost povezivanja do 100 uređaja s vašim računom, čime se omogućava instaliranje ovih uređaja iOS beta verzije, testirajte svoje aplikacije (još nisu objavljene u AppStoreu) i još mnogo toga nezakonito
  • priliku da pokažete pred prijateljima da ste službeni programer iOS aplikacija

Ako odlučite da vam je potrebna takva potvrda, budite spremni odvojiti se od 100 USD (300 USD za Enterprise), faksirajte u SAD, unesite svoj bankovna kartica(pažnja! Tvoja, tvoja), pa, završi čitanje ovog poglavlja.

Pa idemo.

  1. Pratite ovaj link http://developer.apple.com/programs/ios/
  2. Kliknite na Upiši se sada
  3. Pažljivo čitamo poplavu i idemo dalje – Nastavi
  4. Ovdje imamo 4 tačke: a. Da li želite da kreirate novi Apple ID za Apple Developer Program? b. Želite li koristiti postojeći Apple ID?c. Već ste registrovani kao jednostavan programer, a sada želite da postanete zvanični programer sa svim gore navedenim pogodnostima?d. Već ste član iOS ili Mac Developer Programa i želite da povežete drugi program sa svojim nalogom
  5. Prijatelji, onda i sami trebate proći kroz nekoliko koraka kako biste popunili lične podatke. Ne sećam se tačno šta je unutra. Biće pitanja - pitajte u ovoj temi, odgovoriću koliko je to moguće na sve.
  6. Dobili ste vezu do .pdf datoteke koju treba popuniti i poslati faksom Appleu.
  7. Štampamo ga, popunjavamo (vrlo pažljivo i precizno).
  8. Šaljemo faks u Apple ured u SAD-u. (Pazite da vam faks ne padne u pogrešne ruke, jer tamo navedete broj bankovne kartice i CVV).
  9. Čekamo N-ti broj dana (sedmica) dok Apple obradi vaš zahtjev.
  10. Primili smo pismo u kojem vam čestitamo na činjenici da ste se registrovali u program i izgubili stotinu dolara. Ura!

Nakon uspješnog završetka potrage, imat ćete pristup http://developer.apple.com/membercenter/. Možda pregled te stranice ili zahtijeva poseban članak, ili zahtijeva pretragu u Google / Yandexu.

Pa, prijatelji, pređimo na preostala pitanja na dnevnom redu.

Potrebna oprema za ugodan razvoj

Ako ozbiljno odlučite da počnete da razvijate aplikacije za iOS, toplo preporučujem da odmah kupite računar / laptop sa MacOs-om. Najjeftinija opcija je Mac Mini, ili nešto rabljeno. Ako ste student i nosite opremu sa sobom - Macbook Air. Ako imate puno novca i želite moćan svestrani laptop - za igre, složen računarski zadaci i programiranje - Macbook Pro. Ako želite da uzmete desktop računar- iMac ili Mac Mini. Za razvoj će odgovarati bilo koji računar u bilo kojoj postojećoj konfiguraciji. Veličina ekrana zavisi od vas. Ja lično sada sedim za Macbook 13 "i Mac Mini 17". Oba displeja mi odgovaraju. Ako ništa drugo, uvijek možete spojiti vanjski monitor na svoj laptop.

Ne zaboravite da će vam prije ili kasnije trebati iPhone, iPod ili iPad. Nemojte se oslanjati samo na iOS simulator, koji se distribuira u istom paketu kao i Xcode. Uvijek testirajte verzije izdanja na uređajima. Ili - potražite testere (odgovorne i savjesne).

Ako niste spremni potrošiti toliko novca na novu opremu, onda možete pokušati staviti hackintosh na svoj računar.

Vječno pitanje: Android ili iOS?

Moguće je da ovo pitanje trebalo je to postaviti na samom početku, ali se još uvijek nalazi na kraju ovog članka. Jeste li sigurni da se želite okušati u ovoj oblasti mobilni razvoj ali ne znate koju mobilnu platformu odabrati? Ne mogu vam odgovoriti na ovo pitanje. Ali znam jednu stvar - ako želite da razvijate aplikacije za iOS, onda morate voljeti Apple proizvode i operativni sistem. iOS sistem and macos. Zašto je to, pitate se? Odgovor je jednostavan - morate voljeti ono što radite, morate stvarati. Samo tada možete razviti zaista cool i koristan proizvod. Tek tada ćete uživati ​​u učenju Objective-C i iOS-a. Mislim da je ovo veoma važno. Ako imate slične osjećaje o Apple proizvodima, slobodno se upustite u područje razvoja iOS-a. Ako mislite - znam Javu, ali ne znam Objective-C, ali volim iOS više nego AndroidO - onda odaberite iOS. Ne, dobro, šta ste očekivali da počnem hvaliti Android OS?

Sviđa mi se i iOS-sphere sa svojom trgovinom aplikacija. Sve je lijepo, korektno i vrlo je stroga moderacija aplikacija. To smetlište aplikacija koje je sada u Andoroid OS-u je jednostavno užasno, kako za korisnike tako i za dostojne programere.

Šta treba učiniti danas?

Danas morate odlučiti: kada počnete da razvijate aplikacije, da li ćete imati dovoljno trenutnog iskustva za učenjeCilj- C, imas li potrebnu opremu, i što je najvažnije želja?

Zdravo svijete.

Provjera spremnosti

Pređimo s teorije na praksu. Za praktičnu lekciju trebat će vam Xcode 4.2 sa iOS SDK-om, po mogućnosti sertifikat programera, poznavanje C, C++, Jave ili Objective-C (pa, možda će poznavanje drugih jezika) i, na kraju, želja da počnem pisati aplikacije za iOS. Ako vam nešto nedostaje, na primjer, certifikat programera, onda će vam članak ionako biti relevantan. U svakom slučaju, čini mi se da bi svaki korisnik iOS uređaja trebao biti zainteresiran da pogleda unutrašnje funkcionisanje razvoja aplikacija.

Kreirajte novi projekat

Idi. Kliknite na ikonu Xcode. Otvoriće se prozor sličan ovome:

Odaberite stavku "Kreiraj novi Xcode projekt". U sljedećem prozoru odaberite vrstu projekta. Trebamo: "iOS - Aplikacija - Aplikacija sa jednim pogledom".

Kliknite na Next. Videćemo prozor sa sledećim sadržajem:

Dozvolite mi da objasnim polja za unos:

  1. Naziv proizvoda - Naziv novog projekta - možete unijeti bilo šta, ali savjetujem vam da koristite nazive koji su identični mojim, jer ću ih povremeno pozivati.
  2. Identifikator kompanije - Identifikator vaše kompanije - možete ga popuniti kako želite.
  3. Bundle Identifier je jedinstveni identifikator za vašu aplikaciju. Ovo polje se može naknadno uređivati.
  4. Prefiks klase - prefiks koji će biti dodijeljen imenima svih klasa koje kreirate u projektu. Ostavio sam polje prazno “XYZ” je samo nagoveštaj).
  5. Porodica uređaja - na koje vrste uređaja se može instalirati projekat. Možete odabrati jednu od tri opcije: iPad/ iPhone/ Universal. Njihova svrha je očigledna. Ako trenutno ne možete da odlučite da li da kreirate univerzalna primjena, tada možete odabrati bilo koju od drugih opcija. Ovo se može ispraviti u bilo kojoj fazi životni ciklus BY.
  6. Koristite Storyboard - ovo se odnosi na kreiranje modela korisnički interfejs. Dodato uz iOS5, tako da kada koristite ovaj horor, vaša aplikacija može biti instalirana samo na uređajima s iOS5 osovinom ili novijom.
  7. Koristite automatsko brojanje referenci - ovo je nova karakteristika Apple LLVM 3.0 kompajlera - automatski (skoro) upravlja memorijom (pazi na curenje, zombije i druge užase). Rekao bih da je za početnika idealan. ALI - 1) nije sve tako automatski, 2) vjerujete li kompajleru više nego sebi?, 3) Preporučujem ručno upravljanje memorijom.
  8. Uključi jedinične testove - povežite jedinično testiranje sa projektom.

Vidjet ćete prozor za odabir kategorije u koju će se projekt postaviti. Želim samo da vas upozorim da će se automatski kreirati folder sa imenom vašeg projekta u folderu koji ste odabrali, odnosno nema potrebe za kreiranjem dodatne fascikle za određeni projekat.

Poništite izbor u polju za potvrdu “Kreiraj lokalno git spremište za ovaj projekat”. Bolje onda, ako je potrebno, povežete naš projekat sa repozitorijumom koda, ako vam iznenada zatreba.

Pritisnemo “Kreiraj” i vidimo novi prozor, prozor našeg radnog prostora:

I tako, napravili smo projekat, generisali neke fajlove, neki prozori su otvoreni.

Hajde da se upoznamo sa fajlovima u navigacionom meniju:

  • datoteke sa sufiksom “.h” su zaglavlja, gdje ćemo dati opis klasa
  • fajlovi sa sufiksom “.m” su implementacioni fajlovi, gde ćemo implementirati prethodno opisane klase
  • datoteke sa sufiksom “.xib” su datoteke koje opisuju interfejs jednog prozora aplikacije

Project Compilation

Kompilacija -

  1. prevod programa na jezik blizak mašinskom jeziku i njegovo naknadno povezivanje.
  2. prevođenje programa napisanog na izvornom jeziku u objektni modul (koji izvodi kompajler) i njegovo naknadno povezivanje u programski modul spreman za upotrebu.
  3. prevod programa napisanog na izvornom jeziku i njegovo naknadno povezivanje u program u nekom mašinski nezavisnom interpretiranom kodu niskog nivoa (kao, na primer, u slučaju jezika Java).

Proces kompilacije sastoji se od sljedećih faza:

  1. Leksička analiza. U ovoj fazi, niz simbola izvorni fajl pretvoren u niz tokena.
  2. Sintaktička (gramatička) analiza. Niz tokena se pretvara u stablo raščlanjivanja.
  3. Semantička analiza. Stablo raščlanjivanja se obrađuje kako bi se uspostavila njegova semantika (značenje) - na primjer, vezivanje identifikatora za njihove definicije, tipovi podataka, provjera kompatibilnosti tipova podataka, određivanje rezultirajućih tipova podataka izraza, itd. Rezultat se obično naziva "srednja reprezentacija / code", a može se dopuniti stablom za raščlanjivanje, novim stablom, skupom apstraktnih instrukcija ili nečim drugim pogodnim za dalju obradu.
  4. Optimizacija. Suvišne naredbe se uklanjaju i kod se pojednostavljuje (gdje je to moguće) zadržavajući svoje značenje, odnosno algoritam koji implementira (uključujući izraze prije izračunavanja (tj. izračunate u fazi prevođenja), čiji su rezultati praktično konstanti) . Optimizacija može biti na različitim nivoima i fazama - na primjer, preko međukoda ili preko konačnog mašinskog koda.
  5. Generisanje koda. Kod na ciljnom jeziku se generira iz srednjeg prikaza (uključujući povezivanje programa).

Više običan jezik od mene. Korak raščlanjivanja provjerava da li su svi znakovi u vašem izvorni kod idite pravim redoslijedom i povezani znakovi u sljedećim koracima će se smatrati kao jedinstvena cjelina - leksema. U fazi raščlanjivanja, provjerava se da li su svi tokeni u ispravnom redoslijedu, na pravim mjestima, u ispravnom redoslijedu. I, konačno, u fazi semantičke analize, provjerava se korespondencija tipova podataka.

I tako, kada kliknete na “Build project”, prvo se vrši leksička analiza vašeg koda, ako je uspješna, zatim raščlanjivanje, a zatim semantička analiza. Postoji neki lagani proces koji se stalno izvodi u Xcode-u koji obavlja ovu funkciju, što podstiče programera "u letu". Na primjer, ako niste stavili ";" ili iznenada izjednačio int sa određenim nizom znakova, tada će Xcode podvući niz crvenom valovitom linijom.

Trčanje na simulatoru

I tako, hajde da pokušamo da pokrenemo naš projekat, za koji još nismo lično napisali ni jedan red koda.

Da bismo to učinili, okrećemo se izborniku: Shema kompilacije(zeleno je na mom snimku ekrana). Shema je određena konfiguracija projekta. Xcode ga automatski generiše. Kliknite na liniju desno od naziva projekta (naziv uređaja), ako uređaj nije povezan, pisat će “iOS Device”. Imat ćete padajuću listu sa sljedećim sadržajem:

Na ovoj listi biramo gdje će naš projekt biti instaliran: to može biti vaš uređaj ili simulator. Ako ste odabrali vrstu aplikacije kao univerzalnu, tada ćete moći odabrati tip simulatora: iPhone ili iPad. Također možete odabrati verziju za simulatore operativni sistem(važno je testirati projekat na svim verzijama iOS-a na kojima se aplikacija može instalirati). Pošto smo počeli da pričamo o minimalnoj verziji iOS-a, onda je potrebno napomenuti kako odrediti njegovu minimalnu verziju? Jednostavno je - ako koristite metode (karakteristike) koje su dodane u iOS verziji, npr. 4.0 , tada se traka za minimalno potreban operativni sistem podiže na 4.0 . Spustimo letvicu na 4.0 With 5.0 . Da bismo to učinili, okrenimo se izborniku: “Cilj raspoređivanja” (na mojoj slici označeno plavom bojom). Sa padajuće liste izaberite 4.0 . Sada se vratimo na meni: Shema kompilacije. Naša lista sada izgleda ovako:

Odaberite "iPhone 4.0 Simulator". I na kraju, kliknite na strelicu ispod koje piše “Run”. IN "informativna tabla" videćemo proces kompilacije. Nakon što je sve uspješno sastavljeno, otvorit će se prozor iPhone simulatora:

Sada ćemo brzo proći kroz mogućnosti simulatora.

  • Možete simulirati iPhone, iPhone Retina, iPad.
  • Simuliraj razne verzije iOS.
  • Napravite snimke ekrana.
  • Rotirajte ekrane (portretni i pejzažni načini rada)
  • tresti
  • Simulirajte bez memorije.
  • Simulirajte server za štampanje
  • Geolokacijski položaj
  • Multi-touch pokreti (maksimalno 2 prsta)
  • Ostalo

Svemu tome se može pristupiti iz menija programa simulatora:

Nekoliko riječi o simulatoru. Aplikacije se mogu instalirati na simulator samo preko Xcode-a, mogu se deinstalirati direktno sa simulatora (baš kao na pravom uređaju), podržava multitasking. Ali ima i mnoga ograničenja, na primjer, ne možete instalirati certifikat u lokalno spremište certifikata aplikacije. Ali glavni nedostatak je to SIMULATOR, ali ne EMULATOR. Odnosno, samo se pretvara da je iOS uređaj, jednostavnim prikazivanjem sličnog interfejsa (softverski sloj). Ali emulator radi upravo ono što će uređaj raditi (na fizičkom nivou). Šta bi trebao biti zaključak? Obavezno testirajte na pravom uređaju. Imao sam slučajeva da radi na uređaju, ali ne i na simulatoru, i obrnuto.

Izlaz "Zdravo, svijet!".

Nadam se da je sve manje-više jasno do ove faze. Ako ne, onda ćete u procesu razvoja početi dublje razumjeti.

Ovo poglavlje je napisano u znak sjećanja na Dennis Ritchie, kreator programskog jezikaCi ključni programer operativnog sistemaUNIX, a takođe i kao koautor knjige „Programski jezikC» .

Svrha poglavlja je ukrasiti naš prazan sivi ekran. Odlično, idemo. Vraćamo se na Xcode, odabiremo “ViewController_iPhone.xib” u navigacijskom meniju. Zatim sa liste koja se pojavi odaberite "Prikaz". Odaberite "Attributes Inspector" na desnoj strani. Evo kako meni izgleda prozor, plus dodatni komentari:

Sada dodajmo UILabel oznaku. UILabel je naziv klase u iOS SDK-u koji vam omogućava da prikažete tekst koji se ne može uređivati ​​na ekranu. Općenito, sve klase koje vam omogućavaju da prikažete nešto imaju prefiks UI: UIView, UITableView, UITextView, UIButton,…. U prozoru “Dostupni objekti za prikaz” tražimo liniju sa nazivom Label. Nekako smo ga upravo pronašli, zatim kliknemo na njega i prevučemo ga na naš trenutni prikaz ekrana.

Plave isprekidane linije pomoći će vam da centrirate/kalibrirate relativni položaj oznake. I tako, odaberite Oznaka na listi prikazanih objekata, ako već nisu odabrani, i pogledajte stavku u svojstvima: Tekst. Hajde da upišemo tamo "Zdravo, svet!" i pritisnite Enter. Ovdje smo promijenili tekst etikete i smanjili. Hajde da popravimo ovo. IN kategorije imovine izabrati "vladar" Inspektor veličine. Postoje polja:

  • x i y su koordinate gornjeg lijevog ugla oznake u odnosu na roditeljski pogled, odnosno pogled na koji smo postavili oznaku - to je u našem slučaju Pogled.
  • širina i visina su širina i visina uređenog objekta.

Možete pokušati urediti ove vrijednosti i vidjeti promjene. Također možete urediti poziciju i veličinu direktno pomicanjem naljepnice (teksta) i povlačenjem njenog okvira za različite načine "poeni".

Provedite još 15-25 minuta i igrajte se s različitim nekretninama u različitim kategorijama:

  1. Poravnanje teksta
  2. Veličina slova
  3. Boja, sjena teksta
  4. i sl.

Kasnije ćemo se vratiti na njih i objasnit ću svrhu pojedinih polja.

Koji su standardni prikazi u iOS-u.

U prethodnom pasusu dotakao sam se imena nekih klasa odgovornih za interfejs. Sam prefiks UI i označava korisnički interfejs. Ovdje ću dati, možda ne potpunu listu dostupne vrste pogled. Prvo, sve dole opisane klase su naslijeđene od UIView-a, tj. imaju ista svojstva i metode. Drugo, uvijek možete kreirati vlastiti prilagođeni prikaz. Lista ispod:

1) UILabel - oznaka - glavna svrha: prikaz jednog ili više redova teksta koji se ne mogu uređivati.

2) UIButton - dugme - glavna namjena: obično dugme, šalje signale objektima, obavještavajući da je kliknut

3) UISegmentedControl - dugme sa segmentima - glavna namena: dugme sa nekoliko aktivnih delova, možete odrediti na koji ste kliknuli

4) UITextField - polje za unos teksta - glavna namjena: polje za unos teksta od strane korisnika

5) UISlider - klizač - glavna namjena: običan klizač, pomaže u intuitivnijoj promjeni postavki

6) UISwitch - prekidač za uključivanje / isključivanje - glavna namjena: ima dva stanja - uključeno ili isključeno, svrha je očigledna

7) UIActivityIndicatorView - indikator aktivnosti - glavna namjena: obično se koristi za informiranje korisnika da aplikacija ili preuzima podatke ili jednostavno izvodi neke proračune

8) UIProgressView - indikator statusa (progresa) - glavna svrha: prikazati status završetka nečega

9) UIPageControl - prebacivanje između stranica - glavna svrha: prikaz broja stranica, prikaz trenutne stranice

10) UIStepper (>= iOS 5) - +/- kontroler koraka - glavna namjena: također očigledna

11) UITableView - tabela - glavna svrha: prikazivanje tabele je možda najpopularniji element

12) UITableViewCell - ćelija tabele - glavna svrha: prikaz reda u tabeli, obično prilagodljiv

13) UIImageView - slika - glavna svrha: prikazivanje slike ili slike

14) UITextView - tekstualno polje (scrollable) - glavna svrha: prikazivanje velike količine teksta koji se može pomicati.

15) UIWebView - web - glavna svrha: prikazivanje web stranice

16) UIMapView - karte - glavna namjena: prikaz karte

17) UIScrollView - prikaz koji se može pomicati - glavna svrha: prikazivanje više prikaza koji se ne uklapaju na jedan ekran

18) UIDatePicker - Birač datuma - Primarna svrha: Savršeno za unos datuma

19) UIPickerView - prikaz izbora bubnja - glavna svrha: alternativa tabeli kada se bira bilo koja opcija

20) UIView - Samo pogled - Primarna svrha: Očigledno

21) UINavigationBar - navigacijska traka - glavna namjena: panel koji prikazuje naslov ekrana i dodatne kontrolne tipke

22) UINavigationItem - UINavigationBar elementi - glavna svrha: očigledno

23) UIToolbar - traka sa alatkama - glavna namjena: prikaz panela na kojem su postavljeni gumbi za kontrolu aplikacije

24) UIBarButtonItem - stavke trake sa alatkama - glavna svrha: očigledno

25) UIBarButtonItem (fiksni i fleksibilni prostor) - posebni elementi trake sa alatkama - glavna namjena: promjena udaljenosti između dugmadi na traci s alatima

26) UITabBar - tabbar - glavna svrha: pomaže pri prebacivanju između različitih nepovezanih ekrana

27) UITabBarItem - element tabbara - glavna svrha: očigledno

Razvoj aplikacija za mobilne uređaje donosi dobar prihod. Programeri za to dobijaju solidnu platu, a razvojne kompanije aktivno prodaju softver preko AppStore prodavnice aplikacija, ostvarujući profit od svake prodaje. Pisanje vlastitog programa je lako i teško u isto vrijeme. U nekim slučajevima morate biti programer da biste to učinili, au nekim slučajevima morate biti običan korisnik.

Postoje dva načina za kreiranje mobilne aplikacije za iOS od nule:

  1. Pisanje u Objective-C i Swiftu;
  2. Pisanje uz pomoć vizualnih urednika i usluga;
  3. Uz pomoć dodatnih jezika - ovo je C ++ i neki drugi.

Posljednja razvojna opcija stvorena je za profesionalce koji su skučeni unutar tradicionalnog ekosistema.
Što se tiče Objective-C i Swift jezika: oba su uključena u razvoj aplikacije. Samo je Objective-C zastario, jer se pojavio prije skoro tri decenije. Zamijenio ga je Swift, koji stvara moderne softvere, plaćene i besplatne. Također, profesionalci koriste C++ kodiranje u svojim programima, ali to je već izvan okvira članka.

Primarno okruženje za razvoj aplikacija

Bez obzira na uređaj za koji se aplikacija kreira, programeru će biti potrebno razvojno okruženje Xcode. Ovo okruženje je univerzalno - u njemu se prave aplikacije za pametne telefone, tablete, računare i druge uređaje kompanije Apple. Preuzima se preko Mac App Store-a, ne postoji verzija za Windows. Program se distribuira besplatno, već ima emulator za testiranje softvera.
Najnovija verzija okruženja objavljena je 27. marta 2017. - verzija broj 8.3. Također, ažurirani softver karakterizira podrška za nove funkcije i brži rad.

  • Swift 3 jezička podrška;
  • Pregledanje aplikacije na različitim platformama;
  • Analiza učinka kreiranih programa;
  • Analiza korištenja sistemskih resursa pri izvršavanju programa;
  • Emulation razni uređaji od Applea;
  • Ugrađeni uređivač kodova.

Svaki nova verzija pruža nove mogućnosti.

Primjer razvoja aplikacije

Ovaj primjer pokazuje osnove razvoja programa "Hello World" - proces kreiranja je napisan korak po korak, što vam omogućava da ga sami ponovite. Uputstvo predviđa upotrebu objektno orijentisanog programskog jezika Objective-C. Naslijedio je mnoge svoje karakteristike od jezika C, ali koristi dinamički sistem tipova podataka, a ne jako tipiziran. Za detaljnije upoznavanje preporučuje se rad sa knjigom „Moć Objective-C 2.0. Efikasno programiranje za iOS i OS X. Autor publikacije je Matt Galloway.
U svijetu programiranja uobičajeno je započeti učenje novih jezika uz program "Zdravo, svijete". Na ekranu će se prikazati dugme, kada se pritisne, ovaj natpis će se pojaviti i nestati na njemu. Prvo morate odabrati vrstu aplikacije:

  • Aplikacija Single View - praznina za kreiranje najjednostavnijeg softvera. Sadrži komponentu View Controller sa dizajnerom obrazaca za izgradnju interfejsa;
  • Aplikacija zasnovana na stranici - osnova za pisanje časopisa i čitača sa podrškom za više ekrana;
  • Aplikacija sa karticama - osnova za softver sa više ekrana koji se mogu prebaciti;
  • Master Detail Application - osnova za softver sa tabelarnim prikazom podataka;
  • Igra je osnova za kreiranje aplikacija za igre zasnovane na Metal, OpenGL ES, SceneKit i SpriteKit okvirima. Prvi okvir se koristi u zahtjevnim igrama, druga dva rade sa trodimenzionalnom grafikom, a posljednji sa dvodimenzionalnom grafikom.

Dostupna su još dva tipa - ovo je Sticker Pack aplikacija sa slikama za iMessage, kao i iMessage aplikacija za kreiranje dodataka za iMessage ili razvoj analognih aplikacija.
Za "Hello, World" je odabran prvi tip - ovo je Single View Application. Odaberemo ga i postavimo naziv projekta, odredimo jezik Objective-C, izaberemo stavku "Univerzalno" na listi uređaja (softver će raditi na iPadu i iPhoneu), poništite okvire Uključi jedinične testove i Uključi UI testove i spremite projekat.

Rad sa tekstom i dugmetom

U sljedećoj fazi pravimo programsko sučelje - proširite izbornik ShowLab i odaberite stavku Main.storyboard, nakon čega će se otvoriti prozor s izgledom uređaja (Interface Builder). U panelu komponenti odaberite dvije komponente - ovo je Button (dugme) i Label (natpis). Listu svojstava proširujemo klikom na Show the Attributes Inspector, te postavljamo komponentu Label - odabiremo svojstvo Text, na padajućoj listi selektujemo Plain stavku i upisujemo budući natpis "Hello World". Ako je potrebno, promijenite ivice natpisa i centrirajte ga vodoravno kroz Inspektor veličine - otvorite panel i odaberite stavku "Centriraj horizontalno u kontejneru" na padajućoj listi Rasporedi. Ovdje trebate promijeniti njegovo svojstvo iz Text u Switch.

Rad sa kodom

Sljedeći korak je stvaranje veze između koda i elemenata koji se koriste u aplikaciji. Slijed:

  • Otvorite sadržaj datoteke ViewController.h dvostrukim klikom u zasebnom prozoru;
  • Mišom uzimamo komponentu sa našim tekstom, držeći pritisnutu tipku Ctrl, i puštamo je unutar gornjeg prozora;
  • U prozoru Outlet koji se otvori unesite naziv objekta (na primjer, laboratorija) i navedite tip UILabel;
  • Na listi Storage izaberite tip reference na weal objekt i kliknite na Poveži - red “@property (slabo, nenatomsko) IBOutlet UILabel *lab;” se stavlja u kod (bez navodnika);
  • Radimo slične akcije za komponentu sa dugmetom, ali Outlet-u dajemo ime ali;
  • Otvorite implementacionu datoteku ViewController.m, uzmite komponentu tipkom miša, držite pritisnutu tipku Ctrl, pustite je u prozor sa datotekom do @end zagrade;
  • U prozoru koji se otvori navedite ime rukovaoca događaja (na primjer, Click), u polju Vrsta postavite vrijednost id;
  • Otvorite padajuću listu Događaj u istom prozoru, odaberite stavku Touch Up Inside - ovo je radnja kada otpustite prst;
  • Na listi Argumenti postavite vrijednost Sender;
  • Kliknite na dugme Poveži.

U prozoru koda pojavit će se linija sa vitičastim zagradama, između kojih morate unijeti kod "_lab.hidden = !_lab.hidden;". Kao rezultat, trebali bismo dobiti - "(IBAction) onClick: (id) sender ( "_lab.hidden = !_lab.hidden;)" (bez navodnika). Sada ostaje samo da pokrenemo našu prvu aplikaciju u emulatoru.
Aplikacija ima jednostavan interfejs, ima samo dva elementa - dugme i tekstualno polje. Kada kliknete na dugme, tekstualno polje prikazuje "Zdravo, svet". Kliknite ponovo i nestaje.
Može se činiti da smo kreirali aplikaciju predugo. Ako uspijete napraviti barem najjednostavniji softver, to će vam postati poticaj za dalje učenje programiranja za iOS.

Swift language


Ako mislite da je proces kreiranja iOS programa previše kompliciran, pokušajte se upoznati sa Swift jezikom. Njegove glavne prednosti:
  1. Swift je lakši od Objective-C;
  2. Swift je skoro tri puta brži;
  3. Swift je pogodniji u razvoju programa.

Pisana aplikacija se može prodati putem App Store-a. Moguća je i besplatna distribucija. Bez obzira na to kako distribuirate svoje aplikacije, morate kupiti posebnu licencu.

Usluge za kreiranje aplikacija za iOS

To će biti teško za osobu koja nije upoznata sa programiranjem sopstveni program. Za učenje programskih jezika potrebno je dosta vremena. Da biste kreirali iOS aplikaciju što je brže moguće, možete koristiti posebne konstruktore. Razmotrimo ih detaljnije.


Ovo je moćan alat koji ne zahtijeva poznavanje osnova programiranja. Umjesto potpunog razvoja, ovdje se koriste predlošci programa - to su trgovine, katalozi proizvoda, multimedijalni softver, medicinski softver, predlošci za restorane, fitnes klubove, pa čak i crkve. Ukupno postoji preko 1000 šablona koji olakšavaju proces razvoja. I mnoge od njih su potpuno besplatne.
Neosporna prednost usluge je što vam omogućava sastavljanje programa ne samo za iOS, već i za Android. Nedostatak je potreba za plaćanjem novca za smještaj. Minimum tarifni plan- 2400 rubalja / mjesec. Tarifa uključuje 500 instalacija. Za korporativne klijente postoji tarifa za 10 aplikacija i neograničen broj instalacija.
Usluga ima jasan interfejs na ruskom jeziku, tako da neće biti poteškoća s njim.

Aplikacije Globus servis


Pred nama je još jedan konstruktor koji vam omogućava da kreirate iOS aplikaciju bez znanja programiranja. Postoji moćan okvir sa pristojnom funkcionalnošću koji vam omogućava da kreirate programe visoki nivo teškoće. Korisnici mogu birati između mnogo šablona - mogu raditi sa grafikom, objavljivati ​​kupone sa QR kodovima, kreirati poslovni softver za taksi vozila, razvijati softver za hotele i restorane.
Minimalna tarifa za iOS je 6000 godišnje. Administracija konstruktora samostalno objavljuje kreirane aplikacije u App Store-u. Ovdje je također moguće dizajnirati softver za Android.
Zanimljiva prilika je nalog preprodavača za programere, koji vam omogućava pokretanje vlastiti posao razvoj softvera za sopstvene klijente.

App2b Constructor

Razvija online trgovine, kataloge proizvoda, online časopise i još mnogo toga. Korisnici čekaju mnogo gotovih šablona, ​​prilagodljivih vašem ukusu. Vaš softver će moći da radi sa grafikom, multimedijalne datoteke, push obavještenja, navigacija, društvene mreže i mnogi drugi. Pokrenite galerije fotografija, online izložbe, muzičke kataloge i drugi softver u samo nekoliko klikova.
Glavni fokus usluge je na poslovnom softveru. Razvoj je ovdje besplatan, ali morate platiti pristup dizajneru, tehničku podršku, pristup statistici i postavljanje programa u App Store. Cijena jedne aplikacije je 9990 rubalja.


Prilično jednostavan konstruktor, trebat će minimalno vremena da se razviju - bit će potrebno više za pripremu sadržaja. Usluga je besplatna i ne morate je plaćati. Da biste započeli razvoj, potrebno je da preuzmete desktop uslužni program na svoj računar (pod Windowsom). Instaliramo softver, otvaramo ga i krećemo na posao - koristeći gotove module i besplatni šabloni možete brzo napraviti program koji vam je potreban.

Apps Maker Store

Ako vam je potreban zaista lijep i funkcionalan softver, obratite pažnju na konstruktor AppsMakerStore. Ovo je moćan poslovni alat koji vam omogućava da kreirate aplikacije za posao, i to vlastitim rukama - bez pomoći trećih strana. Postoji mnogo šablona koje možete izabrati:

  • Za restorane i kafiće - sa mogućnošću naručivanja, rezervacije stolova ili organizovanja programa lojalnosti;
  • Za trgovinu - podržane su push notifikacije, postoji katalog robe sa mogućnošću kupovine putem interneta, postoje funkcije za organizovanje događaja;
  • Za kozmetičke salone - organizacija rezervacija i termina, galerija radova, recenzije kupaca, poklon bonovi;
  • Za radio - organizacija emitovanja za cijeli svijet, izdavanje korisne informacije i vijesti;
  • Za događaje i aktivnosti - šablon za event agencije i organizatore. Snažna funkcionalnost s geolokacijom i obavijestima;
  • Za vladine agencije - pokrenuti kalendare događaja, objaviti zaštićene informacije;
  • Za hotele, pansione, pansione - funkcije rezervacije, naručivanje dodatne usluge i još mnogo toga što je potrebno u hotelijerstvu.

Dakle, ovdje programere čeka impresivna funkcionalnost za razvoj programa za različite namjene.
Servisni tim će vam pomoći da objavite svoju aplikaciju u App Store-u bez kompliciranih radnji s vaše strane - samo trebate kreirati softver.

Koji je najbolji način za razvoj aplikacija

Prilično je teško odgovoriti na ovo pitanje. Stoga smo sastavili uporednu tabelu:

Servis pros Minusi
iBuildApp Mnogo šablona za aplikacije, interfejs na ruskom jeziku, podrška 24/7 Za razvoj morate platiti novac, i to prilično veliki
Aplikacije Globus podrška ruskom jeziku, pristupačne cijene za objavljivanje i podršku programa, mnoge alate za razvoj softvera, fleksibilnost dizajnera, pristup analitici, obezbjeđivanje izvornih kodova Malo dostupnih šablona
App2b Mnogo razvojnih alata - od jednostavnih stranica do online prodavnica, sopstvenog hostinga, alata za promociju aplikacija Nije najinformativnija stranica detaljne informacije za razvoj potrebno je nazvati kontakt broj
Nova digitalna vremena Nema potrebe za plaćanjem novca, mogućnost razvoja aplikacije preko web interfejsa ili aplikacije za računar. Možete kreirati prodavnicu, časopis, postoji hosting za podatke Malo modula, mnogi od njih će se morati naručiti od servisnih programera
Apps Maker Store Ogroman broj profesionalno poliranih predložaka omogućit će vam stvaranje proizvoda bilo koje razine složenosti. Mnogo dodatnih modula. Podrška za više platformi. Teško je razumjeti cijene

Kreiranje aplikacije pomoću usluga je vrlo jednostavno - razvoj vam neće oduzeti mnogo vremena. Sve radnje ovdje se izvode u vizualnim uređivačima, rezultati se mogu pogledati bez objavljivanja u App Store-u. Također, skoro sve usluge podržavaju softver za Android - možete pokriti dva mobilne platforme. Ova prilika je relevantna za one koji se bave poslom i promovišu ga u Internet okruženju.
Ali u konstruktorima je moguće kreirati daleko od bilo kakvih programa. Između ostalog, mobilne igre konstruktori se ne mogu kreirati. Stoga će vam učenje programskih jezika otvoriti najšire mogućnosti za rad sa softverom za Apple proizvode.



Učitavanje...
Top