Programovanie pre iPhone. kde začať? Ako vytvoriť aplikáciu pre iOS – od nápadu po predaj programovania pre iPhone

“Ale dnes je tu špeciálna príležitosť – chcel som zdôrazniť 10 najlepších aplikácií, ktorým by fanúšikovia programovania mali venovať pozornosť. K dispozícii sú vzdelávacie aplikácie, jedna hra pre programátorov, kompilátorov a editorov kódu.

Pythonista 3 je program na písanie Python aplikácií. Zaujímavý fakt: názov jazyka nepochádza z pytóna plazov, ale z názvu britskej komédie „Monty Python's Flying Circus“. Python je len v anglickom Pythone.

Niektorí ľudia si myslia, že Python je skvelý pre prvý programovací jazyk. Možno tak. Jazyk má jednoduchú a zrozumiteľnú syntax a zároveň veľké množstvo funkcií.

Python je populárny jazyk používaný mnohými veľkými spoločnosťami. Vo svojich projektoch ho využívajú napríklad Google a Facebook. Pythonista 3 vám umožňuje napísať program a spustiť ho priamo tam.

Programovací jazyk "smart BASIC".

Aplikácia, ktorá pozýva používateľa na programovanie v pokročilej verzii najobľúbenejšieho jazyka na učenie - Basic. Práve s Basicom sa začalo moje zoznámenie s programovaním pred 20 rokmi.

Napriek tomu, že veľa pokročilých Basic programátorov tomu slovu vôbec nerozumie, považujem ho za dobrý jazyk pre začiatočníkov. Je veľmi jednoduchý a zároveň v šikovných rukách dokáže vyriešiť množstvo problémov.

Náš čitateľ Alexander, amatérsky programátor, dokonca už dávnejšie vytvoril aplikácie v Smart Basic, ktoré boli publikované v App Store.

Apple vyvinul programovací jazyk Swift pre programátorov iOS a Mac OS. Apple koncipoval Swift ako jednoduchší a čitateľnejší jazyk na učenie ako jeho predchodca Objective C. V roku 2014 bol tento jazyk zavedený do Xcode. A v roku 2016 Google oznámil, že Swift bude prvým jazykom pre Android. S najväčšou pravdepodobnosťou to bude mať pozitívny vplyv na rýchlosť vydávania aplikácií pre Android. Exkluzív a aplikácií, ktoré vychádzajú najskôr pre iOS a po niekoľkých mesiacoch/rokoch pre Android, bude menej.

Samotné Swift Playgrounds od Apple umožňujú aj začiatočníkom ponoriť sa do sveta jazyka. Študujte nové konštrukcie, študujte prácu kódu pomocou živých príkladov hravou formou.

Séria "Učenie sa programovacích jazykov" od Sololearn

Nedávno som narazil na sériu zábavných aplikácií od spoločnosti Sololearn, ktoré ponúkajú interaktívne lekcie o učení sa programovacích jazykov. V ruštine sú k dispozícii nasledujúce jazyky: JavaScript, HTML, C ++, Python, Java, CSS, SQL, PHP, C #, JQuery, Ruby. Rýchle lekcie angličtiny.

Prešiel som niekoľko tutoriálov JavaScript. Všetko je veľmi prístupné a zaujímavé. Uvádzajú sa mini lekcie s príkladmi, ktoré je možné okamžite spustiť v emulátore. Potom zvyčajne nasleduje otázka s viacerými možnosťami alebo možnosť zadať textovú odpoveď. Veľmi vizuálne a ľahko použiteľné pre začiatočníkov.

Existujú príklady kódu a schopnosť ich spustiť:

Všetky aplikácie sú bezplatné a žiadne nákupy v aplikácii.

Editor textového kódu 6

App Store má dva slušné textové editory kódu. Textastic za cenu 749 rubľov (v americkom App Store 10 dolárov) je rozpočtový možnosť.

Textastic podporuje syntax v približne 80 programovacích jazykoch. Program slúži na krásne zobrazenie a úpravu textov. Toto nie je kompilátor - všimnite si prosím. Aplikácia funguje takto – stiahnete si kód, upravíte ho a následne nahráte späť.

Coda

A tu je drahšia a pokročilejšia verzia textového editora. Za 1890 rubľov dostanete všetko v jednom.

  • Editor kódu so zvýraznením syntaxe a pohodlnými úpravami online aj offline.
  • Podpora mnohých populárnych jazykov.
  • Podpora sieťových protokolov (najmä FTP) a hlavne SSH terminálu.
  • Synchronizácia medzi iOS a Mac (verziu pre Mac OS je možné zakúpiť na webovej stránke spoločnosti Panic).

Nedávno som narazil na zábavnú referenčnú aplikáciu, ktorá obsahuje príklady kódov v 6 programovacích jazykoch: Swift, Java, C #, Python, C++, Objective C. Jej podstatou je, že človek môže rýchlo nájsť kúsok kódu v jazyk, ktorý potrebuje. Programátor si napríklad potrebuje rýchlo zapamätať, ako vyzerá obsluha chýb v C++. Nahliadne do programu a nájde potrebný fragment, ktorý môže uplatniť vo svojom programe.

Vývojár aplikácie zhromaždil príklady z týchto 6 programovacích jazykov a podľa aktualizácií ich tiež neustále aktualizuje.

Program je shareware, ale plná verzia stojí iba 2 doláre.

Codea

Codea sa objavila v roku 2012 ako prvá aplikácia App Store, ktorú bolo možné použiť na písanie aplikácií pre iOS. Do dnešného dňa sa program aktualizuje. Codea používa programovací jazyk Lua, ktorý bol vynájdený v Brazílii a ideológiou sa najviac podobá JavaScriptu.

Codea je navrhnutá tak, aby zjednodušila programovanie pre iOS. To znamená, že cieľom vývojárov bolo vizualizovať proces a urobiť ho pohodlnejším.

Ako príklad vývojári zverejnili na App Store veľmi užitočnú úplne bezplatnú hru Cargo Bot (je napísaná v Codea). V ňom je potrebné pomocou manipulačného ramena preusporiadať farebné boxy, aby ste získali požadované miesto. Aby ste to dosiahli, musíte prísť s algoritmami pomocou dostupných príkazov.

Hopscotch: Make Games

Ďalšia aplikácia na vytváranie hier. Vo vnútri sú praktické (zobrazené v malom okne) vzdelávacie videá, ktoré vám pomôžu vytvoriť prvé hry v angličtine.

V aplikácii môžete vyberať objekty a vymýšľať pre ne akcie. Výsledkom sú jednoduché arkádové hračky. Vyskúšal som niekoľko vyrobených ľuďmi. Nie je to zvlášť ohromené, ale musíte počítať s amatérskou úrovňou používateľov.

Každý je v programe dobrý, ale predplatné 5 000 rubľov ročne je nad rámec dobra a zla. Preto jediný program v tejto top 10, ktorý som zaradil podľa zásady: „Super! Je potrebné, aby sa čitatelia pozreli “. S takouto cenovkou nemôžem odporučiť.

Profesia programátora je jednou z najprestížnejších a najžiadanejších, to je fakt. Odvetvie vývoja softvéru má svoje vlastné medzery. Z nich najrýchlejšie rastúci a zároveň najlepšie platený je vývoj softvéru pre mobilné zariadenia. Ako viete, stalo sa, že konkurenti nechali ďaleko za sebou a do vedenia sa dostali traja stáli súperi. Trik je položený tak, že jeden z týchto troch je bezpodmienečným vodcom, vždy ho niekto dobieha.

V segmente mobilných technológií nepochybne vedie Apple so svojim iPhonom. Cupertinská spoločnosť na prezentácii v septembri predviedla už 7. verziu mobilného zariadenia. Spolu s ním Apple predstavil novú verziu mobilného operačného systému iOS 10. Teraz je najvýznamnejším operačným systémom na svete, rovnako ako jeho predchodcovia. Z toho vyplýva, že učiť sa vývoj iOS je najvýnosnejšia investícia času a peňazí.

Jablkový ekosystém

Dnes vyvinieme jednoduchú mobilnú aplikáciu pre iOS. Na to sa samozrejme najlepšie hodí natívny Mac. Ale ak ste zástancom Windowsu alebo jednoducho nemáte Mac, môžete si nainštalovať operačný systém macOS pod virtuálny stroj vo Windowse. Na internete pre vás nebude ťažké nájsť verziu macOS špeciálne nabrúsenú pre PC, ľudovo nazývanú Hackintosh. Neváhajte a vložte ho na virtuálny stroj VMware, VirtualBox – podľa vášho výberu. Hneď vás upozorním, že klávesnica PC nemá niektoré klávesy, ktoré sú na klávesnici Macu a mnohé ich kombinácie sa v Hackintoshi nedajú stlačiť. Dosť to kazí náladu. V opačnom prípade je možné na Hackintosh úspešne vykonať všetky operácie popísané nižšie.

Požadované znalosti

Na programovanie vo všeobecnosti a najmä pre iOS potrebujete vedieť veľa. Matematika a logika možno zo začiatku nebudú potrebné, no neskôr budú žiadané. Moderné technológie zbavili programátora nutnosti dôkladne poznať architektúru počítača, je však potrebné pochopiť základné mechanizmy, akými sú číselné sústavy, ich transformácie, rýchlosť podprogramov, či efektívnosť algoritmov (veľké O).

Na vyššej úrovni musí mať vývojár iOS hlboké znalosti operačného systému macOS a samotného iOS. Tiež určite musíte ovládať programovací jazyk „jablko“. Znalosť Delphi, C ++, C # alebo VB.NET vám veľmi nepomôže. Apple má svoj vlastný ekosystém s vlastnými jazykmi: Objective-C a Swift. Samozrejme, znalosť C ++ ešte nikomu neublížila, programy a vložky v ňom nájdete všade, dokonca aj v Apple. Najpoužívanejší je však podľa definície Objective-C, jednoducho preto, že sa objavil oveľa skôr (v polovici osemdesiatych rokov minulého storočia), zatiaľ čo Swift len ​​pred dvoma rokmi (v roku 2014). Apple vkladá veľké nádeje a do nového jazyka veľa investuje. Na podporu starého softvéru sa používa Objective-C a nový je napísaný v Swifte. Takže je dobré, aby ste vedeli oboje.

Aby ste nestrácali čas márne, všetky tieto programovacie jazyky je možné študovať pod prísnym dohľadom učiteľov na stránke.

Vývojové nástroje

Ako viete, hlavným vývojárskym nástrojom pre macOS a s ním aj iOS je programovacie prostredie Xcode... Obsahuje nástroje na vytváranie aplikácií pre Mac, iPhone, iPad, Apple TV, Apple Watch. Všetky platformy Apple. Xcode obsahuje Interface Builder, editor kódu, ktorý podporuje všetky moderné nástroje kódovania. Okrem toho, bez opustenia Xcode, môžete testovať aplikáciu; ak sa vyvíja pre externé zariadenie, potom sa dá spustiť v emulátore.

Súčasťou systému sú emulátory všetkých zariadení, ktorých nové verzie je možné stiahnuť. Okrem toho Xcode obsahuje grafické nástroje na analýzu výkonu aplikácií vrátane nástrojov na diagnostiku využitia CPU, využitia úložiska (HDD, SDD a iné) a zaťaženia grafického adaptéra (zo strany OpenGL).

13. septembra bola vydaná nová, dlho očakávaná verzia vývojového prostredia 8.0. Stabilné verzie si môžete zadarmo stiahnuť z App Store. Alfa a beta sú distribuované na základe predplatného vývojára. Ôsma verzia obsahuje: novú verziu jazyka Swift 3, učebný nástroj Swift Playground pre iPad, novú verziu nástroja Interface Builder, ktorý sa stal rýchlejším a umožňuje vám zobraziť rozloženie aplikácií na rôznych platformách bez toho, aby ste museli nasadzovať samotnú aplikáciu na simulátor.

S Xcode 8 môžete vyvíjať aplikácie pre macOS Sierra, iOS 10, watchOS 3 a tvOS 10. Súčasťou sú všetky súpravy SDK. Nové verzie operačných systémov sa začali dôsledne objavovať po predstavení Apple začiatkom septembra.

Jazyk Objective-C

V krátkosti si pripomeňme základné informácie o jazyku. Objective-C je skompilovaný objektovo orientovaný programovací jazyk používaný na písanie aplikácií pre systémy Apple. Je to nadmnožina alebo inými slovami nadstavba nad C, preberajúca z posledne menovanej syntaxe, dátových typov, metód riadenia vykonávania programu a pridávajúcich k tomu možnosti objektovo orientovaného programovania - popis tried a metód .

Rovnako ako v C ++, Objective-C je ústredným prvkom objektov, ktoré sú spojené so štyrmi paradigmami: abstrakcia, zapuzdrenie, dedičnosť a polymorfizmus. C ++ je silne typovaný, zatiaľ čo Objective-C je typovaný slabo alebo má systém dynamických dátových typov. Podobne ako Smalltalk, Objective-C posiela správy objektom. Toto je výnimočná vlastnosť dynamických jazykov, pretože typ objektov sa kontroluje pri spustení, nie pri kompilácii.

Opis jazyka Objective-C zaberá viac ako jeden objemný zväzok. Preto, aby ste získali objektívne znalosti, je vhodné absolvovať kurz „“. Tomuto jazyku je venovaná celá jedna časť kurzu.

Vývoj aplikácií pre IOS

Ako vzorku vyvinieme veľmi jednoduchú aplikáciu. Neodbočujme od posvätnej tradície, pozdravujme svet. Vzhľadom na to, že máme grafickú aplikáciu, to však trochu spestríme: pridáme tlačidlo, ktorého stlačením zobrazíme alebo skryjeme nápis „Hello, World“.

Spustite Xcode, v zobrazenom okne vyberte Vytvoriť nový projekt alebo v hlavnom menu Súbor -> Nový -> Projekt. Nasledujúce okno vás požiada o výber cieľovej platformy a typu aplikácie.


V tomto prípade nás zaujíma platforma iOS. Na výber je sedem typov aplikácií. Šesť z nich sú útržky typických aplikácií pre iOS, ktoré štandardne obsahujú inú sadu komponentov. Siedmym typom je hra.

Typy aplikácií

  • Pahýl aplikácie Single View je pre jednoduchú aplikáciu na jednej obrazovke. Predvoľba obsahuje komponent View Controller, ktorý vám umožňuje prispôsobiť vzhľad vašej aplikácie pomocou nástroja Interface Builder.
  • Aplikácia Master Detail vytvorí aplikáciu, ktorá zobrazuje kolekciu objektov v tabuľkovom zobrazení. Po výbere jedného z nich sa zobrazia podrobné informácie o danom objekte. Prvým je majster, druhým detail.
  • Pomocou aplikácie Page-Based Application sa vytvárajú aplikácie, ktoré majú viacero obrazoviek, napríklad stránky v knihe. Preto z tohto polotovaru vznikajú napríklad čítačky.
  • Aplikácia s kartami vám umožňuje vytvárať aplikácie, kde sa môžete kedykoľvek prepnúť na každú obrazovku, to znamená, že každá obrazovka má svoje vlastné tlačidlo na jej aktiváciu, na ktorom sa zobrazuje názov. ITunes je príkladom.
  • Hra sa používa na vytvorenie šablóny hry. Na vytvorenie hry si môžete vybrať zo štyroch rámcov: SpriteKit, SceneKit, OpenGL ES, Metal. Poďme sa na ne rýchlo pozrieť.
    SpriteKit je systém pre 2D vykresľovanie a animáciu textúrovaných obdĺžnikov - sprite. Pri zobrazovaní snímok sa používa štandardný cyklus, snímka sa zobrazí po tom, čo spracovaním prejde celý obsah scény.
    SceneKit je rámec na vysokej úrovni na vykresľovanie 3D grafiky bez použitia OpenGL. Podporuje načítanie, manipuláciu s 3D objektmi. Obsahuje fyzikálny engine, generátor častíc a jednoduchý spôsob skriptovania.
    OpenGL ES je štandard pre počítačovú grafiku. Umožňuje vykresliť 2D a 3D scény. Umožňuje opísať potrubie pre grafickú kartu: vrcholy sú transformované, zostavené do primitív, ktoré sú rastrované do dvojrozmerného obrazu a zobrazené na obrazovke. Do potrubia môžete zahrnúť programovateľné shadery.
    Metal je nízkoúrovňové API, ktoré vám umožňuje vytlačiť všetku energiu z vášho grafického adaptéra. Odladené API spolu s predkompilovanými shadermi a multithreadingom posúvajú vašu hru na vyššiu úroveň výkonu a kvality.
  • Sticker Pack Application je nový druh aplikácie, ktorý sa objavil v iOS 10 a Xcode 8. Ide o kolekciu jednoduchých alebo animovaných obrázkov použitých v novom iMessage. Na jeho vytvorenie nie je potrebné žiadne kódovanie.
  • Aplikácia iMessage je nový druh aplikácie, ktorá sa objavila v systémoch iOS 10 a Xcode 8. Umožňuje vám vytvárať doplnky pre iMessage, napríklad na nákup a stiahnutie balíka nálepiek. Rozhranie iMessage API môžete použiť aj na vytvorenie vlastného analógu tejto aplikácie, vrátane prehrávania zvuku, videa, používania nálepiek a podobne.

Vytvorenie prvého projektu

Ako šablónu pre našu aplikáciu zvolíme Single View Application. Nakoľko nebudeme vyvíjať veľký program, postačia nám aj prostriedky z tohto prípravku. Kliknite na tlačidlo Ďalej. Na ďalšej stránke sprievodcu musíte zadať názov projektu, napríklad ShowLab. V rozbaľovacom zozname Jazyk ponechajte predvolený jazyk - Objective-C. Ďalej v rozbaľovacom zozname Zariadenia ponechajte možnosť Univerzálne. To určuje, pre ktoré zariadenie (iPhone alebo iPad) je aplikácia vytvorená. Univerzálna klauzula znamená pre oboch. Zrušte začiarknutie políčok Zahrnúť testy jednotiek a Zahrnúť testy používateľského rozhrania, nepotrebujeme žiadne testy. Ďalšie. Vyberieme priečinok na uloženie projektu. Teraz stlačte tlačidlo Vytvoriť.

Tým sa otvorí okno so zoznamom všetkých parametrov aplikovaných na projekt. V tomto okne môžete zmeniť parametre nastavené skôr v sprievodcovi: orientáciu, cieľové zariadenie atď.


Najprv musíme vytvoriť aplikačné rozhranie. Ak to chcete urobiť, jedným kliknutím vyberte súbor Main.storyboard v zozname vľavo (ak tento súbor nie je viditeľný, rozbaľte obsah priečinka ShowLab). Napravo od zoznamu bude celé okno zaberať Interface Builder. Rozloženie zariadenia sa zobrazí v strede. V pravom dolnom rohu okna je panel komponentov. Presuňte odtiaľ komponenty Label a Button do rozloženia. Nad panelom komponentov je zoznam vlastností. Ak ho nemáte, kliknite na tlačidlo Zobraziť inšpektora atribútov, ktoré sa nachádza pod nadpisom okna na pravej strane rozhrania.

V rozložení vyberte komponent Label a nastavte jej vlastnosť Text: v roletovom zozname ponechajte možnosť Plain, do riadku nižšie zadajte požadovaný štítok, v našom prípade „Hello, World“. Ak sa text nezmestí do okrajov textového poľa, zmeňte ich potiahnutím rukovätí na okrajoch komponentu. Ak ho chcete vycentrovať vodorovne, prejdite na stránku Inšpektor veľkosti kliknutím na tlačidlo Zobraziť inšpektora veľkosti (napravo od Zobraziť inšpektora atribútov). Na tejto stránke vyberte z rozbaľovacieho zoznamu Usporiadať možnosť Vycentrovať horizontálne v kontajneri.

Teraz vyberte komponent Button, zmeňte jeho vlastnosť Text na požadovaný štítok - Switch. Môžete ho vycentrovať rovnakým spôsobom, ako je opísané vyššie.

Vytvorte prepojenie medzi grafikou a kódom

Vo Visual Studiu (alebo Delphi) sa objekt v kóde vytvorí automaticky v momente, keď do formulára vložíte vizuálny komponent. Toto sa v Xcode nedeje, ale nerobí to problém.

Otvorte obsah hlavičkového súboru ViewController.h v samostatnom okne dvojitým kliknutím naň. Tento súbor obsahuje deklaráciu rozšírenia triedy UIViewController označenú kľúčovým slovom @interface. Táto funkcia bola pridaná v druhej verzii Objective-C. Teraz urobte tento trik: presuňte kurzor myši na komponent - textový štítok, podržte kláves Ctrl a ľavé tlačidlo myši. Presuňte kurzor do okna s kódom (súbor ViewController.h), za kurzorom sa natiahne modrá čiara. Uvoľnite myš a kláves v popise rozhrania ViewController.

Zobrazí sa okno vytvorenia zásuvky.


Toto je vlastnosť objektu, ktorá odkazuje na iný objekt (v tomto prípade vizuálny komponent). Musíte zadať názov objektu Outlet, pomocou ktorého budete odkazovať na vizuálny komponent, nech je to laboratórium. Ďalej sa vyberie typ objektu, vyberie sa správne: UILabel.

Ešte nižšie v zozname Úložisko je vybratý typ referencie objektu: slabý alebo silný. Ak zvolíte silný, potom objekt, na ktorý vlastnosť ukazuje, bude existovať, pokiaľ naň vlastnosť ukazuje, v takom prípade ho nemožno automaticky odstrániť, keď sa už nepoužíva. Na druhej strane, ak je v platnosti slabá referencia, objekt sa môže sám zničiť. Vyberte typ slabého spojenia a kliknite na tlačidlo Pripojiť. V dôsledku toho sa do kódu pridá nasledujúci riadok:

@vlastnosť (slabá, neatómová) IBOutlet UILabel * lab;

Uistite sa, že Outlet je nehnuteľnosť.

Teraz vytvoríme výstup pre tlačidlo. Algoritmus zostáva rovnaký. Len pre vlastnosť Name musíte zadať iný názov, napríklad ale. Do kódu sa pridá riadok:

@vlastnosť (slabá, neatómová) IBOutlet UIButton * ale;

Výsledkom je, že máme dva ukazovatele na vizuálne komponenty: laboratórium a no – štítok a tlačidlo. Teraz pomocou ukazovateľov môžeme manipulovať s komponentmi v kóde.

Potom musíte vytvoriť obsluhu pre udalosť kliknutia na tlačidlo. Ak to chcete urobiť, otvorte implementačný súbor ViewController.m v samostatnom okne. Rovnakým spôsobom, ako ste ťahali riadok do súboru hlavičky, aby ste vytvorili výstup, z tlačidla presuňte riadok do implementačného súboru a pustite ho do zátvorky príkazu na zatvorenie - @end. Zobrazí sa okno na vytvorenie udalosti, podobné oknu na vytvorenie zásuvky. Môžete vidieť rozdiel: v hlavičkovom súbore sa vytvorí odkaz na objekt a v implementačnom súbore sa vytvorí metóda.


Vyplňte pole Názov, jeho hodnota predstavuje názov vlastnosti - metódy. Nech je to naKlik. Štandardne ponechajte pole Typ – id. V Objective-C je tento typ predchodcom všetkých ostatných. V rozbaľovacom zozname Udalosť je štandardne vybratá udalosť Touch Up Inside, ku ktorej dochádza pri uvoľnení ukazovateľa (myši, prsta ...) nad tlačidlom, čiže v záverečnej fáze stlačenia tlačidla. To je to, čo potrebujeme. V zozname Argumenty ponechajte predvolenú hodnotu: Sender je objekt, ktorý vyslal tento signál, v našom prípade to bude vždy tlačidlo. Kliknite na tlačidlo Pripojiť. V dôsledku toho sa pridá nasledujúci kód:

- (IBAakcia) pri kliknutí: (id) odosielateľ ()

Mínus na začiatku znamená súkromnú metódu. Kľúčové slovo IBAction označuje udalosti (metódy) vizuálnych komponentov z Interface Builder.

Medzi zátvorky príkazov napíšeme kód, ktorý sa vykoná po stlačení tlačidla:

Lab.hidden =! _Lab.hidden;

V tomto riadku kódu prevrátime hodnotu skrytej vlastnosti. Má typ BOOL, ktorý má dve hodnoty: YES - true a NO - false (trochu nezvyčajné pre programátorov Windows, kde true a false).

Pozor na znak podčiarknutia pred názvom objektu – štítky (_lab). Kompilácia bez toho zlyhá. Pre objekty obsiahnuté v iných objektoch sa automaticky pridá podčiarknutie; to znamená, že v tomto prípade je laboratórny objekt obsiahnutý v objekte ViewController. Toto bývalo podmienené pravidlo používané na rozlíšenie medzi objektmi deklarovanými ako členovia triedy a lokálnymi objektmi. A teraz je to prísne pravidlo implementované v kompilátore jazyka.

Teraz môžete skompilovať aplikáciu a spustiť ju na simulátore. Vybrali sme simulátor iPhone 7, ktorý je súčasťou Xcode 8. Tlačidlo skompilovať a spustiť je čierny obdĺžnik v lište v hornej časti rozhrania.

Po zostavení aplikácie, spustení simulátora a načítaní našej aplikácie sa na obrazovke simulátora zobrazí jej rozhranie: nápis „Hello, World“ a tlačidlo Switch. Ak stlačíte posledné, nápis zmizne, ak ho stlačíte znova, znova sa objaví.

Vytvorili sme veľmi jednoduchú aplikáciu na pochopenie podstaty vývoja iOS. Viac o vytváraní aplikácií Objective-C pre iOS sa môžete dozvedieť v našom kurze priateľov GeekBrains "". V kurze sú dva mesiace na štúdium tohto jazyka. Počas prvého mesiaca - úvodné témy a v druhom - skutočné kódovanie profesionálnych aplikácií.

Rýchly jazyk

V roku 2014 Apple predstavil nový programovací jazyk – Swift. Rýchlo sa stal najdiskutovanejším a najrýchlejšie rastúcim jazykom na svete. Ide o spoľahlivý, bezpečný a intuitívny jazyk pre vývoj aplikácií pre operačné systémy macOS, iOS, tvOS a watchOS pre celú flotilu zariadení Apple. Swift je efektívny programovací jazyk. Je ľahšie sa naučiť ako jeho predchodca Objective-C, no zároveň si z neho Swift požičiava niektoré z najlepších nápadov. Vývojári zároveň urobili jazyky kompatibilnými, to znamená, že jeden program môže obsahovať kód Swift aj Objective-C. Vo svete existujú miliardy riadkov kódu a státisíce starších programov napísaných v Objective-C, takže od jeho podpory sa rozhodne neupustí.

Pri vývoji Swiftu bolo cieľom vytvoriť najpohodlnejší systémový programovací jazyk – rýchly, bezpečný a výrazný.

Algoritmus v jazyku Swift je 2,6-krát rýchlejší ako rovnaký algoritmus v Objective-C a 8,4-krát rýchlejší ako v Pythone. Pomocou Swift je proces vývoja programov flexibilnejší a pohodlnejší.

Vzhľadom na exponenciálny vývoj bol 3. decembra 2015 jazyk Swift presunutý do open source komunity. Apple zároveň prísne sleduje jeho vývoj a organizuje výbor na jeho vývoj. Swift je teraz dostupný nielen pre systémy Apple, ale aj pre Linux. Všetky dodatočné nástroje na prácu s jazykom vrátane debuggera, štandardnej knižnice, správcu balíkov sú tiež bezplatné a open source.

Budúcnosť patrí tomuto jazyku. Podrobnejšie informácie sa o ňom dozviete z vyššie uvedeného kurzu od GeekBrains "", v ktorom je na štúdium tohto programovacieho jazyka vyčlenený celý mesiac.

Obchod s aplikaciami

Jednoducho povedané, App Store je obchod s obsahom pre celý rad zariadení Apple. Tu si môžete kúpiť hry a aplikácie od veľkých spoločností aj nezávislých vývojárov. Každý vývojár bez ohľadu na to, v ktorej krajine žije, môže bezplatne predávať alebo distribuovať svoje programy na tejto platforme digitálnej distribúcie. Aby ste to mohli začať, musíte sa zaregistrovať ako vývojár a zakúpiť si licenciu na predaj svojich aplikácií. Ide o poplatok za poskytovanú službu a rozvoj App Store.

výsledky

Vyvinuli sme jednoduchú aplikáciu pre mobilný operačný systém iOS využívajúcu programovací systém Xcode spolu s jazykom Objective-C. Hotovú aplikáciu sme otestovali na simulátore iPhone 7. Naučili sme sa, ako zostaviť používateľské rozhranie pomocou Interface Buildera, ako priradiť grafické prvky ku kódu aplikácie a ako vytvárať obsluhy udalostí. Oboznámenie sa so základmi Objective-C. Okrem toho sme upozornili na sľubný jazyk Swift používaný na vývoj výkonných a bezpečných aplikácií pre ekosystém Apple.

Naštudovaný materiál je však len začiatok. Pre intenzívny upgrade smerom k mobilnému kódovaniu a vývoju reálnych aplikácií odporúčame absolvovať kurz "" na stránke našich priateľov.

Toto je hodnotný kurz: po jeho absolvovaní určite nebudete strácať čas. Začína sa dvoma podrobnými kurzami jazyka Java, po ktorých nasleduje základné programovanie pre mobilný operačný systém Android. Ďalej kurz o databázach všeobecne a konkrétne o jazyku SQL. Potom hĺbkový kurz vývoja profesionálnych aplikácií pre Android. Potom sa vektor štúdia presunie smerom k systémom Apple: dva podrobné kurzy jazyka Objective-C a užitočný kurz Swift.


Prednášky kurzov vedú profesionálni učitelia s bohatými skúsenosťami s vývojom softvéru. Ak niečo nie je jasné, môžete sa bez meškania spýtať. Vo všeobecnosti je učenie na GeekBrains živý proces, môžete komunikovať, klásť otázky, pomáhať s odpoveďami. Na otestovanie získaných vedomostí učitelia zadávajú domácu úlohu, ktorá sa následne kontroluje. Po absolvovaní školenia ťa čaká garantovaná prax v IT firme. A potom všetko závisí od vás, ak sa ukážete ako kompetentný špecialista, budete pozvaní do práce.

Špeciálny projekt so spoločnosťou

Žiadne finančné investície a špeciálne znalosti.

Tu je najjednoduchší návod, ako vytvoriť základnú aplikáciu pre iOS a vyskúšať ju na svojom zariadení. Na základe nej môžete ísť hlbšie do témy a vytvárať skutočne užitočné programy.

Poznámka pre používateľov systému Windows: na vytváranie aplikácií pre iOS je potrebné nainštalovať OS X na virtuálny počítač (VirtualBox, VMware). Tento proces nie je v žiadnom prípade jednoduchý a vyžaduje si samostatný návod na jeho implementáciu.

1. Prejdite do obchodu App Store a nainštalujte vývojové prostredie Xcode :

Ak už máte XCode, musíte ho aktualizovať.

2. Spustite xCode a vyberte položku ponuky Súbor -> Nový -> Projekt:

3. Vyberte platformu a typ aplikácie:

4. Uvádzame informácie o projekte. Upozorňujeme, že sme vybrali typ aplikácie „Univerzálny“:

5. Stlačte tlačidlo Nový priečinok a zadajte názov priečinka, do ktorého budeme ukladať súbory aplikácie:

6. Zrušte začiarknutie políčka Create Git Repository a kliknite na tlačidlo Create. V dôsledku toho by ste sa mali dostať na úvodnú obrazovku práce na aplikácii:

7. Kliknite na položku Hlavný.príbeh v pravej ponuke presuňte prvok do hlavného poľa Označenie a pridajte k nemu text Ahoj_svet:

8. Teraz musíme vytvoriť ikonu pre aplikáciu. Vyberieme obrázok a nahráme ho na mapappicon.com:

9. Čakáme, kým webová aplikácia dokončí prácu a uvedieme našu e-mailovú adresu, aby sme dostali archív s ikonami:

10. Vráťte sa do Xcode a vyberte sekciu v ľavom menu Aktíva.xaktíva:

11. Otvorte archív z pošty a presuňte ikony odtiaľ do pracovného priestoru Xcode:

12. Vyberte jeden zo simulátorov zariadení, kliknite na tlačidlo spustenia aplikácie (čierny trojuholník) a zapnite ho na počítači Mac Režim vývojára:

13. Skúsime začať odznova. Čakáme, kým sa iOS načíta do simulátora:

14. Uistite sa, že aplikácia funguje:

Pozeráme sa na hotovú aplikáciu na zariadení

Teraz môžete vidieť, ako aplikácia funguje na zariadení. Pred vykonaním pokynov sa uistite, že máte najnovšie verzie XCode a iOS.

1. Prejdite na xCode -> Predvoľby -> účty a pridajte svoje Apple ID:

2. Pripojíme iOS zariadenie k počítaču:

3. Vyberte požadované zariadenie v zozname a kliknite na tlačidlo Štart. Chvíľu čakáme.

4. Ak sa objavila správa o problémoch so zabezpečením, potom na zariadení so systémom iOS, na ktoré prejdeme nastavenie -> Hlavný -> Správa zariadenia a povoľte spúšťanie aplikácií od vývojára pomocou vášho Apple ID:

5. Prejdeme na plochu a nájdeme ikonu novej aplikácie:

6. Spustiť:

7. Odpojte zariadenie od počítača. Teraz je možné aplikáciu použiť.

Čo ak chcete viac?

Pomocou vedeckého pokec a Google môžete rozšíriť vyššie uvedenú postupnosť akcií a vytvoriť funkčnejšiu aplikáciu. Môžete ho však použiť iba na svojich vlastných zariadeniach.

Apple má totiž na aplikácie veľmi vysoké požiadavky. Pokyny pre recenziu App Store obsahujú 29 bodov a viac ako sto podbodov. Aby im aplikácia vyhovovala a bola prijatá na zverejnenie v obchode, vývojár vyžaduje veľké množstvo technických znalostí.

Ak chcete vytvárať vysokokvalitné aplikácie pre iOS na bežné použitie, musíte sa to naučiť!

Tento článok otvára cyklus pre začiatočníkov. Trúfam si dúfať, že úroveň prezentácie materiálu umožní porozumieť aj ľuďom, ktorí sa v programovaní nevyznajú. Začnime náš príbeh malou lyrickou odbočkou. Aplikácie pre iPhone a iPad sú napísané v Objective-C. Tento jazyk bol v NeXT široko používaný a do Apple sa dostal po návrate Steva Jobsa. Objective-C je v súčasnosti hlavným jazykom pre vývoj aplikácií pre OS X a iOS.

Ak chcete začať s programovaním pre iOS, potrebujete Mac s procesorom Intel a vývojové prostredie Xcode. Ak nemáte Mac, nevadí. Možno vám bude vyhovovať jeden z opísaných spôsobov riešenia tohto problému. Zameriame sa na XCode 4 a iOS5.

Inštalácia Xcode

Najprv sa musíme zaregistrovať na stránke Apple pre vývojárov. Kliknite na odkaz a kliknite na registráciu. Kliknite na tlačidlo Začať a prejdite procesom registrácie. Všetko je tam celkom jednoduché, takže sa týmto bodom nebudem zaoberať. Po registrácii vám bude zaslaný e-mail s vaším Apple ID. Vráťte sa na stránku Apple Developers a použite ju na vstup do zabezpečenej oblasti. V sekcii DevCenters kliknite na odkaz iOS. Ako vidíte, Apple vám ponúka množstvo dokumentácie, zdrojov a návodov. Táto stránka obsahuje všetko, čo potrebujete, aby ste mohli začať s vývojom pre iOS. Úplne dole je tlačidlo Stiahnuť Xcode, na ktoré musíte kliknúť. Po stiahnutí nainštalujte Xcode na váš Mac.

Oboznámenie sa s rozhraním XCode 4

Ak chcete spustiť Xcode, prejdite na svoj hlavný disk a kliknite na vývojár> Aplikácie.

Po spustení Xcode vyberte Súbor > Nový projekt, potom Aplikácia s jedným zobrazením a ako názov produktu zadajte HelloWorld. V dôsledku toho by ste mali zobraziť niečo také

Všetky vaše kódy a zdroje sú usporiadané do špeciálnych priečinkov, ktoré sa nachádzajú na ľavej strane okna Xcode. Panel sa nazýva „Project Navigator“ a obsahuje všetky prvky vášho programu. Zdrojové súbory majú prípony „.h“ a „.m“. Ak na takýto súbor kliknete, na pravej strane Xcode sa otvorí editor s kódom.

Nepozastavujme sa zatiaľ nad kódom. K tejto problematike sa vrátime o niečo neskôr. Ak sa pozriete na hornú časť obrazovky, uvidíte niekoľko tlačidiel spojených s vaším projektom. Pozrime sa na tento panel podrobnejšie.

Tlačidlo "Spustiť" spustí váš projekt. Svoju aplikáciu môžete otestovať a uistiť sa, že sa skutočne správa tak, ako očakávate. Tlačidlo "Úlohy" zastaví spustenú aplikáciu.

Tlačidlo Schemr vám umožňuje vybrať cieľovú platformu, na ktorej bude vaša aplikácia bežať. Tu si môžete vybrať simulátor a odladiť program na svojom počítači alebo ho spustiť na svojom iPhone (zariadenie iOS), ak ste zaplatili poplatok 99 USD. Jedinou výhodou tejto platby je možnosť spustiť program na skutočnom zariadení a zverejniť ho v App Store. Neodporúčal by som vám míňať peniaze, kým nebudete mať pripravený normálny program.

Body zlomu sú veľmi užitočné. Pomocou tohto tlačidla môžete označiť riadky v zdrojovom kóde a keď sa v priebehu vykonávania programu dostane na označený riadok, program sa pozastaví a vy si môžete pozrieť stav premenných. Je to veľmi výkonný a široko používaný nástroj.

Kliknite na tlačidlo "Spustiť". Uvidíte okno emulátora s vaším projektom. Ako vidíte, kým nežiari funkčnosťou - je to len blanka.

Programovanie iPhone - Prvý krok

Dosť bolo bitky, poďme niečo kódovať. Navigátor projektu obsahuje zdrojové súbory. Kliknite na ľubovoľný súbor .m. Upozorňujeme, že niektoré riadky sú zafarbené na zeleno – ide o komentáre, ktoré fungujú ako cheaty. Aby sa programátor nezmýlil v kóde, môže si nechať rady a vysvetlenia pre seba. Na označenie komentárov v jazyku C sa používa kombinácia lomiek //. Čokoľvek v riadku napravo od týchto znakov sa považuje za komentár. Ak chcete napísať viacriadkový komentár, môžete použiť kombinácie / * a * / na označenie začiatku a konca viacriadkového komentára.

Než začnem písať kód aplikácie, musím vám pomocou prstov vysvetliť niekoľko pojmov: OOP (Object Oriented Programming), MVC (Modal View Controller), súbory „.h“ a „.m“. Takže ... objektovo orientované programovanie zahŕňa rozdelenie celého kódu na takzvané objekty, v ktorých sú uložené dáta a príkazy, ktoré ich spracúvajú. Objekt v Objective-C pozostáva z dvoch súborov h a m. Súbor .h sa nazýva hlavička, obsahuje „náčrt“ objektu – sú uvedené všetky údaje a názvy príkazových blokov (metód) obsiahnutých v objekte. Súbor .m sa nazýva implementačný súbor a podrobne popisuje všetko, čo je uvedené v hlavičke, tu sa naprogramuje všetka logika programu.

MVC (Model View Controller) je niečo, čo oddeľuje kód a rozhranie, ktoré používateľ vidí. Model sú používateľské údaje a údaje, ktoré ukazujete používateľovi. Zobrazenie je používateľské rozhranie a kód, ktorý zabezpečuje komunikáciu medzi zobrazením a modelom. Koncept MVC sa vám teraz môže zdať príliš šikovný, no časom uvidíte, že tento prístup skutočne zjednodušuje život programátora. Z tohto konceptu vyplýva nasledovné poradie práce: programátor samostatne vytvorí šablónu návrhu aplikácie, kam umiestni všetky tlačidlá, textové polia a iné dôležité nezmysly a samostatne napíše programy. Potom Xcode ukazuje, ktorá metóda (blok kódu) by sa mala volať ako odpoveď na tú alebo onú akciu používateľa a aké meno má tento alebo ten ovládací prvok v texte programu.

Vyvíjame dizajn programu pre iPhone

Začnime budovať našu aplikáciu s dizajnom. Kliknite na MainStoryboard_iPhone.storyboard v Project Navigator. V dôsledku toho Xcode spustí editor rozhrania.

V pravom dolnom rohu vidíte zoznam objektov (Knižnica), ktoré je možné použiť vo vašom rozhraní, v strednej časti sa zobrazí okno Zobraziť, ktoré predstavuje rozloženie rozhrania vášho programu. Pravé horné okno má niekoľko režimov, ktoré sa prepínajú pomocou ikon umiestnených nad oknom. Obrázok ukazuje režim Atribute Inspector. Tu môžete zmeniť rôzne atribúty objektov, ktoré tvoria vaše rozhranie.

Presuňte objekt Label z okna Knižnica do nášho rozloženia okna. Pomocou myši zmeňte veľkosť objektu, ako je znázornené na obrazovke nižšie. Inšpektor zobrazí vlastnosti objektu Label. Vycentrujeme text kliknutím na príslušnú ikonu v riadku Rozloženie.

Vymažeme text v poli Text (bolo tam napísané slovo Label) a zadáme tam „Some String“.

Pridajte tlačidlo do rozloženia rovnakým spôsobom (objekt tlačidla)

Vyvinuli sme teda dizajn našej aplikácie. Žiadny veľký problém, môžete kliknúť na tlačidlo Spustiť a vidieť prácu svojho programu v okne emulátora.

Začnime kódovať

Takže máme dve vizuálne komponenty umiestnené na rozložení. Chceme, aby sa text v riadku zmenil po kliknutí na tlačidlo. Na realizáciu tejto myšlienky potrebujeme pristupovať k reťazcu (objekt Label) z programového kódu a po stlačení tlačidla zavolať metódu (blok kódu).

Kliknite na súbor "ViewController.h" v ľavom paneli. Ideme opísať IBOutlet. IBOutlet spája náš kód s vizuálnym objektom, ako je štítok alebo tlačidlo. Preneste kód v súbore ViewController.h do formulára

#import @ rozhranie ViewController: UIViewController (IBOutlet UILabel * štítok; // pomenujte náš reťazec Label } // toto je hlavička metódy, ktorá bude // zavolal ako odpoveď na kliknutie na tlačidlo- (IBAakcia) tlačidloKliknutie: (id) odosielateľ; @ koniec

To je všetko, čo musíme zapísať do hlavičkového súboru. IBAction vám umožňuje pripojiť metódu k prvku používateľského rozhrania, napríklad v reakcii na kliknutie na tlačidlo sa zavolá programový kód, ktorý sme napísali.

Povedali sme si teda, že zavoláme riadok s textovým štítkom a že sa zavolá metóda buttonClick ako odpoveď na akciu používateľa. Poďme napísať kód pre túto metódu. Prepnite sa na súbor ViewController.m v strome projektu. Po riadku @realizácia... pridajte kód

- (IBAakcia) tlačidloKliknutie: (id) odosielateľ (menovka. Text = @ ”Dobrý deň od Mobilab. Ru”;)

Všimnite si, že ak ste skopírovali tento kód, pravdepodobne sa vám pri spustení programu zobrazí chyba, s najväčšou pravdepodobnosťou je problém v úvodzovkách. Vymažte ich a zadajte ich z klávesnice.

Pozrime sa, čo tu vidíme. Máme na mysli objekt označenia - riadok textu na obrazovke. Keďže ide o objekt, obsahuje v sebe rôzne údaje (ktoré sa v OOP nazývajú aj vlastnosti objektu) a metódy, ku ktorým možno pristupovať vložením bodky za názov objektu. Vlastnosť text je zodpovedná za text obsiahnutý v reťazci.

Teraz, keď sme dokončili kódovanie, zostáva už len priradiť štítok a tlačidlo ClickClick k prvkom vo vnútri rozloženia návrhu. Kliknutím na riadok MainStoryboard_iPhone.storyboard v Project Navigator prepnete na návrhára rozhrania. Potom kliknite na ikonu „Zobraziť ovládač“. Prepnite sa do režimu pripojení v inšpektorovi (posledná ikona). Pozrite, riadok štítku sa zobrazuje v inšpektorovi oblasti Outlets. Toto je názov, ktorý sme zadali v súbore ViewController.h. Kliknite na krúžok na pravej strane čiary štítku a presuňte ho na riadok Nejaký text v rozložení návrhu.

Urobte to isté s tlačidlom. Kliknite na tlačidlo s kruhom v skupine „Prijaté akcie“ a potom na tlačidloKliknite a presuňte ho na tlačidlo v rozložení. V dôsledku toho sa otvorí kontextové menu, pomocou ktorého môžete vybrať moment volania metódy. Kód môžete napríklad zavolať, keď používateľ stlačí tlačidlo alebo keď ho uvoľní. Existuje veľa možností. Zvoľte "Touch up Inside".

To je všetko! Uložte projekt a kliknite na tlačidlo "Spustiť" na hornom paneli. Ak ste urobili všetko správne, mal by sa spustiť emulátor s vaším programom. Kliknite na tlačidlo. Text na riadku by sa mal zmeniť. To je všetko. Prvá lekcia hotová

Už píšete aplikácie pre iOS? Potom by ste si mali byť vedomí rôznych možností vývoja. A ak sa vo vašej hlave objavila myšlienka vývoja pre iOS, mali by nasledovať nasledujúce otázky:

  • aký jazyk by ste sa mali naučiť?
  • kde získať materiály na štúdium?
  • potrebujem Mac?
  • potrebujem iOS zariadenie?
  • ktorý editor je vhodný na písanie kódu?

Článok poskytne odpovede na tieto otázky a pomôže vám dosiahnuť váš cieľ.

Operačný systém iOS bol vydaný spoločnosťou Apple v roku 2007. Neobmedzuje sa len na iPhony a iPady, ale budem hovoriť len o vývoji aplikácií pre tieto zariadenia. Článok je rozdelený do niekoľkých častí:

  1. Vývoj natívnych aplikácií.
  2. Programovacie jazyky na vytváranie aplikácií pre iOS.
  3. Vývojové prostredie.
  4. Vývoj iOS aplikácií a hier s rozšírenou realitou pomocou frameworku ARKit.
  5. Vývoj hier pomocou rámca SpriteKit.

Okrem natívneho vývoja existuje aj cross-platformový vývoj, kedy je aplikácia napísaná okamžite pre iOS a Android v inom ako natívnom jazyku. Povieme si o tom inokedy, ale už teraz môžete uspokojiť svoju zvedavosť a prečítať si napísané pre živé písanie.

Vývoj natívnych aplikácií

Procesom vývoja natívnej aplikácie je písanie programu v jednom z hlavných jazykov pre platformu iOS: Objective-C alebo Swift. Túto cestu vytvorila spoločnosť Apple a predpokladá dodržiavanie všetkých jej predstáv. Apple poskytuje vývojárom najnovšiu súpravu na vývoj softvéru (SDK), dokumentáciu a vývojové prostredie Xcode.

Výhody prirodzeného vývoja:

  • aplikácia je optimalizovaná pre platformu iOS, čo znamená, že bude fungovať rýchlo a správne;
  • aplikácia reaguje na kliknutia okamžite, nedochádza k oneskoreniam v animácii a pri posúvaní obsahu;
  • prehľadný a jednoduchý prístup k hardvéru zariadení - kamera, mikrofón, akcelerometer, geolokácia, adresár, prehrávač atď. Funkčnosť aplikácie môže byť založená na týchto a ďalších schopnostiach zariadenia;
  • natívne rozhranie platformy. Natívne aplikácie zvyčajne fungujú s prvkami rozhrania „platformy“: ponuky, navigácia, formuláre a všetky ostatné prvky dizajnu sú prevzaté z operačného systému, a preto sú používateľovi známe a zrozumiteľné;
  • Pri každej aktualizácii iOS zostáva syntax jazyka Objective-C takmer nezmenená, takže podpora aplikácií je takmer bezbolestná – bude potrebné zmeniť alebo prepísať len malé množstvo kódu.

nedostatky:

  • Rýchla podpora aplikácií. Pravidelné aktualizácie verzií platformy iOS nás nútia aktualizovať kód, no s príchodom piatej verzie Swift si Apple sľubuje uľahčenie tohto procesu;
  • väčšina súčasných projektov je napísaná v Objective-C. Každým rokom je čoraz ťažšie nájsť programátora, ktorý by v ňom chcel písať, a mnohé spoločnosti odmietajú prepisovať projekty v Swifte, pretože je to obrovský a neuveriteľne časovo náročný proces.

Pre klientov vývojárskych štúdií je aktuálna aj otázka, za aký vývoj zaplatiť – natívny alebo multiplatformový. Cross-platformový vývoj sa dá poradiť, keď je rozpočet obmedzený, potrebujete zistiť dopyt po mobilnej aplikácii alebo ak je na strane klienta webový programátor. V iných prípadoch je lepšie urobiť voľbu v prospech prirodzeného vývoja. Živé písanie môže pomôcť s oboma. , ak máme v úmysle začať pracovať na našej mobilnej aplikácii pre iOS, sme pripravení o všetkom diskutovať.

V akom jazyku sú napísané aplikácie pre iOS?

Vývojári spoločnosti Apple poskytli dve možnosti:

  • Cieľ-C. Veterán s dlhou históriou, postupne ustupujúci do pozadia;
  • Swift. Veľmi mladý a rýchlo si získava na popularite medzi vývojármi.

Oba jazyky patria do objektovo orientovaného programovania (OOP) a úspešne napĺňajú jeho hlavné paradigmy: dedičnosť, polymorfizmus, zapuzdrenie a abstrakcia. Jednoducho povedané, OOP je štýl kódovania, ktorý umožňuje vývojárom zoskupovať podobné úlohy do tried. Kód sa riadi princípom DRY (neopakujte sa) a ľahko sa udržiava.

Cieľ-C

Programovací jazyk, ktorý vznikol začiatkom 80. rokov minulého storočia krížením C (C) s v tom čase populárnym Smalltalkom (komunikácia s objektmi prostredníctvom správ). Objective-C bol spočiatku vnímaný ako jednoduchý doplnok k jazyku C, ktorý upravoval niektoré z jeho syntaktických konštrukcií, ale po licencovaní najprv spoločnosťou Next Step a potom ako nástupca spoločnosti Apple sa Objective-C stal jedným z najobľúbenejšie jazyky pre vývoj aplikácií pre iOS. Preto mnohé dátové typy v Objective-C zdedili predponu NS (Next Step). Je to hlavný jazyk používaný spoločnosťou Apple, ktorého znalosť vám umožňuje písať pre akúkoľvek platformu Apple vrátane macOS.

výhody:

  • vysoký stupeň udržiavateľnosti kódu: pri každej aktualizácii sú zmeny v Objective-C minimálne;
  • veľké množstvo dokumentácie, technickej literatúry a obrovská komunita. Spoločnosť Apple poskytuje a pravidelne aktualizuje oficiálne knihy a zdroje. Aké znalosti potrebuje vývojár iOS, môžete sa z nich poučiť;
  • rýchly prechod z jedného z jazykov rodiny C. Objective-C je rozšírenie jazyka C. To znamená, že každý kód v C je správnym kódom aj pre Objective-C, len si treba zvyknúť na syntax ;
  • Interoperabilita Objective-C v rámci projektov Swift vám umožňuje používať dva jazyky súčasne.

mínusy:

  • ak ste sa nikdy nestretli s programovaním a rozhodli ste sa hneď začať s Objective-C, potom môže byť ťažké pochopiť princípy OOP a kopu syntaxe. Ťažkosti zmiznú v priebehu tréningu;
  • nízka čitateľnosť kódu: na začiatku štúdia sa syntax bude zdať komplikovaná;
  • dynamický systém dátových typov, čo je tiež plus, naznačuje možnosť výskytu alebo vynechania chýb aj v čase kompilácie. Najmä preklepy môžu spomaliť proces;
  • nízky výkon v porovnaní s jazykom Swift;
  • k interakcii so súbormi Swift dochádza pomocou „mostu“ (podmienený adaptér, ktorý prekladá kód Swift do formátu Objective-C), čo značne spomaľuje proces zostavovania.

Príklady aplikácií vyvinutých naším tímom v Objective-C:

  • - internetový obchod s parfumériou a kozmetikou;
  • - žiadosť pre mladých rodičov a tehotné ženy, ktoré potrebujú konzultáciu s lekárom kedykoľvek počas dňa;
  • - internetový obchod s oblečením.

Swift



Mladý, výkonný a open source univerzálny programovací jazyk. Spoločnosť Apple oficiálne predstavila 2. júna 2014. Spája všetko najlepšie z C a Objective-C, ale je zbavený obmedzení posledne menovaných uložených v záujme kompatibility s C. Swift používa silné typovanie objektov, čo znižuje počet chýb aj vo fáze písania kódu . Swift tiež pridáva moderné funkcie, ako sú generiká, uzávery, viacnásobné návratové hodnoty a ďalšie, vďaka čomu je vytváranie aplikácie flexibilnejšie a zábavnejšie. Nový programovací jazyk je založený na existujúcom kompilátore, debuggeri a frameworkoch.

Swift sa bude vývojárom Objective-C zdať povedomý. Spája v sebe čitateľnosť pomenovaných parametrov so silou dynamického objektového modelu Objective-C.

výhody:

  • rýchlosť. Teraz je jazyk takmer na rovnakej úrovni ako C ++ a Cupertino sľubuje, že toto nie je limit;
  • zjednodušená navigácia v súboroch projektu. Na rozdiel od Objective-C, ktorý vytvára dva súbory na deklarovanie a implementáciu, Swift si vystačí s jedným. Okrem toho sa názvy metód a komentáre medzi súbormi automaticky synchronizujú;
  • ľahká čitateľnosť, keďže tento jazyk nie je zabudovaný v C. Napríklad nemusíte dávať bodkočiarku na koniec riadku a písať zátvorky na ohraničenie výrazu v if / else. Žiadne hranaté zátvorky, Swift pripomína bežnú angličtinu, je oveľa čistejší a má zjednodušenú syntax;
  • stručnosť. Množstvo kódu s Swift je čoraz menšie. Napríklad môžete použiť operátor + na pridanie dvoch riadkov;
  • b O lepšie schopnosti v porovnaní s Objective-C. Napríklad generiká (generiká). Univerzálny kód vám umožňuje písať flexibilné, univerzálne funkcie a typy, ktoré môžu fungovať s akýmkoľvek iným typom. Môžete napísať kód, ktorý sa neopakuje a vyjadruje váš obsah abstraktným spôsobom;
  • úplná interakcia s kódom napísaným v Objective-C vám umožní používať dva jazyky súčasne;
  • zvýšená bezpečnosť. Swift je na rozdiel od Objective-C silne typovaný, to znamená, že pri deklarovaní pomenovaných parametrov musíte explicitne špecifikovať typ údajov, inak kompilátor vygeneruje chybu pri vykonávaní kódu. To uľahčí proces odstraňovania chýb, pretože problém môžete vyriešiť ihneď;
  • podpora dynamických knižníc. Jednou z významných zmien v Swift je prechod od statických knižníc k dynamickým, ktoré sú v podstate spustiteľné časti kódu. Pripájajú sa k aplikácii a „spájajú“ sa s novými verziami jazyka, čo umožňuje stabilný chod programu.

mínusy:

  • Swift sa neustále vyvíja a mení. Napríklad volanie metódy sa môže po aktualizácii zmeniť. Našťastie Apple postavil tento proces tak, že kód napísaný v starších verziách nebude prelomený. Zobrazí sa vám iba upozornenie, že váš kód je napísaný v starej verzii a editor vám navrhne prechod na novšiu a pomôže vám dokončiť tento proces riadok po riadku;
  • k interakcii so súbormi Objective-C dochádza pomocou „mostu“, čo značne spomaľuje proces zostavovania.

B O Väčšina projektov našej spoločnosti je napísaná v jazyku Swift. Tu je niekoľko príkladov:

  • - žiadosť o predajňu parfumov a kozmetiky;
  • - služba nákupu predplatného filmov;
  • - aplikácia pre obchod s oblečením;
  • - aplikácia s článkami o informačnej bezpečnosti.

C ++ (C plus)



Kompilovaný, staticky typovaný univerzálny programovací jazyk. Podporuje programovacie paradigmy ako procedurálne programovanie, objektovo orientované programovanie, generické programovanie.

C ++ je podporovaný iOS, ale je tu jedno „ale“: nedá sa naň napísať celá aplikácia. C++ je vhodný na riešenie logických problémov alebo celých aplikačných modulov, ako aj na písanie zložitých algoritmov, ale používateľské rozhranie musí byť napísané v Objective-C alebo Swift.

Jednou z možností takejto interakcie je použitie dialektu Objective-C++, čo je akási kombinácia Objective-C a C++. Prečo ich miešať? Napríklad najlepšia knižnica pre aktuálnu úlohu bola napísaná v C ++, niekedy sa riešenie problému dalo urobiť stručnejšie v C ++ alebo bolo potrebné volať funkcie Objective-C z projektu C ++. Bežným príkladom je portovanie hry alebo enginu na platformy Apple.

Nakoniec, C ++ možno použiť na zlepšenie výkonu. Flexibilita zasielania správ Objective-C si vyžaduje určitú réžiu v porovnaní s implementáciou väčšiny virtuálnych funkcií C++. Objekty Objective-C nemajú ekvivalentné rýchle virtuálne funkcie C++. To môže byť dôležitý faktor pre optimalizáciu.

Ktorý jazyk by ste si mali vybrať?

Objective-C postupne ustupuje mladému Swiftovi, ktorý Apple všemožne popularizuje. Minulý rok sa Tiobe Objective-C v rebríčku umiestnil nižšie ako Swift. Na základe týchto štatistík a vyššie uvedených výhod jazyka Swift by som ho odporučil.

Ale nepoznanie Objective-C nebude fungovať, pretože sa s ním stretnete pri vývoji aplikácií pre iOS a budete ho musieť prečítať a pochopiť.

Čo sa týka jazyka C++, jeho znalosť je užitočná zručnosť, ale len ako možnosť, takže je to na vás.

Kde získam študijné materiály?

Rýchle jazykové materiály:

Stojí za zmienku, že okrem mnou odporúčaných video kurzov je na Youtube a špeciálnych školiacich portáloch ako Udemy a SwiftBook k dispozícii veľké množstvo platených aj bezplatných školiacich materiálov o Swift a Objective-C.

Jazykové materiály C++

  • Programovací jazyk C++. Učebnica, ktorá sa používa na väčšine univerzít;
  • bezplatný video kurz na C ++ z kanála #SimpleCode.

Zdroje relevantných informácií

Aby ste držali krok s trendmi, nebude zbytočné pozrieť si nasledujúci zoznam veľkých spoločností a veľkých osobností, ako aj prihlásiť sa na ich twitter, blogy atď.:

  • raywenderlich.com. Nevyčerpateľný zdroj bezplatných sprievodcov. Vhodné pre začiatočníkov aj profesionálov, ktorí potrebujú rýchlo pochopiť, ako nový rámec funguje;
  • NSHipster. Blog dizajnéra a vývojára cloudovej služby Heroku, ktorú už neudržiava sám. Rámce, objekty frameworku, Objective-C, Swift, Xcode, projekty s otvoreným zdrojovým kódom sú dôležité – o všetkom sú tu užitočné články;
  • Robotka Nataša. Skvelý blog vývojára iOS Natasha Murashev. Povinnosť pre každého, kto rozumie Swiftu a mimo neho;
  • Blog vývojára iOS z Plausible Labs Mike Ash. To, čo sa tu hovorí, si vyžaduje poznanie trochu hlbšie ako základné;
  • Malé sústa kakaa. Blog so všetkými druhmi užitočných sprievodcov. Nováčikovia a ostrieľaní vývojári ho budú milovať pre stručnosť príspevkov a šírku pokrytých tém;
  • iOS Dev Weekly. Kúsok noviniek zo sveta vývoja mobilných iOS. Prichádza vo forme mailing listu v piatok. Kurátorom je Dave Verver;
  • Github slávnej spoločnosti Rambler & Co. Obsahuje veľa zaujímavých vecí z Open source. Aj ich vnútorný priestor a blog;
  • Blog o vývoji pre iOS na "Habrahabr";
  • Webová stránka iosgoodreads.ru a kanál Telegram od spoločnosti Rambler. Najzaujímavejšie články, videá a novinky súvisiace s vývojom iOS.

Vývojové prostredie pre iOS aplikácie

Najpopulárnejšie vývojové prostredia pre iOS aplikácie alebo IDE (Integrated Development Environmetn) sú Xcode od Apple a AppCode od JetBrains.

Xcode



Rýchly editor s kompletnou sadou vývojových nástrojov pre iOS, macOS atď. Dá sa bezplatne stiahnuť z App Store.

výhody:

  • IB (Interface Builder). IB je súprava nástrojov na vývoj GUI integrovaná do Xcode. Pracovný postup pripomína tvorbu návrhu „na plátne“. Celé rozloženie je možné urobiť v IB a potom prepojiť vizuálne prvky s implementačným súborom, ktorý popisuje všetku logiku interakcie s nimi.

Výhodou Interface Buildera je vizuálne rozloženie, prispôsobenie štýlov, pozadí, fontov a pod., nevýhodou je napríklad práca s animáciou, tá sa dá robiť len s kódom.

  • simulátor. Poskytuje kompletnú sadu zariadení iOS, na ktorých môžete spustiť a otestovať svoju aplikáciu;
  • debugger. Vie, ako analyzovať vizuálnu časť prvok po prvku, aby ste našli chyby v rozložení, tiež pomôže zachytiť chybu a vyriešiť problém s únikom pamäte. Okrem toho môže debugger vykonávať všetky tieto operácie a testy používateľského rozhrania bezdrôtovo;
  • vstavaný systém správy verzií na GitHub. Okrem štandardných funkcií vetvenia vám režim rozdelenej obrazovky umožňuje zobraziť zmeny v rôznych vetvách;
  • funkcia simulácie geolokácie. Nepostrádateľný pri práci s mapou. Má „pevne nastavený“ súbor miest, ktorých zoznam je možné doplniť;
  • obsahuje Swift Playground, takzvaný „sandbox“, ktorý vám umožňuje rýchlo otestovať nový algoritmus alebo grafickú rutinu (napríklad niekoľko riadkov kódu) bez vytvárania celej aplikácie;
  • môže zostaviť aplikáciu priamo na iOS zariadení;
  • podpora pre „tmavú tému“ macOS.

mínusy:

  • nestabilná. Počas prevádzky sa môže samovoľne zavrieť s chybou. Projekt nebude nijako ovplyvnený a nestratia sa ani najnovšie zmeny kódu. Stačí reštartovať Xcode a pokračovať v práci tam, kde ste prestali;
  • často nefunguje automatické dopĺňanie (funkcia dopĺňania textu pre zadanú časť).

AppCode



Rovnako ako Xcode obsahuje celú sadu potrebných nástrojov pre efektívnu a pohodlnú prácu s Objective-C, Swift, C ++ a je 100% kompatibilný s Xcode.

výhody:

  • stabilný. Neexistujú žiadne náhle uzávery ako v Xcode;
  • automatické dokončovanie neklesá a funguje rýchlejšie ako v Xcode;
  • integrácia s nástrojmi na sledovanie chýb / problémov, ako sú JIRA, YouTrack, Lighthouse, Pivotal Tracker, GitHub, Redmine atď.
  • podrobnejší popis chýb a upozornení;
  • dokáže zostaviť aplikáciu priamo na iOS zariadení, rovnako ako Xcode.

mínusy:

  • Na zostavenie aplikácie je stále potrebný Xcode;
  • žiadny Intreface Builder. Otvorenie súboru IB z AppCode sa deje v Xcode;
  • žiadny vizuálny debugger a žiadne bezdrôtové ladenie;
  • žiadne ihrisko Swift;
  • aplikácia sa spustí na simulátore Xcode;
  • AppCode je platený produkt, na bezplatnú skúšobnú verziu máte 30 dní. V čase písania tohto článku sú ceny nasledovné: za prvý rok používania budete musieť zaplatiť 199 USD, druhý - 154 USD, ďalší - 119 USD (údaje prevzaté z oficiálnej webovej stránky);
  • aktualizácia jazyka prichádza s určitým oneskorením. V Xcode získate najnovšiu verziu v beta testovaní.

Inými slovami, aj keď si vyberiete AppCode ako svoje hlavné IDE, stále potrebujete Xcode na úplný vývoj mobilných aplikácií pre iOS.

Potrebujete Mac?

Áno. Na vývoj potrebujete Xcode IDE (Integrated Development Environment). Xcode môžete nainštalovať iba na Mac. Vyberte si z týchto možností: MacBookPro / Air, iMac, MacPro alebo Mac mini (možnosť s najnižším rozpočtom). Nemusíte si kupovať nový, ale aby váš Mac podporoval najnovšiu verziu macOS aspoň dva roky, odporúčam vám vziať si taký, ktorý nie je starší ako päť rokov.

Jednou z možností na preskúmanie je umiestniť virtuálny stroj do počítača pomocou napríklad VirtualBoxu. V článku Inštalácia MacOS do VirtualBox je podrobne popísaný postup. Pôjde to pomaly, ale na "rýchly štart" sa to celkom hodí.

Potrebujem zariadenie so systémom iOS?

Nie je to nutné. Apple Xcode IDE obsahuje simulátor zariadenia. Môžete si napríklad vybrať iPhone XR a skontrolovať výsledok svojej práce naživo. Žiaľ, simulátor reálne zariadenie úplne nenahradí (nie je v ňom napríklad kamera či akcelerometer).

Vývoj aplikácií a hier pre rozšírenú realitu ARKit



ARKit je rámec vyvinutý spoločnosťou Apple na prácu s AR. Čo je AR a ako funguje? AR je technológia, ktorá dokáže skenovať okolitý priestor a čo najvernejšie integrovať virtuálne objekty do reálneho života. Tieto veľmi virtuálne prvky môžu byť zobrazené pomocou špeciálnych zariadení, ktoré podporujú túto technológiu:

  • smartfóny a tablety. V našom prípade sú to iPhone a iPad;
  • AR prilby a okuliare. Jedným z najnovších vylepšení sú okuliare Magic Leap;
  • počítačov.

Priestor sa skenuje pomocou kamery zariadenia. Čo dokáže aplikácia AR? Napríklad internetový obchod s teniskami, kde si okrem nákupu môžete oskenovať nohu a „vyskúšať“ model, ktorý sa vám páči, takže vaša noha bude vo vybranej teniske na obrazovke vášho iPhonu alebo iPadu. Ďalším príkladom využitia AR je aplikácia od IKEA

Návody SpriteKit:

Dôležité! Vývoj hier pre IOS sa neobmedzuje len na rámec SpriteKit. Existuje obrovské množstvo motorov na vytváranie 2D a 3D hier. Najpopulárnejšie z nich sú Unity a Unreal. A na vytvorenie tvrdej arkády Trigono použili vývojári Live Typing engine OpenFL s použitím vlastných úprav.

Záver

Najrelevantnejším jazykom pre vývoj mobilných zariadení pre iOS v roku 2019 je Swift. Dôvodom nie je len jeho rýchlosť a lakonická syntax, ale aj to, že sa stáva de facto vývojovým štandardom a dostáva čoraz väčšiu podporu od vývojárov Apple.

To nepopiera potrebu zoznámiť sa s Objective-C: v tomto jazyku boli vytvorené užitočné knižnice a podpora starých, ale veľkých a zaujímavých projektov je dobre platená.

Ako môžete vidieť, vývoj iOS je hlboký a pochopenie jeho plnej hĺbky zvýši vašu hodnotu na vývojárskom trhu. Dúfam, že tento článok odpovedal na všetky možné otázky a budete ho zdieľať so svojimi priateľmi. Ak nie, zanechajte komentáre - odpoviem na ne.

A ak ste si istí, že ste pripravení pracovať na aplikácii pre iOS, potom vás budeme kontaktovať na bezplatnú konzultáciu.