Internet ponúka širokú škálu nástrojov, stránok, feedov, kurzov ako začať s vývojom iOS aplikácii, ale pre začínajúceho programátora výber nástrojov môže byť mätúci.

Našťastie mám tip, čo by každý programátor iOS aplikácii mal mať nainštalované a čo by mal sledovať, aby bol Up To Date v trendoch a aby nezaspal dobu.
Short story
iOS je dynamický ekosystém technológii, ktorého história sa začala písať v roku 2007, kedy Steve Jobs predstavil prvý iPhone, ktorý nastolil revolúciu v UX smartphonov. Už v 2008 roku mali vývojari k dispozícii programovací jazyk Objective C, ktorý odštartoval Eldorado v produkcíí mobilných aplikácii.

Objective C je nanešťastie ťažkopádnejší jazyk a v porovnaní s konkurenciou nie príliž atraktívny. V roku 2014 zavítal Swift, ktorý naopak zjednodušil syntax a čitateľnosť a prilákal väčšie množstvo vývojarov.
Aplikácie
Absolútny MUST HAVE je program Xcode, ktorý je voľne dostupný na AppStore. Existujú ďalšie alternatívy, napríklad od Jetbrains – AppCoda, ktorý má veľkú základňu fanúšikov a v niektorých funkciách je ďaleko za Xcode, ale nikdy nebude podporovať 100 percent funkcionalít (storyboards).
Figma
Každý si potrebuje raz za čas vytvoriť asset, ikonu, navrhnúť layout, alebo si len tak niečo nadizajnovať. Bolo by fajn mať dizajny na cloude, prístup z desktop, alebo web appky a k tomu vedieť kolaborovať s viacerými ľudmi. Dnešná doba umožňuje všetko, Figma je ten pravý nástroj, ktorý miluje nejeden dizajnér a ušetrí množstvo času pri grafických úpravach a hlavne je zadarmo.

Jedine, čo môžem vytknúť je poor performance, nakoľko desktop aplikácia dosť znásilňuje ram.
Gitkraken
Počas práce na jednolivých projektov som mal možnosť vyskúšať kopec zaujímavých aplikácii na správu Git. Medzi najlepšie patrí práve spomínaný Gitkraken.

Ponúka jedno z najkrajších UI aké som videl. Veľmi užitočný príde nástroj vytvárania si viacerých účtov a mapovanie jednotlivých služieb ako Gitlab, Github, Bitbucket jednotlivo na každý účet. Nedávna novinka prepojenie s Jira rozšírujé možnosti vytvárania branch podľa popisku úloh.
Čo na druhej strane odradí je fakt, že verzia zdarma nepodporuje private repozitáre a rozhodne sa oplatí investovať len v prípade, že spravujete viacero repizotárov pod viacerými účtami.
Webové služby
Internet ponúka všetko, čo si človek vie predstaviť. Aké nástroje sa ukázali najviac handy?

Stack Overflow
Rozhodne, väčšina bude poznať Stack Overflow a v minulosti bol aspoň jeden problém, ktorý sa vďaka portálu podarilo vyriešiť. Stack Overflow je každodenná súčasť života programátora kde je minimálna šanca, že problém ktorému čelím už niekto niekedy neriešil.
Firebase
Nakódiš aplikáciu, pustíš ju von a si zvedavý, čo používatelia v aplikácii robia? Alebo by si chcel vedieť, či niekomu crashla appka a ty budeš presne vedieť na ktorom riadku? Nechce sa ti kódiť backend, chceš mať online autentifikáciu cez Google, Facebook Apple login alebo posielať push notifikácie? Áno, toto všetko vieš vyklikať práve cez Firebase.

App Icon Generator
Ako nadpis napovedá, jedná sa o službu, ktorý vygeneruje icon set. Načo a prečo by som to potreboval? Apple má dosť striknú politiku čo sa týka veľkosti a kvality ikon. Je potrebné mať rôzne veľkosti a je to skutočne mravčia práca robiť to manuálne. A čo je najhoršie, stačí malá chyba a aplikácia vám neprejde ani do Appstore. Jednoduché riešenie? Vytvoriť si ikonu vo veľkosti 1024×1024 a nahrať ju do App Icon Generator. Služba vygeneruje všetky potrebné ikony ktoré potom stačí vložiť do Assetov.

Json Parser
Vytváram aplikáciu a mám k dispozícii API, poznám response a aké dáta mi chodia, napríklad v JSON. Potrebujem si vytvoriť model štruktúry. Existujú dve možnosti. Napísať si ich ručne, alebo použiť tento tool, ktorý vyčaruje z nasledujúceho json objektu:
{ "name": "Luke Skywalker", "height": "172", "mass": "77", "hair_color": "blond", "skin_color": "fair", "eye_color": "blue", "birth_year": "19BBY", "gender": "male", "homeworld": "http://swapi.dev/api/planets/1/", "films": [ "http://swapi.dev/api/films/1/", "http://swapi.dev/api/films/2/", "http://swapi.dev/api/films/3/", "http://swapi.dev/api/films/6/" ], "species": [], "vehicles": [ "http://swapi.dev/api/vehicles/14/", "http://swapi.dev/api/vehicles/30/" ], "starships": [ "http://swapi.dev/api/starships/12/", "http://swapi.dev/api/starships/22/" ], "created": "2014-12-09T13:50:51.644000Z", "edited": "2014-12-20T21:17:56.891000Z", "url": "http://swapi.dev/api/people/1/" }
Swift model na okamžité použitie:
import Foundation // MARK: - WelcomeElement struct WelcomeElement: Codable { let word: String let phonetics: [Phonetic] let meanings: [Meaning] } // MARK: - Meaning struct Meaning: Codable { let partOfSpeech: String let definitions: [Definition] } // MARK: - Definition struct Definition: Codable { let definition, example: String let synonyms: [String]? } // MARK: - Phonetic struct Phonetic: Codable { let text: String let audio: String } typealias Welcome = [WelcomeElement]
Ak sa ti môj výber páčil, zdieľaním ma podporíš. Máš svoj zoznam obľúbených tools? Podeľ sa s nimi v komentári.