Aurelia.io to JavaScriptowy frontendowy framework służący do tworzenia webowych aplikacji. Cechy narzędzia można znaleźć na oficjalnej stronie aurelia.io, także nie będę się nad nimi rozwodził. Projekt rozpoczął się w grudniu 2016, wtedy padła decyzja o wyborze tego frameworka. Zadanie polegało na napisaniu Custom Receivera – aplikacji która będzie na Google Chromecast wyświetlać treści video. Projekt zbliża się do końca, ale już mogę powiedzieć, że Aurelia.io sprawdziła się znakomicie.

Aplikacja oparta o framework Aurelia.io

Nasza aplikacja musiała między innymi odtwarzać video z DRM, obsługiwać różne stany aplikacji(router), płynne przejścia pomiędzy zmianami UI, komunikować się z backendem, wysyłać statystyki i przede wszystkim w miarę płynnie działać na niezbyt mocnym urządzeniu Google Chromecast. Z mojego doświadczenia, mogę powiedzieć że pisać kod w Aurelia.io to była przyjemność. Napisałem już trochę apek w Angular 1, ale z Aurelią wcześniej nie miałem nic do czynienia. Mimo to, wdrożyć się w ten framework było stosunkowo łatwo. W końcu Rob Eisenberg, główny lider projektu Aurelia.io, wcześniej przez 10 miesięcy współtworzył Angulara 2.

Nowy projekt z Aurelia.io

W celu stworzenia aplikacji opartej na Aurelii, najprościej będzie użyć do tego Aurelia CLI. Czyli narzędzia konsolowego, który utworzy nam nowy projekt. Dokumentację do niego możesz znaleźć w oficjalnej dokumentacji Aurelia CLI.

Instalacja Aurelia CLI:

npm install aurelia-cli -g

Stworzenie nowego projektu

au new

Uruchomienie projektu

au run

Zbudowanie projektu

au build

Kiedy projekt jest już gotowy do rozwijania, to nie pozostaje nic innego jak zapoznać się z dokumentacją i zacząć się wdrażać.

Podsumowanie

Szczególnie fajne w Aurelii jest to, że stara się być niewidoczna i głównie pisze się aplikację w czystym ES 2016. Chociaż kiedy już trzeba się „zetknąć” z Aurelią okazuje się, że jest bardzo restrykcyjna i potrafi sprawić problem, chociaż myślę że głównie na początku, zanim się jeszcze do niej nie przyzwyczaimy. Dla przykładu customowy filtr nam nie zadziała, dopóki nie wpasujemy się w konwencję nazewnictwa Aurelii i na końcu nazwy klasy nie znajdzie się „ValueConverter” np. „DateFormatValueConverter”. Mimo wszystko po 2 miesiącach pracy okazuje się, że fajny framework z tej Aurelii.