Pri tvorbe kurzu iOS Developer sme rozhodovali, ktorý z jazykov si vybrať ako výukový. Z môjho pohľadu bolo toto rozhodnutie relatívne jednoduché, ale pre úplnosť si zhrňme dôvody, prečo to nakoniec vyhral jazyk Swift.
Apple nám na tohtoročnej WWDC predstavil svoj nový programovací jazyk Swift. Ten by mal byť rýchlejší bezpečnejší modernejší a veľa ďalšieho. Ja osobne za jeho hlavné výhody pre začiatočníkov považujem jednoduchšiu syntax, Playground a interaktívnu debugovaciu konzolu.
Jednoduchšia syntax
Skoro vždy, keď som sa rozprával s nejakým vývojárom, ktorý Objective-C videl, alebo sa s ním pokúšal pracovať, prišla reč aj na syntax tohto jazyka. Nepadlo na jej adresu snáď jediné pozitívne slovo. Kopec hranatých zátvoriek, názvy metód s medzerami, hviezdičky a množstvo zbytočného kódu okolo. Tiež mi dosť dlho trvalo, kým som sa s týmto štýlom zápisu zžil, aj keď nakoniec som mu prišiel na chuť.
Swift je svojou syntaxou veľmi podobný rozšíreným jazykom ako napr. JavaScript, C, Ruby, atď., takže pre ľudí, ktorí už v niečom programovali (a nebolo to nič exotického :-)) bude zoznámenie so Swiftom jednoduché. Tí, ktorí nikdy neprogramovali to budú mať taktiež oveľa jednoduchšie v porovnaní s Objective-C. Swift od nás, okrem iného, nepožaduje rozdeľovať zápis tried do dvoch samostatných súborov, importovať súbory s deklaráciami alebo si lámať hlavu so správou pamäte.
Playground
XCode vo verzii 6 disponuje novým nástrojom s názvom Playground. Jeho účel vyplýva z jeho názvu. Slúži na „hranie sa“ s kódom. Obrazovka je rozdelená na dve časti. Vľavo užívateľ píše svoj kód a vpravo hneď vidí výsledok. Začínajúci prográmator teda nebude musieť riešiť, aký typ aplikácie vytvoriť, čo všetko kde zaškrtnúť a zvoliť. Tak isto nebude musieť po každej zmene znovu spúšťať aplikáciu. Je to ideálny spôsob, ako sa s jazykom zoznámiť a spoznávať ho do detailov. Playground nie je obmedzený len na textový výstup, ale poskytuje aj grafické prostredie. Tak isto zobrazuje programátorovi aj prípadné chyby a upozornenia, že niečo by mohol urobiť inak resp. lepšie.
Interaktívna debugovacia konzola
Bežne sa pri vývoji aplikácie stáva, že napíšem kus kódu, aplikáciu spustím, aby som videl, čo som vlastne vytvoril a následne zistím, že sa nespráva presne tak, ako by som si predstavoval. Alebo si len chcem overiť, čo by sa stalo ak... Doteraz som to mohol riešiť tak, že po každej drobnej zmene som aplikáciu znovu spustil a overil si, či sa daná zmena prejavila tak, ako som očakával. Táto metóda je náročná v prípade, že funkcionalita, ktorú potrebujem preveriť je „vzdialená“ niekoľko tapnutí na obrazovku, alebo je závislá na špecifickom stave aplikácie resp. prostredia s ktorým aplikácia pracuje, ako napr. vzdialený server.
So Swiftom prichádza aj Read-Eval-Print-Loop (REPL). Je to debugovacia konzola, ktorá poskytuje interaktívnu verziu Swiftu, pomocou ktorej je možné komunikovať s bežiacou aplikáciou, alebo si len overiť svoje nápady v skriptovacom prostredí XCode alebo systémovej konzoly.
Už onedlho
Proti použitiu Swift-u v našom kurze momentálne hovorí v podstate len to, že ešte nie je vo svojej finálnej podobe a vývojári v Apple ho môžu ešte decentne upraviť. Osobne si myslím, že ak sa tak aj stane, bude to v minimálnom rozsahu a náš kurz to neovplyvní.
Autorom tohto blog postu je lektor kurzu iOS DeveloperŠtevo Ľupták. Ak máte nejaké otázky týkajúce sa Swiftu alebo kurzu, napíšte ich do komentárov.
Marián Kristeľ
Mám na starosti marketing a operations v Skillmea | (spolu)organizujem programátorský workshop Rails Girls Bratislava | ambasádor EU Code Week na Slovensku