Xcode
Xcode je IDE (Integrated Development Environment, česky vývojové prostředí) společnosti Apple, které obsahuje balíček profesionálních vývojářských nástrojů pro vývoj softwarových aplikací na platformy iOS a macOS. Nejnovější dostupná oficiální verze je 10.3, ta umožňuje vyvíjet aplikace pro nejnovější verze operačních systémů iOS 12 a macOS Mojave. Apple ho nabízí volně ke stažení z App Store, ale pouze pro operační systémy macOS.
Screenshot aplikace | |
Vývojář | Apple Inc. |
---|---|
První vydání | 2003 |
Aktuální verze | 12.5.1 (21. června 2021) |
Operační systém | macOS |
Vyvíjeno v | Swift |
Typ softwaru | vývojové prostředí |
Licence | Proprietary freeware with open source components |
Web | Oficiální web |
Některá data mohou pocházet z datové položky. |
V Xcode je dostupný programovacím jazyce Swift.
Vlastnosti
Xcode obsahuje celou uživatelskou dokumentaci pro oba operační systémy a spoustu vlastností a aplikací popsaných níže. Xcode podporuje programovací jazyky C, C++, Objective-C, Objective-C++, Java, AppleScript, Python, Ruby, Rez a Swift.
LLVM kompilátor
LLVM kompilátor je založený na open sourcovém projektu LLVM.org. Tento projekt tvoří kolekce technologií pro optimalizaci a generaci zdrojového kódu. LLVM byl představen již v Xcode 3.2 a mohl se používat v Xcode projektech spolu s GCC, ale od Xcode řady 5.0 se Apple uchýlil k používání pouze LLVM, jelikož to znamenal krok vpřed v kompilaci kódu. Hlavní pokrok LLVM totiž zavádí ve stavbě kompilačních technologií jakožto sadě modulárních knihoven, z nichž se následně dá kompilátor sestavit.[1] To umožňuje rychlejší tvorbu specializovaných kompilátorů, které lze snadno inovovat.
V Xcode LLVM kompilátor používá Clang jako front end k parsování zdrojového kódu, který přeměňuje na “mezi kód”. Ten je za pomocí LLVM vrstvy, která generuje kód, přeměněn na finální strojový kód.[2]
LLDB debugger
LLDB představuje vysoce výkonný debugger nové generace. Je vyvíjen po boku výše zmíněného projektu LLVM, a tak je postaven na stejné myšlence, to znamená, že je sestaven ze sady komponent, které skvěle spolupracují s již existujícími knihovnami v LLVM[3]. Od Xcode 4.5 je LLDB jediným debuggerem v balíčku a plně nahrazuje standardní GDB. LLDB je integrován v Xcode a je dostupný přes jeho UI. Tento nástroj ve standardní instalaci poskytuje rozsáhlou sadu příkazů kompatibilní se známými příkazy z GDB.[4]
iOS Simulator
Xcode dovoluje spouštění a testování vyvíjených aplikací na samotném zařízení, ale pouze za předpokladu, že má vývojář zaplacený Apple Developer Program. V opačném případě lze použít aplikaci iOS Simulator, která je součástí Xcode. Ta dovoluje počítači simulovat iPhone nebo iPad. Nejen že tato aplikace dovolí simulovat doteky či fyzické otočení jako u normálního zařízení, ale má i spoustu dalších užitečných prvků, například simulace geografické polohy, simulace nedostatku paměti a poskytuje vizuální rádce pro snazší odhalení UI nedostatků či chyb, atd.[5]
Interface Builder
Skvělá vestavěná aplikace pro tvorbu uživatelského rozhraní bez nutnosti psát jakýkoliv kód. To, že se nemusí psát kód je díky tomu, že se Cocoa a Cocoa Touch drží modelu MVC a lze proto jednoduše oddělit design interfejsu od implementace.
Každá iOS aplikace obsahuje Storyboard, což je soubor, který zachycuje celkový obraz aplikace. Základní stavební jednotkou UI v iOS je View Controller, takže storyboard hlavně ukazuje jaké View Controllery zde jsou a jaké vazby mezi nimi zde existují. Dále se do View Controllerů rozmístí ostatní objekty UI, jako jsou tlačítka nebo textová pole, atd.
Poté, co se rozmístí prvky UI, dá se využít systému zvaného Auto Layout, který využívá constraints k definici toho, jak se mají prvky chovat při různých změnách zobrazení například při rotaci displeje. Interface Builder obsahuje také Assistant editor, což je v jednoduchosti okno, ve kterém se zobrazuje kód právě editovaného UI prvku a dá se také za pomocí gesta click-and-drag přetahovat z interface editoru do tohoto okna kódu a navázat tak na implementaci UI prvku.
Novinkou je Preview mód, který dokáže rychle zobrazit náhled vytvořeného uživatelského zobrazení bez nutnosti spouštění aplikace a tím velmi zrychlit celý proces tvorby UI.[6]
Instruments
Instruments jsou mocný nástroj pro testování a analýzu výkonu aplikací, který běží na frameworku DTrace vyvinutým společností Sun Microsystems. Za pomoci DTrace si uživatel může nadefinovat vlastní Instruments. Instruments umožňují sledovat běžící procesy, sbírat data a následně zkoumat takto shromážděná data.[7]
Instruments poskytuje možnosti:
- Zkoumat chování jednoho nebo více procesů
- Zaznamenat sekvenci uživatelských akcí a následně je přehrát, spolehlivě reprodukovat tyto události a shromažďovat data
- Profilovat aplikace na macOS a iOS
- Ukládat záznamy uživatelského rozhraní a nastavení jako šablony
S pomocí Instruments se dají provádět úkoly jako:
- Vypátrat těžko reprodukovatelné problémy v kódu
- Provádět výkonnostní analýzu aplikace
- Hledat memory leaky a další problémy
- Vytvořit zátěžové testy na části aplikace
Source editor
Pro editaci zdrojových souborů stačí požadovaný soubor vybrat v navigatoru, jeho obsah se okamžitě zobrazí v hlavní editovací oblasti. Source editor nabízí spoustu funkci při psaní kódu.
Editor skenuje text při psaní, a když detekuje syntaktickou chybu, vyznačí řádek a zobrazí zprávu popisující problém. Často je také schopný nabídnout automatickou opravu chyby. Dále umožňuje používání snippetů kódu, ty je možné vybrat z knihovny snippetů. Uživatel si samozřejmě úplně jednoduše může definovat vlastní. Nedílnou součástí je doplňování kódu, jakmile uživatel začne psát jméno symbolu Xcode nabídne inline návrhy pro doplnění jména, stačí si vybrat. Když metoda nebo funkce obsahuje parametry nebo argumenty, při doplnění kódu vloží Editor placeholder za každý z nich. Editor nabízí možnost statické analýzy kódu, takže ještě než se spustí aplikace, statický analyzátor projde stovky možných cest v kódu a ohlásí potenciální chyby. Source editor nabízí ještě mnoho dalších funkcí, uvedeno bylo několik vybraných.[8]
Continuous Integration
Funkce Continuous Integration byla představena již v Xcode 5.0. Jejím hlavním úkolem je zajistit rychlé a jednoduché odchytávání problémů, vylepšení spolupráce týmu developerů, rozšíření pokrytí testy, generace buildů a statistik přes určitou časovou periodu a distribuce ostatním členům týmu. K tomuto procesu je zapotřebí Xcode Server, což je služba poskytovaná OS X Serverem. Na Macu se vytvoří boti, kteří pak běží na serveru a tam zajišťují integraci buildováním, analýzou, testováním a archivací vyvíjených aplikací. Boti napomáhají zajistit, že projekt je vždy ve stavu, kdy se dá vydat a když nastane problém Xcode server upozorní osobu zodpovědnou za způsobení chyby. Cílem této integrace je zlepšení kvality softwaru.[9]
Odkazy
Reference
- Introduction to the LLVM Compiler System [online]. Dostupné online.
- LLVM Compiler Overview [online]. Dostupné online.
- The LLDB Debugger [online]. Dostupné online.
- LLDB Quick Start Guide [online]. Dostupné online.
- iOS Simulator User Guide [online]. Dostupné online.
- Interface Builder [online]. Dostupné online.
- Instruments User Guide [online]. Dostupné online.
- Xcode Overview [online]. Dostupné online.
- Xcode Continuous Integration Guide [online]. Dostupné online.
Externí odkazy
- Obrázky, zvuky či videa k tématu Xcode na Wikimedia Commons
- Oficiální stránky