Google I/O 2014: Co nowego dla programistów
Patrząc na ogromne zainteresowanie konferencją Google I/O ze strony technologicznej prasy i technologicznych blogów, można zapomnieć, że jest to konferencja przeznaczona dla programistów. Po prostu nowości programistyczne, typu nowe API czy biblioteka nie są tak widowiskowe i tak naprawdę w trakcie prezentacji otwierającej schodzą na drugi plan. Podobnie było niedawno w trakcie Apple WWDC. Google jednak, jak każda firma technologiczna dostarczająca platformy do rozwoju aplikacji i ich dystrybucji, rozumie, że jej los tak naprawdę zależy od zainteresowania niezależnych twórców oprogramowania.
Co więc nowego pojawiło się dla programistów na Google I/O 2014? W trakcie tegorocznej, siódmej już konferencji I/O, zaprezentowanych zostanie wiele nowych tematów, z grubsza pogrupowanych w trzy kategorie tematyczne: design, develop, distribute (projektuj, twórz, rozprowadzaj). Są to, według Google, trzy podstawowe etapy powstawania każdej aplikacji.
Projektowanie
Część poświęconą projektowaniu aplikacji zdominował Material Design. Zestaw funkcji i wskazówek dla programistów jak tworzyć nowe interfejsy użytkownika. Material design to nowa metafora na elementy interfejsów, ich wzajemnego położenia w przestrzeni, i nowa dynamika ich poruszania. Material Design dostępny jest nie tylko dla aplikacji natywnych Android - można go wykorzystywać również w webowym frameworku Polymer.
Material Design będzie częścią kolejnej wersji Androida, oznaczonej w tej chwili jako Android L. Ponieważ nazwy poszczególnych wersji to były nazwy słodyczy/pożywienia, stawiam na lollipop.
Tworzenie
Po raz pierwszy chyba programiści mają możliwość przyjrzenia się programowaniu na następną wersję Androida jeszcze przed premierą. L Developer Preview będzie dostępna już od jutra. Twórcy oprogramowania będą mogli zmierzyć się z nowymi cechami i funkcjami takimi jak:
- Material Design - tworzenie aplikacji w nowej estetyce
- Ulepszone powiadomienia - pokazywanie wiadomości użytkownikowi bez odblokowywania urządzenia, oraz powiadamianie "na wierzchu" innych aplikacji
- Deep-linking czyli traktowanie części aplikacji jak dokumentu, który można np. umieścić w ikonie lub pokazać jako "ostatnio otwierane"
- Project Volta - zestaw narzędzi ułatwiających oszczędzanie energii na urządzeniu
- BLE Peripheral Mode - umożliwia napisanie aplikacji, które zamienia sprzęt z androidem w urządzenie peryferyjne przekazujące dane z sensorów (np. akcelerometru) innym urządzeniom przez Bluetooth.
- Multi-networking - funkcja umożlwiająca aplikacji mieć wpływ na to, do jakiej sieci się podłączymy (np. na podstawie jej cech)
Jako część usług związanych z Google Play Services 5.0, programiści otrzymają do swoich rąk między innymi:
- Narzędzia umożliwiające pisanie aplikacji na Android Wear - urządzenia ubieralne.
- Nowe funkcje dla programistów gier, takie jak wsparcie dla nowych profili Google Play Games lub możliwość tworzenia tzw. questów jako ściągalnego DLC dla aplikacji, bez konieczności jej aktualizowania. Dodatkowo, Android zyskuje nowe funkcje graficzne, wsparcie dla OpenGL ES 3.1, oraz Android Extension Pack. Gry będą mogły również zapisywać postępy i statystyki gracza w chmurze.
- Drive - nowe metody związane z zapisywaniem i otwieraniem plików i folderów.
Swoje SDK (Software Development Kit - zestaw narzędzi dla programistów) otrzymają również:
- Android TV - można będzie przygotować aplikacje na nadchodzącą platformę wykorzystującą telewizory.
- Google Cast - umożliwi dzielenie treści naszej aplikacji na Google Chromecast
- Android Auto - zapowiedziano możliwości pisania aplikacji na samochody z Androidem
- Google Fit - Zapisywanie, odczytywanie i analiza danych związanych z ruchem i sportem. Partnerami Google w tej branży są m.in. Adidas, Nike i Runtastic.
- Gmail API - umożliwia dodanie zaawansowanych funkcji Googlowej poczty do naszych aplikacji.
Dystrybucja
Tutaj Google ma do zaoferowania zarówno istniejące już wcześniej jak i nowe funkcje swojego systemu dystrybucji aplikacji, czyli sklepu Google Play.
- Twórcy oprogramowania mogą wspomagać testowanie swoich programów poprzez stosowanie kodów alfa i beta rozdawanych użytkownikom.
- Google Play Developer Publishing API pozwoli zarządzać i zautomatyzować budowanie i wysyłanie aplikacji do sklepu.
- Konsola deweloperska w Google Play będzie udostępniać więcej informacji na temat zachowań użytkowników. Dla przykładu, otrzymamy zawiadomienia o zdarzeniach typu wzrost liczby deinstalacji naszego produktu. Również statystyki pochodzące z Google Play Games znalazły tam swoje miejsce.
- Aplikacje mogą otrzymać również swoje miejsce w wynikach wyszukiwania - jeśli mamy zainstalowaną aplikację np. Allegro i zaczniemy wyszukiwać "allegro wędka", jednym kliknięciem będziemy mogli otworzyć aplikację Allegro na kategorii "Sprzęt wędkarski".
Nic tylko programować
Google próbuje "dopieścić" niezależnych twórców oprogramowania i chyba mu to wychodzi. Trudno po zaprezentowaniu wszystkich nowości nie czuć, że naprawdę zależy im na wygodzie tworzenia programów na platformę Android. Należy pamiętać że jeszcze sporo nowości nas czeka - konferencja Google I/O dopiero się rozpoczęła. Również bariera wejścia na rynek Google / Android nie jest duża - wystarczy zarejestrowane konto deweloperskie na Google, wszystkie narzędzia i biblioteki są dostępne dla programistów za darmo.