Návrh Školení
Den 1:
- Koncepty OOP (Orientace na objekty)
- Co je software
- Organizované vs. neorganizované místnosti
- Proč Software
- Proč iOS
- Dějiny Apple
- Dějiny iOS
- Jedinečné prodejní vlastnosti Apple (USP)
- Co Apple slaví
- UX vs. UI
- IDE?
- Xcode
- Instalace Xcode
- Proč Objective-C a teď Swift?
- Hlavní faktory v Swiftu
- Základy Swiftu
- Proměnné
- Konstanty
- Ahoj svět ve Swiftu
- Vytvoření labelu skrze kód
- ImageView
- Animace ImageView
- NSTimer
- Retězec odpovědí - metody touchBegan, touchMoved atd.
- Hlavní delegát UIApplication
- Zivotní cyklus aplikace
- Zivotní cyklus zobrazení (view)
- Jakýkoli (Any)
- Proměnné s možností nulových hodnot (Optionals)
- Interní, veřejné, soukromé
- Inicializace (init)
- Deinicializace (deinit)
- Hračiště (Playground)
Aplikace k provedení: Hra Dots: https://apps.apple.com/app/the-dots-free/id850315430
Den 2:
- Animace UIView
- Rozšíření (Extension)
- Tabelový záznam (UITableView)
- Vlastní buňka v tabulce (Custom Cell in Table View)
- Delegační a zdrojové metody delegátů
- Hlavičky, patičky, výška atd. tabulky
- Krátký přehled kolekce (Collection View)
- Zasunutí (Deque) v tabulce
- Označení (Mark)
- Proměnné s možností nulových hodnot (Optionals)
- Vlastnost didSet
- Vlastnost willSet
- Garda (Guard)
- Koncepty 2x a 3x
- Navigace mezi zobrazeními
- Navigační kontroler (UINavigationController)
- Předvýběr kontroléru (Present a Controller)
- Knihovny Storyboardů
- Xibs
- Omezení (Constraints)
- Třídy velikosti (Size classes)
- Protokoly - povinné a volitelné
- Správa paměti
Aplikace k provedení: Aplikace Poznámky: Přidání, odstranění a aktualizace poznámky
Dny 3:
- Gestury
- Závěry (Closure)
- Skupiny a složky
- Rozpoznavače gest (Gesture Recognizers)
- Parsování XML
- NSJSONSerialization
- Převod dat do formátu JSON
- Správce souborů (File Manager)
- Tuple
- Výčet (Enum)
- For-in cyklus
- While cyklus
- Webové služby (Webservices)
- S relací URL (URL Session)
- URLRequest
- Proč je ekosystém Apple nejlepší
- Vlastnost Printable - description
- Hashable
- UIAlertView
- UIActivityIndicatorView
Aplikace k provedení: Získání dat z serveru prostřednictvím otevřeného API, vytvoření tabulky a naplnění dat, zobrazování detailů.
Dny 4:
- Líné načítání obrázků (Lazy loading of images)
- Líné vlastnosti (Lazy properties)
- Fronta operací NSOperationQueue
- Hlavní třída pro správu vláken (Grand Central Dispatch - GCD)
- Koncept adresáře a bezpečnost aplikace NSSearchDomain
- Kontroler zásuvného panelu (Tab Bar controller)
- Lokalizace
- Síťový klíč (Key Chain)
- Nastavení uživatelů (User Defaults)
- PLists
- Správce souborů (File Manager)
- Databáze SQLite
- Rozšíření (Extensions)
- Sociální média - vytvoření vlastního sdíleného obsahu
- Pole pro zadání textu (UITextField)
- Pole pro psaní textu (UITextView)
- Ovládací prvek segmentů (UISegementControl)
- Nastavitelný posuvník (UISlider)
- Přepínač (UISwitch)
- Pohybové čárky (UIProgressBar)
- Ovládací prvek stránkování (UIPageControl)
- Nastavitelný počet (UIStepper)
- Kontejner s posuvem (UIScrollView)
- Vybrat hodnotu z rozevírací nabídky (UIPicker)
- Světový nástroj pro akce (UIActionSheet)
- Webové zobrazení (UIWebView)
- Vyhledávací pole (SearchBar)
- Nové cíle: Apple Watch, rozšíření, klávesnice, dnešní widget atd.
- Oznámení NSNotifications v iOS
- Přidání třetích stran knihoven
- Data Core (Core Data)
- Nasazení a distribuce aplikace
- Spuštění aplikace na skutečných zařízeních
Aplikace k provedení: Získání dat z serveru prostřednictvím otevřeného API, vytvoření tabulky a naplnění dat, zobrazování detailů, vyhledávací pole a hledání něčeho.
Dny 5:
- Push oznámení - tichá a standardní
- Lokalizace
- Přehled Objective-C
- Vlastnosti (Properties)
- Kategorie (Categories)
- Syntaxe funkcí
- Soubory .h a .m
- Atributy vlastností readWrite a readOnly
- Atributy vlastností strong, weak a copy
- Atributy vlastností atomic a non-atomic
- Nahrání aplikace do App Store
Vytvoření aplikace podle vlastního nápadu
Požadavky
Musíte mít v minulosti alespoň jednu zkušenost s programovacím jazykem.
Reference (3)
The way of transferring knowledge and the knowledge of the trainer.
Jakub Rekas - Bitcomp Sp. z o.o.
Kurz - Machine Learning on iOS
He's an experienced trainer with a real life experience in the topic he was teaching. That led the course to cover the most important topics which interests any developer working in the field, and small details would be easily overseen if he was not working in this platform. Moreover, he was giving the course using the latest versions of is and Swift (10 \ 3) and that is a huge advantage to be adapting such new technology in short time.
Abdullah Alaradi - Thiqah Business Services
Kurz - iPhone and iPad Development in Swift for iOS 8 and Xcode 6
Antonio gave is much background information, best practices and showed us useful tools to speed up our development process.