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

Letos na WWDC se pozornost tak silně soustředila na iOS 8 a OS X Yosemite, že to, co mělo být největší novinkou akce, bylo spíše nedoceněno. Apple představil světu programovací jazyk Swift. Pro koncového uživatele je to sotva novinka. Nicméně pro vývojářskou komunitu to může stejně dobře změnit hru. Některé programovací jazyky mají jasné výhody oproti jiným programovacím jazykům, některé jsou rychlejší, některé efektivnější, některé jsou čistější, některé neuvěřitelně jednoduché. Apple je po Golangu (Golang) a Microsoftu .Net Framework nejnovější firmou, která vytvořila svůj vlastní programovací jazyk. Swift Programming Language tvrdí, že se z těchto jazyků naučil, a přitom zůstal věrný svému předchůdci Objective C. Apple tvrdí, že vytvořil nejrychlejší a nejrobustnější programovací jazyk na vysoké úrovni. Pojďme si to vysvětlit.

Proč potřebujeme programovací jazyky?

Existuje několik způsobů, jak přimět zařízení, aby dělalo „věci“. Jakékoli zařízení, od moderních nositelných pomůcek po tradiční počítače, lze vyrobit tak, aby dělalo věci pomocí staromódního způsobu strojového jazyka, psaní v surovém byte kódu/jazyka sestavování, ruční vytváření každé instrukce; nebo se můžete spolehnout na jazyky na vysoké úrovni, které vám pomohou snížit část nudy. To je důvod, proč se více zaměřuje na přiblížení vývojářských jazyků co nejblíže normálnímu jazyku. Chápeme, že jméno Swift přitahuje více vývojářů než přihlížejících, ale přesto zjednodušíme vysvětlení, abychom vám pomohli pochopit technologii, která bude ovládat budoucí generace produktů Apple.

Rychlý základ: Elektronická zařízení jsou doslova ty nejhloupější věci, které lidstvo zná, bez veškerého programování by byly zredukovány na pouhé ozdoby. Co jim dává skutečnou funkci, je programování. Na úplně základní úrovni je třeba elektronice říct, akci po akci, co musí udělat, to jsme dělali s děrnými štítky a později se strojovým jazykem. Pak jsme se posunuli v čase, abychom vyvinuli jazyky, které nám umožní komunikovat se stroji relativně přirozenějším způsobem (ano, kód je ve skutečnosti jednodušší verze toho, co by to mohlo být). Napsali bychom kód, ten by se zkompiloval do něčeho, čemu počítač rozumí, a pak by se to provedlo. Takže shrnuto, kód-kompilujte-spusťte.

Proč Swift?

Nyní si dokážete představit, že nejvhodnější otázkou je „Proč?“. C, jazyk je ze 70. let, v té době prolomil zcela novou půdu, pak přišla jeho odnož, Objective C v 80. letech. Apple od té doby tuto platformu používá k vývoji. Logika velí „pokud to není rozbité, neopravujte to“, a pokud to funguje 30 let v řadě, v čem by mohl být problém? No, to. Apple používá Objective C již desítky let. Čas na něco rychlejšího, výkonnějšího, jednoduššího. Zadejte Swift.

Podle oficiální ebook na Swift (k dispozici 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 C. Swift přijímá bezpečné programovací vzory a přidává moderní funkce, aby bylo programování jednodušší, flexibilnější a zábavnější. Čistý štít Swift, podporovaný vyspělými a oblíbenými frameworky Cocoa a Cocoa Touch, je příležitostí k přehodnocení toho, jak vývoj softwaru funguje.“

Proč je Swift důležitý?

Jakkoli by si Apple přál, abyste věřili v jejich inovaci z celého srdce, objevila se myšlenka „skriptovacího“ jazyka. Tradiční parametry code-compile-execute vyžadují, abyste svůj kód viděli v akci až po jeho zkompilování. Kompilace vám přesně ukáže, co váš kód umí. Pokud váš kód obsahuje chyby, kompilace bude mít za následek chybné chování nebo selhání. Úkolem kodéra pak bude vystopovat, kde se chyba nachází, opravit ji a pak začít znovu. Tento proces je náročný a časově náročný, ale je to něco, s čím svět programování vždy žil; je to tak, jak to vždy bylo. Skriptovací jazyky se spouštějí řádek po řádku, takže můžete vidět výsledky během psaní, což eliminuje potřebu později kontrolovat chyby v kódu. Urychlení procesu a mnohem jednodušší.

K dnešnímu dni byly skriptovací jazyky omezené ve svých schopnostech. Vezměte si například Python, je rychlý, ale je také omezen na jednodušší věci s omezenými schopnostmi. Jako auto Forumla1, skvělé na závodění, ne tolik na nákup potravin.

Pokud chcete vytvořit hru, pak Python není vaším oblíbeným prostředím. Objective-C však je (nebo C++, pokud používáte Windows). Nyní Swift slibuje to nejlepší z obou (ve skutečnosti mnoha) světů, přičemž se inspiruje Objective-C, Rust, Haskell, Ruby, Python, C#, CLU a příliš mnoha dalšími, než aby je bylo možné uvést (odkaz: vývojář/expert Swift Chris Lattner). Swift tvrdí, že si ponechává dobré věci a ztratí špatné věci z výše uvedeného. V klíčových benchmarcích je jeho provádění rychlejší než Python a mnohem rychlejší než Objective-C, takže je na dobrém začátku.

co ještě dělá?

Swift také přináší vizuální prostředí v reálném čase zvané „hřiště“, kde můžete v reálném čase vidět kompilovaný výsledek, podobně jako skriptovací jazyk. To na základě designu aplikace může zkrátit celé procesy na několik minut, protože pokud se něco pokazí, okamžitě budete vědět, co to způsobilo, a můžete to řešit přímo tam. Je to programovací ekvivalent opravy chyby na výtisku oproti opravě červeně podtrženého slova za pochodu. Umožňuje rychleji vytvářet složité aplikace.

Jde to trochu hlouběji. U jazyků na vysoké úrovni 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 C++ byste potřebovali a , abyste mohli ve svém kódu používat základní vstup, výstup a datové typy. Ve Swiftu však nic z toho není nutné. Nepotřebovali byste deklarovat žádné knihovny, protože Swift bude spravovat, co každý datový typ a funkce io (vstup/výstup) potřebuje, a sám tuto knihovnu zapojí. Takže tisk něčeho tak jednoduchého, jako je „Ahoj světe“, vychází

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

na jednoduché:

println("Hello, world")

To je celý kód, který je třeba zkompilovat. Také si všimnete, že kód nepoužívá obávané „;“ jako univerzální znak koncového prohlášení.

Jaké jsou nevýhody?

Existence Swiftu tedy neznamená okamžitou smrt Objective-C a všech jeho způsobů. Aplikace lze stále vytvářet pomocí Objective-C a nativní uživatelé Objective C se nebudou cítit úplně odcizení, protože v těchto prostředích existují podobnosti. Protože Apple právě strávil 4 roky prací na novém programovacím jazyce, zaměří se samozřejmě na prosazování a podporu Swiftu, nyní i v budoucnu. Možná jednoho dne vymažou Objective-C z análů programovacích jazyků Applu, ale ten den dnes není. I když je k dispozici nový jazyk, který se dá tak snadno naučit a je mnohem rychlejší, proč by ho někdo prosazoval s Objective-C?

Existuje samozřejmě několik obav, bezprostřední je otřes tohoto odvětví. Celá kariéra byla vytvořena kolem učení lidí, jak vytvářet aplikace pro iPhone, tyto kariéry a jejich studenti okamžitě zastarali, na této frontě bude spousta restrukturalizací. Dostaneme také novou řadu raných adaptérů pro Swift (Flappy Birds již vytvořené pomocí Swift), což je dobrá věc, stejně jako špatná. Je dobře, že do organismu bude vstříknuta nová krev, špatná je, že tato nová krev bude nezkušená a zaplaví trh špatně vyrobenými aplikacemi.

Brzy budeme diskutovat o kovovém frameworku společnosti Apple, diskutovat o jeho výhodách a nevýhodách, zejména při hraní na iOS.

Závěr

V případě, že vás zajímá, proč nebyl na konferenci WWDC 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. Tak tohle byla doslova největší novinka všech dob. Že dostáváme nové ovládání softwaru, které v budoucnu změní tvář veškerého hardwaru. Abyste získali Swift, budete potřebovat Xcode 6 beta a Developer ID.

Získejte Swift zde