Sky (is the limit). Dość już Javy, superszybkie aplikacje dla Androida powstaną w języku Dart

Sky (is the limit). Dość już Javy, superszybkie aplikacje dla Androida powstaną w języku Dart02.05.2015 12:10

Aplikacje w Androidzie 5.0 znacząco przyspieszyły – toprzyzna chyba każdy użytkownik urządzeń z Lollipopem, którywcześniej korzystał z poprzednich wersji tego systemu. To zasługazmiany środowiska uruchomieniowego. Kolejne wersje tego systemu mogąich szybkość poprawić jeszcze bardziej: na horyzoncie pojawiłasię możliwość zmiany języka, w którym powstają aplikacje dlaAndroida.

W porównaniu do iOS-a, Android w swoich początkach szybkościąnie grzeszył. Widać to było nie tylko w responsywności interfejsuużytkownika, ale też w szybkości działania większościaplikacji, zarówno systemowych, jak i tych ze sklepu Play. Nie mogłobyć inaczej – oprogramowanie dla iPhone'a czy iPada pisane było wObjective-C i kompilowane bezpośrednio do kodu maszynowego, podczasgdy na Androidzie pisano je zwykle w Javie i kompilowano do kodubajtowego dla wirtualnej maszyny Javy, który był następnietłumaczony na kod bajtowy maszyny wirtualnej Dalvik. Narzutgenerowany w tym procesie potrafił być zaskakująco duży. Niektórebenchmarki pokazywałynawet trzydziestokrotną różnicę w wydajności między aplikacjąnatywną a aplikacją Dalvika na tym samym urządzeniu z Androidem.

Zastąpienie w Androidzie 5.0 Dalvika przez nowe środowiskouruchomieniowe ART poprawiło sytuację. Aplikacje wciąż są pisanew Javie, ale podczas procesu instalacji aplikacji przeprowadzana jestkompilacja wraz kompleksową optymalizacją typu ahead-of-time (AOT),w wyniku czego uzyskujemy natywny kod maszynowy w linuksowym formacieELF. Choć instalacja trwa teraz dłużej, a aplikacje zajmująwięcej miejsca, to zarazem uruchamiają się szybciej, działająoszczędniej (w sensie zużycia energii) i wydajniej – znika narzutgenerowany przez Dalvika.

W zeszłym roku Apple pokazało jednak następcę Objective-C,język Swift, przeznaczony do pisanania oprogramowania na systemy iOSi OS X, określany często jako Objective-C bez C.Nowoczesne struktury języka pozwoliły na efektywniejszewykorzystanie kompilatora LLVM, powstały kod działa nie tylko sporoszybciej, ale jest też bardziej zwięzły i odporniejszy na błędy.Wiele wskazuje na to, że Google chce pójść podobną drogą i Javęzastąpić docelowo swoim językiem Dart, rozwijanym niegdyś jakoniespełniona alternatywa dla JavaScriptu. Dart w Androidzieprzynieść ma niespotykaną szybkość działania i łatwośćintegrowania aplikacji z usługami webowymi.

Dart został stworzony przezautorów silnika skryptowego V8, wykorzystywanego w przeglądarkachChromium i Chrome oraz ich klonach, a także w popularnym frameworkuprogramistycznym Node.js, w nadziei, że uda się nim zastąpić tenbrzydki i koślawy język zwany JavaScriptem. Wyparcie JS okazałosię niemożliwe, przeglądarki do dziś nie mają wirtualnych maszynDarta, więc jedyne co zostawało zwolennikom tego języka, tokompilacja kodu Darta do JavaScriptu. Kilka dni temu jednak naGitHubie zadebiutował projekt, który obiecuje nowe życie dla Darta– Sky. Toeksperymentalny framework interfejsu użytkownika dla mobilnychaplikacji, który pozwolić ma na budowę przepięknegooprogramowania o bardzo wysokiej responsywności, działającegopłynnie z częstotliwością odświeżania 120 Hz. Ta liczba to nieefekt pracy chochlika, deweloperzy Sky naprawdę mierzą w rysowaniekolejnych klatek animacji w czasie 8 milisekund.

[yt=https://www.youtube.com/watch?v=PnIWl33YMwA]

Nawet dzisiaj, z Androidem 5.0,rzadko kiedy udaje się osiągnąć renderowanie animacji 60 Hz(czyli rysowanie kolejnych klatek co 16 ms), szczególnie nasłabszych urządzeniach można zobaczyć, jak animacje potrafią sięzacinać, gdy podsystem grafiki nie zdąży z wyrobieniem się w tymczasie. Tymczasem już dziś w sklepie Play pobrać można zbudowanąna Sky aplikacjętestową, która rysuje klatki w czasie 1,2 ms. Jak to jestmożliwe?

Sercem Sky jest napisany w C++silnik, dostarczający m.in. planistę czasu rzeczywistego i własny,hierarchiczny podsystem grafiki. Nad nim działa szkielet Sky,zapewniający dobrze znane elementy interfejsu – rozmaiteprzyciski, listy, animacje – sterowane programami pisanymi właśniew języku Dart. Architektura frameworka ma gwarantować, żeinterfejsy programistyczne nigdy nie zablokują głównego wątkuinterfejsu użytkownika, dzięki czemu nawet jeśli aplikacja będziespowalniała, interfejs wciąż będzie płynny i responsywny.

Co szczególnie zastanawia, toniezależność kodu pisanego na Sky od platformy. Widać tu wpływyprzeglądarkowego paradygmatu myślenia o oprogramowaniu. Aplikacjetakie mogą działać na dowolnym urządzeniu z maszyną wirtualnąDarta, czy to będzie Android, iOS, czy może nawet Windows. Cowięcej, aplikacje nie są de facto instalowane w systemie, ale sąserwowane z Internetu, po HTTP, tak samo jak aplikacje webowe. Bezpamięci podręcznej nie będą działały offline. Niektórymużytkownikom może się to nie spodobać, ale z perspektywyprogramistów ma to same zalety, ułatwiając aktualizację idystrybucję nowych wersji oprogramowania. Poza tym aplikacje Skyzachowują się w Androidzie całkiem normalnie, mają pełny dostępdo systemowych API, kontrolowane są przez uprawnienia, awykorzystywane przez nie widżety zgodne są z wytycznymi wzornictwaMaterial Design.

Za wcześnie jeszcze mówić, czyto właśnie Dart i Sky będą odpowiedzią Androida na Swifta, alenawet jako eksperyment już teraz robi spore wrażenie. Takresponsywnych aplikacji nie ma nawet na iOS-ie, nie było nawet naSymbianie, a przecież właśnie na responsywność użytkownikgłównie patrzy, oceniając „szybkość” systemu operacyjnego(co pokazała historia Windows Phone, systemu zoptymalizowanegogłównie pod kątem responsywności).

Szanowna Użytkowniczko! Szanowny Użytkowniku!
×
Aby dalej móc dostarczać coraz lepsze materiały redakcyjne i udostępniać coraz lepsze usługi, potrzebujemy zgody na dopasowanie treści marketingowych do Twojego zachowania. Twoje dane są u nas bezpieczne, a zgodę możesz wycofać w każdej chwili na podstronie polityka prywatności.

Kliknij "PRZECHODZĘ DO SERWISU" lub na symbol "X" w górnym rogu tej planszy, jeżeli zgadzasz się na przetwarzanie przez Wirtualną Polskę i naszych Zaufanych Partnerów Twoich danych osobowych, zbieranych w ramach korzystania przez Ciebie z usług, portali i serwisów internetowych Wirtualnej Polski (w tym danych zapisywanych w plikach cookies) w celach marketingowych realizowanych na zlecenie naszych Zaufanych Partnerów. Jeśli nie zgadzasz się na przetwarzanie Twoich danych osobowych skorzystaj z ustawień w polityce prywatności. Zgoda jest dobrowolna i możesz ją w dowolnym momencie wycofać zmieniając ustawienia w polityce prywatności (w której znajdziesz odpowiedzi na wszystkie pytania związane z przetwarzaniem Twoich danych osobowych).

Od 25 maja 2018 roku obowiązuje Rozporządzenie Parlamentu Europejskiego i Rady (UE) 2016/679 (określane jako "RODO"). W związku z tym chcielibyśmy poinformować o przetwarzaniu Twoich danych oraz zasadach, na jakich odbywa się to po dniu 25 maja 2018 roku.

Kto będzie administratorem Twoich danych?

Administratorami Twoich danych będzie Wirtualna Polska Media Spółka Akcyjna z siedzibą w Warszawie, oraz pozostałe spółki z grupy Wirtualna Polska, jak również nasi Zaufani Partnerzy, z którymi stale współpracujemy. Szczegółowe informacje dotyczące administratorów znajdują się w polityce prywatności.

O jakich danych mówimy?

Chodzi o dane osobowe, które są zbierane w ramach korzystania przez Ciebie z naszych usług, portali i serwisów internetowych udostępnianych przez Wirtualną Polskę, w tym zapisywanych w plikach cookies, które są instalowane na naszych stronach przez Wirtualną Polskę oraz naszych Zaufanych Partnerów.

Dlaczego chcemy przetwarzać Twoje dane?

Przetwarzamy je dostarczać coraz lepsze materiały redakcyjne, dopasować ich tematykę do Twoich zainteresowań, tworzyć portale i serwisy internetowe, z których będziesz korzystać z przyjemnością, zapewniać większe bezpieczeństwo usług, udoskonalać nasze usługi i maksymalnie dopasować je do Twoich zainteresowań, pokazywać reklamy dopasowane do Twoich potrzeb. Szczegółowe informacje dotyczące celów przetwarzania Twoich danych znajdują się w polityce prywatności.

Komu możemy przekazać dane?

Twoje dane możemy przekazywać podmiotom przetwarzającym je na nasze zlecenie oraz podmiotom uprawnionym do uzyskania danych na podstawie obowiązującego prawa – oczywiście tylko, gdy wystąpią z żądaniem w oparciu o stosowną podstawę prawną.

Jakie masz prawa w stosunku do Twoich danych?

Masz prawo żądania dostępu, sprostowania, usunięcia lub ograniczenia przetwarzania danych. Możesz wycofać zgodę na przetwarzanie, zgłosić sprzeciw oraz skorzystać z innych praw wymienionych szczegółowo w polityce prywatności.

Jakie są podstawy prawne przetwarzania Twoich danych?

Podstawą prawną przetwarzania Twoich danych w celu świadczenia usług jest niezbędność do wykonania umów o ich świadczenie (tymi umowami są zazwyczaj regulaminy). Podstawą prawną przetwarzania danych w celu pomiarów statystycznych i marketingu własnego administratorów jest tzw. uzasadniony interes administratora. Przetwarzanie Twoich danych w celach marketingowych realizowanych przez Wirtualną Polskę na zlecenie Zaufanych Partnerów i bezpośrednio przez Zaufanych Partnerów będzie odbywać się na podstawie Twojej dobrowolnej zgody.