Wczoraj programiście iOS mieli swój „dzień dziecka”, ponieważ Apple wypuściło SDK dla iOS 8, a wraz z nim aż 4 tysiące nowych API. Oprócz wspomnianych API, zostały zaprezentowane zupełnie nowe frameworki takie jak HealthKit oraz HomeKit. Niektóre z nich zostały specjalnie dopasowane pod nową funkcję integracji iOS oraz OS X, między innymi WebKit, o którym wczoraj pisałem.
Swift – nowy język programowania
Na początku, skupię się na gwieździe tej części prezentacji, czyli nowym języku programowania przygotowanym specjalnie dla Cocoa i Cocoa Touch o nazwie Swift. Według Apple, jest nowoczesny, szybki, mocny i przede wszystkim bezpieczny od nieprzewidzianych sytuacji (jak np. wyciek pamięci).
Swift jest rezultatem ostatnich badań nad językami programowania oraz lat doświadczenia związanych z budowaniem platform Apple. Duża część parametrów znana z obiektowego C, została przedstawiona za pomocą pojedynczej składni, dzięki której łatwiej jest utrzymać kod w ryzach. Dzięki również wielu zdefiniowanym przestrzeniom nazw, wyeliminowaniu konieczności wpisywania nagłówka, bibliotek (chyba, że potrzebujemy) oraz średników, kod jest dużo bardziej czytelny niż dotychczas. Programista nie musi się także martwić o przydziały pamięci, bo te są realizowane automatycznie.
Wraz ze Swift, Apple udostępnia Playgrounds, które pozwala programistom na sprawdzenie działania kodu w czasie rzeczywistym na bocznym panelu. Długo nie trzeba było czekać na pełne pozytywów reakcje ze świata deweloperskiego. Jak mówi programista John Gruber, Swift jest przyszłością całego dewelopingu Apple i jego pojawienie się to bardzo duża, i bardzo dobra wiadomość.
CloudKit
iCloud został częściowo otwarty dla deweloperów za pomocą potężnego framework o nazwie CloudKit. Pozwala on zaoszczędzić sporo czasu na dosyć żmudnym wpisywaniu kodu odpowiadającego za serwer, a dodatkowo programiści mogą wykorzystać miejsce w chmurze Apple.
Poznaj pełen potencjał iCloud oraz buduj związane z nim aplikacje za pomocą framework CloudKit. Od teraz, możesz bardzo szybko i bezpiecznie wysyłać i pobierać pliki takie jak bazy danych, bezpośrednio z serwera iCloud. CloudKit oferuje również użytkownikom Twojej aplikacji anonimowe zalogowanie się za pomocą iCloud Apple ID, bez konieczności dzielenia się personaliami.
Jeszcze więcej nowych API
Jak pisałem wcześniej, Apple dodało mnóstwo nowych API, aby programiści mogli w pełni wykorzystać potencjał jaki drzemie w iOS. „Extensibility” pozwala na komunikację pomiędzy aplikacjami. Przykładowo, aplikacja Pinterest będzie zaktualizowana o możliwość dzielenia się informacjami za pomocą Safari, a np. Bing, będzie mógł dostarczać tłumaczenia za pomocą przeglądarki Apple. Innym przykładem jest tutaj aplikacja Zdjęcia, w której przy edycji fotografii możemy użyć filtrów aplikacji firm trzecich, takich jak VSCO.
Aplikacje z App Store wraz z iOS 8 będą mogły również wysyłać widgety na panel „Dzisiaj” w centrum powiadomień. Dla przykładu, aplikacja ESPN będzie mogła dodać informację o wynikach meczów, co odciąży użytkowników od konieczności uruchamiania samego programu. Widżety będą w pełni interaktywne – przykładowo, aplikacja Allegro będzie mogła nam przypomnieć o przebiciu naszej oferty w aukcji. Do tego, bez konieczności uruchamiania programu, bezpośrednio z Centrum Powiadomień, będziemy mogli złożyć nową ofertę.
Apple odblokowało dla deweloperów mnóstwo nowych rzeczy. Nowością jest możliwość instalowania nowych „klawiatur” i zmiany tej domyślnej, znanej z iOS, na chociażby Swype. Koderzy mogą też skorzystać z potencjału TouchID, pozwalając takim aplikacjom jak Mint na logowanie się za pomocą skanu linii papilarnych zamiast tradycyjnego hasła.
HomeKit
Zgodnie z oczekiwaniami, wprowadzono specjalny framework do obsługi automatyki domowej (ew. jak kto woli, domów inteligentnych) o nazwie HomeKit. Za jego pomocą, aplikacje zarządzające automatyką domową, będą mogły korzystać z jednoczesnych protokołów (gdzie dotychczas trzeba było ustawiać własne) oraz bezpiecznych parowań. Pozwala to przykładowo systemom oświetleniowym Phillips na korzystanie z Siri. Użytkownicy mogliby powiedzieć „Siri, wyłącz światła”, aby system wyłączył oświetlenie w całym domu. Analogicznie tyczy się to innych rzeczy, które są zarządzane dzięki automatyce domowej.
Metal
Deweloperzy gier na iOS będą mieli nie lada gratkę, ponieważ Apple specjalnie dla nich wypuściło framework o nazwie Metal (Hell yeah! :)). Wraz ze SceneKit oraz SpriteKit pozwali twórcom na stworzenie oprawy graficznej dorównującej tytułom znanym z konsol obecnej i poprzedniej generacji. Przykładowo, EA mogło bezproblemowo użyć technologii Frostbite na iOS, za pomocą gry Plants vs Zombies: Garden Warfare.
Xcode
Xcode oczywiście został zaktualizowany o najnowsze funkcje, w tym testowanie wydajności, testowanie aplikacji w czasie rzeczywistym, renderowanie w czasie rzeczywistym, storyboardy i dużo, dużo więcej. Jest dostępny od wczoraj wraz z iOS 8 beta i na chwilę obecną, tak jak i beta nowego systemu mobilnego, jest dostępny jedynie dla zarejestrowanych deweloperów. Premiera dla wszystkich użytkowników odbędzie się jesienią tego roku.
Skąd wziąć informacje na temat języka Swift
Nawet jeśli nie należysz do grona deweloperów, nic nie przeszkadza, aby już teraz rozpocząć naukę języka Swift. Na stronie Apple jest dostępny kompletny samouczek. Udostępniono go także w postaci e-booka bezpośrednio w iBookstore:
[appstore id=881256329]