Aktuálně: Postihly zákazy tvou profesi? Poptávka po ajťácích prudce roste, využij podzimní akce 30% výuky zdarma!
Pouze tento týden sleva až 80 % na e-learning týkající se JavaScript
JavaScript týden

1. diel - Vyvíjame aplikácie pre iOS v jazyku Swift

Vitajte u úvodného tutoriálu, ktorý vás prevedie základy programovania aplikácií pre mobilné zariadenia od firmy Apple. To znamená predovšetkým iPhone, ale aj iPad, pretože aplikácie môžete vyvíjať súčasne pre oba typy zariadení. V úvode si povieme niečo málo o dôvodoch výberu tejto platformy, povieme si, čo budeme potrebovať, a zoznámime sa s programom Xcode.

Prečo iOS?

Prečo zvoliť iOS? Pretože sa jedná o dôležitú mobilnú platformu a Apple každý štvrťrok predá hromadu nových zariadení. Pri vývoji nemusíte riešiť tucty rozmerov displejov, rôzne pomery strán či verzie systému užívateľov, čo by vás čakalo pri vývoji pre Android. Užívatelia iOS sú zvyknutí za kvalitné aplikácie platiť, a to pokojne aj niekoľko dolárov. Skôr by ste ale mali iOS zvoliť, ak je vám platforma blízka a chcete sa pustiť do programovania cool aplikácií pre vášho vreckového pomocníka.

Prečo Swift?

Ak náhodou rozmýšľate, prečo Swift a nie Objective-C (v ktorom sa iOS aplikácia písali v minulosti), tak práve pre vás je určený tento krátky odsek. Je to jednoduché. Swift je budúcnosť iOS vývoja, je to moderná objektový jazyk, ktorý ponúka fajn vychytávky. Nebude na vás napr. Kričať za chýbajúce bodkočiarku a ak ho zo zvyku na koniec riadku napíšete, tak sa nič nedeje. Swift nie je na rozdiel od Objective-C starý 25 rokov a poskytuje programátorom automatickú správu pamäte, čím sa vyvarujete naozaj veľkému množstvu chýb, ktoré sa inak veľmi zle hľadajú. Navyše obsahuje null-safety a ďalšie moderné mechanizmy, vďaka ktorým budete chybovať ešte menej. Ak vám dôvody nestačí, vyhľadajte si ukážky Objective-C kódu, čo by vás malo zaručene presvedčiť, prečo chcete používať Swift :)

Potrebné nástroje

  • Zariadenie so systémom MacOS
  • Xcode 10 alebo vyšší (nájdete v AppStore)
  • Znalosť Swiftu na OOP úrovni
  • Chuť sa niečo nové naučiť
Tento výukový obsah pomáhajú rozvíjať nasledujúce firmy, ktoré možno hľadajú práve teba!

Fyzické zariadenie s iOS nepotrebujete. Xcode ponúka simulátory pre všetky relevantné zariadenia. Skúšať aplikáciu na skutočnom zariadenie je ale každopádne lepšie, navyše ak máte slabší Mac, nevyužívanie simulátorov výrazne pomôže jeho výkonu. Niektoré veci navyše v simulátore neskúsite, alebo je to problematické. Keďže ste dočítali až sem a máte Mac, tak hádam, že ani o iOS zariadenia nie je núdza.

Povedali sme si prečo as čím vyvíjať. V úvodnej lekcii sa nižšie ešte stručne zoznámime s vývojovým prostredím a potom sa môžeme smelo pustiť do akcie. Teda do programovania.

Hello Xcode

Tak ideme na to. Zoznámte sa, Xcode. Najskôr si ukážme obrázok, kde som vyznačil dôležité časti programu rôznymi farbami. Mrknite na neho a pokračujte k popisku nižšie.

Xcode pre programovanie iOS aplikácií vo Swift
  • Hnedá - Tu budete vašu aplikáciu spúšťať, vypínať a tiež vyberať, na akom zariadení sa spustí (váš iPhone / simulátor). Pokiaľ máte obsiahlejší projekt, tak tu tiež vyberiete, čo spustiť.
  • Zelená - Tu nájdete súbory vášho projektu. Tie možno ľubovoľne organizovať (s výnimkou Info.plist, ktoré musia zostať v koreňovom adresári).
  • Modrá - Prepnutie editore a prispôsobenie UI. Druhé tlačidlo z prvej trojice prepne na Assistant editor. Ten sa hodí v prípade, že potrebujete mať v jednej časti editora otvorenej UI a v druhej kód. Využijeme ho predovšetkým pri prepojovaní UI komponentov s kódom. Všetko nás čaká v ďalších lekciách. Zvyšná trojica tlačidiel vám umožní ľahko skryť časti Xcode, aby ste získali viac priestoru, čo oceníte najmä na notebooku.
  • Žltá - oblasť tzv. "Kontrolórov". Pôjde o vaše dôležité pomocníkmi pri budovaní UI. Dôležité inšpektorov sú Identity, Attributes a Size. Dostaneme sa k nim neskôr, takže len stručne. V Identity budete primárne nastavovať vaše triedy UI prvkom. Attributes je asi najčastejšie, napr. V prípade komponenty Label (textového popisku) tu nastavíte jej výšku, text samotný, farbu a tak ďalej. Size potom rieši rozmery.
  • Červená - tlačidlo pre otvorenie knižnice komponentov. Tú môžete vidieť nižšie, slúži na "skladanie" používateľského rozhrania. Odporúčam používať vyhľadávanie. A jeden pre tip: Keď budete potrebovať obyčajnú View komponent, napíšte do políčka "uiview", pretože napísanie "view" vám najskôr zobrazí varianty komponenty ViewController.

Čo vás čaká v ďalších dieloch?

Kurz koncipuje tak, aby vás naučil všetky potrebné základy vývoja pre iOS. Pozrieme sa, ako sa tvorí UI, ako komponenty prepojiť s kódom, ako funguje navigácia na ďalšie stránky aplikácie. Detailne preberieme TableView, čo je jedna z najdôležitejších UI komponentov. Pozrieme sa tiež, ako si uľahčiť prácu využitím hotových balíčkov, ktoré pomôžu s farbami, spracovaním JSON, HTTP request ... Tešiť sa môžete aj na niekoľko spôsobov ukladanie dát.

Dajte vedieť, ako sa vám tutoriál páči

V písaní tutoriálov sa určite nepovažujem za bezchybného majstra, ak je niekde problém či trebárs časť nie je úplne jasne vysvetlená, budem veľmi rád, keď mi dáte vedieť trebárs do komentárov alebo cez správy, aby som mohol text zlepšiť. Vďaka!

V budúcej lekcii, Tvorba UI a zoznámenie so základnými komponentmi , sa budeme venovať tvorbe UI a popisu základných komponentov.


 

Všetky články v sekcii
Vyvíjame iOS aplikácia vo Swift
Článok pre vás napísal Filip Němeček
Avatar
Ako sa ti páči článok?
Ešte nikto nehodnotil, buď prvý!
Autor se věnuje vývoji iOS aplikací (občas macOS) či těch webových ve frameworku Django. Twitter: @nemecek_f | GitHub nemecek-filip - mrkněte na veřejné projekty
Aktivity (1)

 

 

Komentáre

Avatar
CoffeeMAN
Člen
Avatar
CoffeeMAN:19.6.2018 14:16

Super! Těším se na další lekce, nicméně měl bych prosby:

  • Zastavil bych se u řešení UI, které jsou řešeny přes konstanty, tzn. efektivní nastavení zobrazení ve všech iOS zařízení.
  • V kategorii OOP zmínit architekturu MVC, apod.
  • Chci se zeptat, zda se pracuješ s funkcionálním reaktivním programování (ReactiveCocoa, ReactivSwift apod.)? :)
Odpovedať
19.6.2018 14:16
Není čas, ztrácet čas.
Avatar
Filip Němeček
Překladatel
Avatar
Odpovedá na CoffeeMAN
Filip Němeček:21.6.2018 19:47

Ahoj, Autolayout už je publikovaný :-) Co se týče MVC, tak je to víceméně pro aplikace default, nebo máš na mysli něco konkrétního?

S RxSwift jsem se parkrát setkal, ale zatím jsem to nějak výrazně nepoužil.

 
Odpovedať
21.6.2018 19:47
Avatar
CoffeeMAN
Člen
Avatar
Odpovedá na Filip Němeček
CoffeeMAN:26.6.2018 20:25

Ahoj,

snažím si vytvořit "kopii" již existující aplikace "Pitný režim" a narazil jsem na úskalí, kdy si nejsem jistý, zda jdu dobrou cestou, vysvětlím :) :

  1. Mám vytvořeny 2 samostatné ViewController, spojeny s vazbou "Show" (UIViewController -> SecondUIViewCon­troller).
  2. Vytvořeny 2 třídy: Nastavení - výpočet nového cíle (dle zadaných hodnot) metoda getAktLitr - vrací výsledek.

View - pracuje s výsledkem jako Cíl, který je zapotřebí splnit. - viz img.
Odkaz

Dotaz: - Je tento postup efektivní, případně jak bych měl zaslat po uložení data z (SecondUIView­Controller) do druhé instance (bez definice instance jako globální let - abych mohl přistupovat k metodě getAktLit, která je v druhé třídě)?

  • Zkoušel jsem použít další seque s identifikátorem, buď to není dobrý nápad, nebo jsem se do toho zamotal.
  • V případě nejasností, více informací doplním až budu doma. :)
Odpovedať
26.6.2018 20:25
Není čas, ztrácet čas.
Avatar
Filip Němeček
Překladatel
Avatar
Odpovedá na CoffeeMAN
Filip Němeček:27.6.2018 11:43

Podle toho, co jsem pochopil to vypadá, že tam máš data, která bude pro fungování aplikace nutné uložit. Tudíž bych je ani přes segue neposílal, to se hodí pro data, se kterými potřebuješ pracovat v dalším VC, ale potom už tě nebudou zajímat.

Pro těchto pár primitivních typů, co ukládáš, se skvěle hodí vestavěné UserDefaults. Stručný tutoriál je třeba tady - https://swift3tutorials.com/…er-defaults/

Jednoduše si pod klíčema uložíš data a pak k nim přistupuješ.

Tutoriál s různými způsoby ukládání dat mám rozpracovaný, ale nedokážu říct, kdy se zde objeví :-)

 
Odpovedať
27.6.2018 11:43
Tento výukový obsah pomáhajú rozvíjať nasledujúce firmy, ktoré možno hľadajú práve teba!
Avatar
CoffeeMAN
Člen
Avatar
Odpovedá na Filip Němeček
CoffeeMAN:9.7.2018 8:25

Ahoj,

skvělý, tohle jsem potřeboval! :)

Odpovedať
9.7.2018 8:25
Není čas, ztrácet čas.
Avatar
Petr Kott
Člen
Avatar
Petr Kott:25. marca 21:59

A zde dobrý článek rozdílu mezi nativem a hybridem: https://peko-studio.cz/…ni-aplikaci/

 
Odpovedať
25. marca 21:59
Avatar
Alesh
Překladatel
Avatar
Alesh:17. októbra 23:03

Máš chybu v nadpisu..."Vý­víjíme", místo "Vyvíjíme":

Lekce 1 - Vývíjíme aplikace pro iOS v jazyce Swift

 
Odpovedať
17. októbra 23:03
Robíme čo je v našich silách, aby bola tunajšia diskusia čo najkvalitnejšia. Preto do nej tiež môžu prispievať len registrovaní členovia. Pre zapojenie sa do diskusie sa zaloguj. Ak ešte nemáš účet, zaregistruj sa, je to zadarmo.

Zobrazené 7 správy z 7.