Úvod do nového programovacího jazyka společnosti Apple: Swift

Revoluční Swift: Nový programovací jazyk od Apple

Na letošní konferenci WWDC se veškerá pozornost soustředila na systémy iOS 8 a OS X Yosemite, čímž tak trochu zastínila jednu z největších novinek celé akce. Společnost Apple totiž představila světu nový programovací jazyk – Swift. Pro běžné uživatele se sice nejedná o zásadní zprávu, nicméně pro vývojářskou komunitu to může znamenat skutečnou revoluci. Některé programovací jazyky mají oproti jiným jasné výhody – některé jsou rychlejší, jiné efektivnější, další se zase vyznačují čistším kódem nebo neuvěřitelnou jednoduchostí. Apple se po společnostech jako Google (s jazykem Go) a Microsoft (.NET Framework) stal dalším gigantem, který vyvinul svůj vlastní programovací jazyk. Swift se podle jeho tvůrců učí z úspěchů předchozích jazyků, přičemž zůstává věrný svému předchůdci Objective-C. Apple o Swiftu hovoří jako o nejrychlejším a nejrobustnějším programovacím jazyku na vysoké úrovni. Pojďme se na to podívat blíže.

Proč vůbec potřebujeme programovací jazyky?

Existuje několik způsobů, jak přimět elektronická zařízení, aby dělala to, co chceme. Od moderních chytrých hodinek po klasické počítače, všechna tato zařízení lze naprogramovat buď staromódním způsobem, pomocí strojového kódu (tedy psaním instrukcí v surovém byte kódu nebo jazyce symbolických adres), nebo se můžeme spolehnout na programovací jazyky vyšší úrovně, které nám ušetří mnoho práce. Právě proto se jazyky pro vývojáře stále více přibližují běžnému lidskému jazyku. I když je zřejmé, že název Swift přitahuje spíše vývojáře než běžné uživatele, pokusíme se vysvětlit tento koncept co nejjednodušeji. Swift je technologie, která bude ovládat budoucí generace produktů Apple.

Základní princip je jednoduchý: elektronická zařízení jsou sama o sobě „hloupá“. Bez programování by to byly jen obyčejné bezcenné krabičky. Teprve programování jim dává skutečnou funkci. Na nejnižší úrovni je potřeba elektronice krok za krokem říkat, co má dělat. Dříve se k tomu používaly děrné štítky a strojový kód. Postupem času jsme však vyvinuli jazyky, které nám umožňují komunikovat s počítači přirozenějším způsobem (ano, kód je ve skutečnosti zjednodušená verze toho, co by to mohlo být). Napíšeme kód, ten se zkompiluje do podoby, které počítač rozumí, a pak se spustí. Zkrátka, proces probíhá ve třech krocích: kód – kompilace – spuštění.

Proč právě Swift?

Nyní si možná kladete zásadní otázku: „Proč?“ Programovací jazyk C vznikl už v 70. letech a v té době znamenal průlom. Poté v 80. letech přišel jeho odnož, Objective-C. Od té doby Apple používal Objective-C pro vývoj svých produktů. Logika říká, že „pokud něco funguje, není potřeba to opravovat“, a pokud něco funguje 30 let, kde je problém? No, právě v tom. Apple používal Objective-C desítky let. Nastal čas pro něco rychlejšího, výkonnějšího a jednoduššího. A tím je Swift.

Podle oficiální elektronické knihy o Swiftu (dostupné zdarma na iTunes) „Swift je nový programovací jazyk pro aplikace iOS a OS X, který staví na tom nejlepším z C a Objective-C, bez omezení kompatibility s jazykem C. Swift přijímá bezpečné programovací postupy a přidává moderní funkce, aby bylo programování jednodušší, flexibilnější a zábavnější. Swift, postavený na pokročilých a populárních frameworků Cocoa a Cocoa Touch, je příležitostí k novému pohledu na to, jak vývoj softwaru funguje.“

V čem je Swift tak důležitý?

Ačkoli by si společnost Apple přála, abyste bezvýhradně věřili v její inovace, vyvstala myšlenka „skriptovacího“ jazyka. Tradiční parametry kód-kompilace-spuštění vyžadují, abyste svůj kód viděli v akci až po jeho zkompilování. Kompilace přesně ukáže, co váš kód umí. Pokud váš kód obsahuje chyby, kompilace povede k chybovému chování nebo selhání. Úkolem programátora je pak najít, kde se chyba nachází, opravit ji a poté začít znovu. Tento proces je náročný a časově náročný, ale svět programování s ním vždy žil; tak to vždy bylo. Skriptovací jazyky se spouštějí řádek po řádku, takže můžete vidět výsledky ihned při psaní, čímž se eliminuje nutnost kontrolovat chyby v kódu později. To urychluje proces a činí ho mnohem jednodušším.

Skriptovací jazyky však byly dosud omezeny ve svých schopnostech. Vezměte si například Python. Je rychlý, ale je omezen na jednodušší úkoly s omezenými možnostmi. Je to jako s autem Formule 1, skvělé na závodění, ale ne tak dobré na nákup potravin.

Pokud chcete vytvořit hru, Python není ideální volbou. Objective-C však ano (nebo C++, pokud používáte Windows). Swift nyní slibuje to nejlepší z obou (vlastně mnoha) světů. Inspiruje se jazyky jako Objective-C, Rust, Haskell, Ruby, Python, C#, CLU a mnoha dalšími (odkaz na vývojáře a experta na Swift Chrise Lattnera). Swift si podle jeho tvůrců ponechává dobré vlastnosti výše uvedených jazyků a odstraňuje jejich nedostatky. V klíčových benchmarkách je jeho spouštění rychlejší než u Pythonu a mnohem rychlejší než u Objective-C, takže má skvělý start.

Co ještě Swift umí?

Swift také přináší vizuální prostředí v reálném čase, tzv. „hřiště“, kde můžete okamžitě vidět zkompilovaný výsledek, podobně jako u skriptovacího jazyka. To může výrazně zkrátit celý proces vývoje, protože pokud se něco pokazí, hned vidíte, co to způsobilo a můžete to okamžitě vyřešit. Je to jako oprava chyby v tisku oproti opravě červeně podtrženého slova za pochodu. Umožňuje to rychleji vytvářet i složité aplikace.

Jde to ale ještě o krok dál. U jazyků vyšší úrovně jste museli deklarovat a přistupovat ke třídám a knihovnám, abyste mohli využívat funkce, bez ohledu na to, jak jsou základní. V jazyce C++ byste potřebovali a , abyste mohli ve svém kódu používat základní vstup, výstup a datové typy. Ve Swiftu nic z toho není nutné. Nemusíte deklarovat žádné knihovny, protože Swift sám spravuje, co každý datový typ a funkce io (vstup/výstup) potřebují, a automaticky tuto knihovnu použije. Takže tisk něčeho tak jednoduchého, jako je „Ahoj světe“, se mění z:

#include<stdio.h>
int main(void)
{
  printf("Hello Worldn");
  return0;
}

na jednoduché:

println("Hello, world")

To je celý kód, který je potřeba zkompilovat. Také si všimněte, že kód nepoužívá obávaný znak „;“ jako univerzální symbol konce příkazu.

Jaké jsou nevýhody?

Existence Swiftu neznamená okamžitý konec jazyka Objective-C a všech jeho postupů. Aplikace lze stále vytvářet pomocí Objective-C a stávající uživatelé Objective-C se nebudou cítit úplně ztraceni, protože v těchto prostředích existují podobnosti. Protože Apple strávil 4 roky prací na novém programovacím jazyce, je jasné, že se zaměří na prosazování a podporu Swiftu, nyní i v budoucnu. Možná jednoho dne vymaže Objective-C z análů programovacích jazyků Applu, ale ten den ještě nenastal. I když je k dispozici nový jazyk, který je snadno naučitelný a mnohem rychlejší, proč by někdo preferoval Objective-C?

Existuje samozřejmě několik obav. Bezprostřední je otřes v tomto odvětví. Celá kariéra byla založena na tom, že se lidé učili vytvářet aplikace pro iPhone. Tato kariéra i jejich studenti se nyní okamžitě stávají zastaralými. V této oblasti dojde k mnoha změnám. Také se dočkáme nové vlny „rychlých osvojitelů“ Swiftu (například hra Flappy Birds byla již vytvořena pomocí Swiftu). To je dobré i špatné. Je dobré, že se do ekosystému dostane nová krev, ale zároveň je špatné, že tito nováčci budou nezkušení a zaplaví trh špatně vytvořenými aplikacemi.

Brzy se budeme zabývat i metal frameworkem od společnosti Apple a probereme jeho výhody a nevýhody, zejména při hraní na iOS.

Závěrem

Pokud se divíte, proč na konferenci WWDC nebyl oznámen žádný nový hardware, pak vás znovu odkážeme na naše dřívější prohlášení, že samotný hardware nemůže nic dělat, dokud za ním nefunguje software. A právě v tomto směru se odehrála jedna z největších novinek. Získáváme nový nástroj pro ovládání softwaru, který v budoucnu změní tvář celého hardwaru. Pro získání Swiftu budete potřebovat Xcode 6 beta a vývojářské ID.

Získejte Swift zde