Späť na blog
Vzdelávanie

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

Marián Kristeľ
03.09.2014
4 minúty čítania
Objective-C alebo Swift? Ktorý jazyk zvoliť?

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

Mohlo by ťa zaujímať

8 skvelých kníh pre webdizajnérov, ktoré sú zadarmo
Vzdelávanie
03.07.2014
Marián Kristeľ

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

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 blogposte sme zverejnili niekoľko ebookov, ktoré sú zdarma dostupné na webe a určite sa hodia pre mnohých začínajúcich, ale aj skúsených webdizajnérov. 1. Pixel Perfect Precision Handbook  Prvé vydanie tohto handbooku od digitálnej agentúry ustwo malo niečo cez 100 strán a išlo skôr o súhrn odporúčaní pre prácu s pixelmi a Photoshopom. Súčasný handbook vol. 3 má vyše 200 strán a z PPP sa stal osvedčený návod pre dizajnérov.[Image] 2. Type Classification eBook  Tento ebook predstavuje 10 základných klasifikácií písma so stručnou históriou a kľúčovými charakteristikami. Pre dizajnérov je perfektnou pomôckou pri výbere písma do svojich dizajnov.[Image] 3. Typo Tips  Tento ebook je vhodný pre každého, kto sa chce zlepšiť v typografii a ponúka 7 tipov pre lepšiu typografiu vo vašom dizajne.[Image] 4. Designing for the Web  Ide o naozaj výbornú knihu od Five Simple Steps, ktorá pokrýva veľké množstvo oblastí, techník a prístupov k web designu. Je rozdelená do piatich častí vrátane typografie, farieb a layoutov.[Image] 5. Learning Web Design Kniha vhodná pre úplných začiatočníkov, ktorí nemajú skúsenosti s tvorbou webov. Nájdete v nej kapitoly o tom, ako web vôbec funguje, neskôr sa cez HTML a CSS dostanete až k JavaScriptu.[Image] 6. Introduction to Good Usability Dobrá použiteľnosť webu je niečo, čo pri mnohých dizajnoch webov chýba. Tento ebook je vhodný hlavne pre dizajnérov, ktorí mnoho webov zatiaľ nenadizajnovali a môžu sa inšpirovať pri rozvrhnutí jednotlivých prvkov na webe z už existujúcich a osvedčených riešení.[Image] 7. The Design Funnel: A Manifesto for Meaningful Design Táto kniha od Stephena Haya vám napomôže k tomu byť kreatívni s vašimi prácami a dizajnami. The Design Funnel predstavuje plán použitia rôznych nástrojov dizajnérom, aby tak naštartoval svoju kreativitu.[Image] 8. Bulletproof Web Design Autor Dan Cederholm v tejto knihe opisuje stratégie na vytvorenie dizajnu, ktorý je flexibilný. Každá kapitola obsahuje niekoľko rád, ako pripraviť príťažlivý dizajn, ktorý je zároveň pripravený pre rôzne množstvo textu, obsahu a pod.[Image] Samozrejme, existuje ešte oveľa viac kníh a ebookov, ktoré sú dobrým zdrojom rád, nápadov a inšpirácií. Ak máte svojú obľúbenú knihu, ktorú chcete odporučiť aj ďalším, podeľte sa s jej názvom v komentároch.
Ako začať s grafickým web dizajnom?
Vzdelávanie
07.05.2014
Marián Kristeľ

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

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 tomto blog poste. Mnohí z nás vedia používať Photoshop a vytvoriť v ňom dizajn, ktorý vyzerá atraktívne a pomerne dobre. Za dizajnom, ktorý vytvárame, je obrovské množstvo teórie. Znalosť tejto teórie je chýbajúcou časťou pre mnohých (talentovaných) dizajnérov. V ďalšom texte v skratke preberieme 5 základných oblastí, ktoré by mal dobrý webdizajnér ovládať.  TypografiaTypografia tvorí 80-90% z web stránky. Pri množstve informácií a textov, ktoré denne prechádzame, je nevyhnutné udržať čo najjednoduchší a najrýchlejší spôsob, ako sa dostať ku informáciám, ktoré potrebujeme.[Image]Dobrá a prehľadná prezentácia obsahu na webe je rovnako dôležitá ako pekná grafika a vymakaný copywriting. Typografia (na webe) nie je len o výbere niektorého z fontov. Typografia na webe sa skladá zo 4 základných elementov:  1. kontrast: texty na webe sú na to, aby sa čítali. Na to, aby sa čítali dobre, je vhodné použiť správny kontrast farby písma a pozadia. Ak si nie ste istí, či je kontrast dostatočný, spravte si screenshot zo stránky, vložte ho do napr. Photoshopu a zmeňte ho do grayscale. 2. veľkosť písma: príliš malé písmo je ťažšie čitateľné a preto, ak je to možné, nenastavte veľkosť písma v pod 10 alebo 12px.  3. hierarchia: meniť veľkosť písma je jednou z najlepších možností, ako rozlišovať obsah. Ďalšou z možností je mixovanie rôznych štýlov, napríklad používať kapitálky alebo italic pre podnadpisy, alebo zmiešať serif a sans serif.  4. miesto (space): nebojte sa nechať na vašom webe prázdne miesta , tento negatívny alebo biely priestor napomôže k tomu, aby bola pozornosť zameraná na text - obsah. Dobrí návrhári v snahe o dosiahnutie rovnováhy medzi farbou písma a bielymi (alebo negatívnymi) miestami trávia nad svojimi návrhmi pomerne veľa času. Teória farieb Použité farby a farebnosť webu patrí k jeho najdôležitejším aspektom, pretože pomocou farieb je možné vyvolať v ľuďoch emócie. Farby delíme na teplé a studené. Medzi teplé farby radíme napr. červenú, oranžovú a žltú. Modrá, fialová a zelená sú studené farby. Ako základ pre pochopenie farieb a vzťahov medzi nimi slúži tzv. farebný kruh, ktorý predstavuje rozdelenie farieb do troch skupín (primárne, sekundárne a terciárne).[Image]Primárne farby sú červená, zelená a modrá (RGB) a ich kombináciou dokážeme vytvoriť všetky ostatné farby. Sekundárne farby vznikajú kombináciou dvoch primárnych farieb a terciárne farby vzniknú vtedy, keď skombinujeme jednu primárnu a jednu sekundárnu farbu. Farby môžeme rozdeliť na analogické a komplementárne, čím vyjadrujeme vzťah medzi nimi.  Analogické farby sú umiestnené vedľa seba a môžeme ich teda dobre kombinovať. Komplementárne farby sú naopak na farebnom kruhu umiestnené oproti sebe a vďaka tomu dokážeme dosiahnuť dostatočný kontrast na našom webe. Okrem toho poznáme monochromatické či triadické farebné schémy. Najdôležitejšia vec, ktorú by ste mali mať na pamäti, je že farby vo vašich grafických návrhoch by mali zlepšiť zážitok z čítania a nie odvádzať od neho pozornosť. Pri výbere tých správnych farieb vám pomôžu online nástroje, napr. Adobe Color CC / Adobe Kuler (color.adobe.com). Dizajn založený na gridoch Keď toho už viete veľa o typografii a farbách, je čas pozrieť sa na grid systém vo vašom dizajne. Gridy umožňujú dizajnérovi vytvoriť dizajn, ktorý je prehľadný a čitateľný. Grid systémy sú skvelou pomôckou pri umiestňovaní jednotlivých prvkov do dizajnu. Jedným z príkladov grid systémov je 960gs, ktorého základ tvoria stĺpce v celkovej šírke 960 pixelov, ktoré sú rozdelené na 12 a 16 stĺpcov. Systémy sa teda líšia v šírke stĺpcov, 12 stĺpcový má stĺpce so šírkou 60px a 16 stĺpcový so šírkou 40px. Každý stĺpec navyše obsahuje 10 pixelový margin vľavo a vpravo. 960 grid systém je vhodný pre rýchle prototypovanie, ale funguje dobre aj v produkčnom prostredí. Použitím tohto systému je možné rozdeliť si jednotlivé časti webu tak, aby vždy pôsobili vyváženým dojmom.[Image]Grid systémov je samozrejme viacero, každý si môže zvoliť taký, ktorý mu viac vyhovuje. Rozhodne je ale veľkou výhodou grid používať. Teória dizajnu Dizajn vašej webstránky je dôležitý aj z marketingového hľadiska, bude od neho závisieť predaj vášho produktu. Preto je dobré držať sa niektorých základných pravidiel. Prvým z nich je vizuálna hierarchia. Týmto pojmom sa myslí usporiadanie webu, v akom ho vidí užívateľ. Keďže niektoré časti vašej stránky sú dôležitejšie ako ostatné (ide najmä o formuláre, call-to-action prvky, value propositions a pod.) chcete, aby na ne návštevníci klikali. Zlatý rez (grécke písmeno phi) je najstarším a najpoužívanejším kompozičným princípom, ktorý má svoje využitie aj vo web dizajne.[Image]Nebojte sa bieleho miesta na webe. Biely priestor (negatívny priestor) je časť stránky, ktorá nie je použitá. Nemala by však byť považovaná za nevyužitú, je jedným z dôležitých elementov vo web dizajne. Správne využitý biely priestor podporuje vizuálnu hierarchiu a zlepšuje prehľadnosť webu. UI & použiteľnosť Dobrá používateľnosť webu závisí od mnohých faktorov. Responzívny dizajn a teda dobré ovládanie aj na mobiloch či tabletoch je v súčasnosti trendovou a veľmi potrebnou záležitosťou.[Image] Kvalitný hosting a teda rýchle načítavanie stránok a platné linky tiež napomáhajú k dobrej použiteľnosti. Základným princípom je prehľadnosť - používateľa je ľahké “stratiť" rušivými prvkami a ak na vašej stránke nenájde čo hľadá, odíde. Úlohou dobre nadizajnovaného webu je poskytnúť užívateľovi jednoduchý, prehľadný a user-friendly zážitok. Web musí pôsobiť dôveryhodne - docielite to vytvorením kontaktnej stránky s uvedením adresy a telefónneho čísla. K dobrej použiteľnosti webu v neposlednom rade patrí relevantnosť. Musíte poskytovať obsah, ktorý vaši návštevníci hľadajú a váš dizajn by im mal pomôcť nájsť to, čo hľadajú. Dobrá použiteľnosť sa dolaďuje dlhšiu dobu, vyžaduje si užívateľský prieskum a neustále testovanie.  Dobrý webdizajnér by mal ovládať aj túto teóriu a teda by mal vedieť nielen "ako" to spraviť, ale aj “prečo” to tak spraviť. Potom nasleduje tvrdá práca na sebe, neustále vzdelávanie sa, sledovanie trendov a skúšanie. Pokiaľ by ste sa chceli dozvedieť viac, máte možnosť zúčastniť sa kurzu Visual Design, na ktorom sa v priebehu 6 týždňov naučíte sa základné dizajnérske princípy a techniky a vytvoríte logo, základný dizajn manuál a dizajn webu. 
Tipy pre programátorských začiatočníkov
Vzdelávanie
18.02.2014
Marián Kristeľ

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

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 znalosti programovania veľmi populárnu tému. Pre ľudí, ktorí začínajú alebo chcú začať s programovaním, prinášame pár začiatočníckych tipov. 1. Začnite s konkrétnym projektom v hlave  Je to dôležité z toho hľadiska, že učenie nám pôjde jednoduchšie a ostaneme motivovaní neprestať. Dobré je tiež mať prehľad o súčasných aplikáciách a produktoch (napr. Facebook, Twitter) a počas kurzu sa snažiť vytvoriť rovnakú funkčnosť. V začiatkoch je potrebné ujasniť si, čo chceme naprogramovať alebo vytvoriť. Ak to je len webstránka, začneme s HTML a CSS. Ak to má byť aplikácia, ktorá komunikuje s databázou, zvolíme si na to vhodný programovací jazyk. 2. Učte sa vami zvolený jazyk Odporúčame začať s Ruby a Ruby on Rails, výhody tohto jazyka a frameworku sme popísali v jednej z našich blogových správ. Je možné začať aj s iným jazykom, mnohí odporúčajú napr. Python, ale ruby komunita je známa množstvom open source nástrojov a pluginov, ktoré napomáhajú programátorom vytvárať funkcionalitu svojich projektov rýchlo a popri tom sa učiť základy. Venujte vami zvolenému jazyku toľko času, koľko je potrebné. 3. Vytrvajte v učení Mnohí po nadobudnutí základov programovania prestanú s ďalším učením sa s tým, že už začínajú rozumieť programovaniu. A potom zistia, že sa mýlia a je tu ešte veľa práce. Dostať sa do tohto ďalšieho levelu vyžaduje aj zmenu myslenia, a preto je potrebné byť vytrvalý. Super spôsob, ako začať so zložitejšími projektami, je stiahnuť si kód z niektorých open-source repozitárov na funkcionalitu, ktorá vás zaujíma. Hľadanie vhodných repozitárov na GitHube a upravovanie kódu pre potreby vášho projektu je fajn spôsob ako naštartovať vlastný projekt. Na webe je mnoho kvalitných online programátorských tutoriálov, napr. od Lynda.com alebo Treehouse. Ak však preferujete fyzické školenia s inštruktorom, ktorého sa môžete čokoľvek opýtať a ktorý vám poradí pri riešení programátorských problémov, v Learn2Code ponúkame dlhodobé školenia zamerané na web dizajn, web development a tvorbu mobilných aplikácii pre iOS.

Nezmeškaj info o nových kurzoch a špeciálnych ponukách