Xcode

Z Wikipedie, otevřené encyklopedie
Skočit na navigaci Skočit na vyhledávání
Xcode
Vývojář Apple Inc.
Aktuální verze 10.3 (22.7.2019)
Operační systém Mac OS
Typ softwaru vývojové prostředí
Licence Proprietary freeware with open source components
Web Apple – Xcode
Některá data mohou pocházet z datové položky.

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 Mac OS. 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 Mac OS Mojave. Apple ho nabízí volně ke stažení z Mac App Store, ale pouze pro operační systémy Mac OS.

V Xcode je dostupný programovací jazyk Swift (programovací jazyk).

Vlastnosti[editovat | editovat zdroj]

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[editovat | editovat zdroj]

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[editovat | editovat zdroj]

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[editovat | editovat zdroj]

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[editovat | editovat zdroj]

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 syté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[editovat | editovat zdroj]

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 Mac OS 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[editovat | editovat zdroj]

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[editovat | editovat zdroj]

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]

Reference[editovat | editovat zdroj]

  1. Introduction to the LLVM Compiler System [online]. Dostupné online. 
  2. LLVM Compiler Overview [online]. Dostupné online. 
  3. The LLDB Debugger [online]. Dostupné online. 
  4. LLDB Quick Start Guide [online]. Dostupné online. 
  5. iOS Simulator User Guide [online]. Dostupné online. 
  6. Interface Builder [online]. Dostupné online. 
  7. Instruments User Guide [online]. Dostupné online. 
  8. Xcode Overview [online]. Dostupné online. 
  9. Xcode Continuous Integration Guide [online]. Dostupné online.