Blog

Objective-C alebo Swift? Ktorý jazyk zvoliť?

Marian Kristel - 03.09.2014 - Vzdelávanie

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.


Maiox

Marian Kristel

Mám na starosti marketing a operations v Learn2Code | (spolu)organizujem programátorský workshop Rails Girls Bratislava | ambasádor EU Code Week na Slovensku

8 skvelých kníh pre webdizajnérov, ktoré sú zadarmo

Vzdelávanie

Ak ste webdizajnér a chcete držať krok s tak dynamicky sa vyvíjajúcim odvetvím akým je webdizajn, vzdelávanie a samoštúdium je nevyhnutné. V tomto...

Ako začať s grafickým web dizajnom?

Vzdelávanie

Kvalitný a príťažlivý grafický dizajn je nevyhnutnou súčasťou každého dobrého webu. Za dizajnom sa skrýva mnoho teórie, na ktorú sa v skratke pozrieme v...

Tipy pre programátorských začiatočníkov

Vzdelávanie

Všadeprítomnosť technológií, neustále využívanie rôznych aplikácií a tiež narastajúce povedomie o start-upoch a ich "success stories" spravili zo...