Flutter 1.0 od Google jest już dostępny
W świecie mobilnego developmentu w ciągu ostatnich kilku miesięcy zrobiło się bardzo głośno o Google Flutter - bibliotece zapewniającej zestaw narzędzi do budowania aplikacji natywnych. Google tym samym rzuciło rękawicę Facebookowi i ich React Native.
Wczoraj, na prawie 5-godzinnym evencie firma z Mountain View ogłosiła wydanie pierwszej stabilnej wersji biblioteki - Flutter 1.0. Przy okazji premierę miało kilka innych narzędzi oraz ogłoszono powstanie projektu Hummingbird, czyli wersji Fluttera dla weba. Podsumujmy najważniejsze nowości.
Co nowego we Flutterze 1.0?
- Wsparcie dla Dart 2.1 - Dart to język, w którym pisze się aplikacje przy pomocy Fluttera. Wczesne bety były oparte o Dart 1.x, który obecnie wygląda na dość przestarzały język. Wraz z wydaniem stabilnej wersji inżynierowie Google zaczęli wspierać najbardziej aktualną wersję języka.
- Dodanie dokładnych co do piksela widgetów na iOS - od jakiegoś czasu zespół pracował nad szlifowaniem wsparcia dla widgetów iOS. Więcej na ten temat tu: https://developers.googleblog.com/2018/09/flutter-release-preview-2-pixel-perfect.html.
- Lepsze wsparcie dla Firebase - dodano wsparcie dla prawie 20 serwisów Firebase.
- Stabilizacja i optymalizacja - sporo pracy poszło w poprawienie wydajności i zmniejszenie rozmiaru zbudowanych aplikacji. W sierpniu tego roku minimalny rozmiar aplikacji na Androida wynosił około 7.5 MB, dziś jest to 4.2 MB, natomiast iOS został odchudzony z ponad 16 MB do 10.8 MB.
- Poprawa wsparcia dla stopniowego wprowadzania Fluttera do aplikacji - Google zdało sobie sprawę, że bardzo wiele zespołów chciałoby stopniowo przerzucać się na ich technologię, przez wprowadzenie ich rozwiązania do już istniejących aplikacji. W tym releasie poprawiono wsparcie dla takiego scenariusza przez poprawienie instrukcji, ułatwienie współdzielenia assetów, czy ułatwienie debugowania.
- Wsparcie dla osadzania widoków (Platform View) - chodzi o osadzenie elementów takich jak Google Maps czy WebView, w ramach UI zarządzanego przez Fluttera. Tu Google przyznaje, że integracja nie jest jeszcze idealna i będą pracować nad stabilnością i wydajnością tego rozwiązania.
- Eksperymentowanie z nowymi platformami - Google chce rozszerzyć wsparcie platform z iOS i Android na np. Windows, OSX, Linux czy nawet Raspberry Pi.
Hummingbird
Kod projektu we Flutterze kompiluje się do natywnego kodu na ARM. Google wpadło na pomysł, że ten sam kod można by skompilować do… JavaScript i tym samym przenieść aplikacje Flutter do świata web. W tym momencie jest zbudowany prototyp takiego rozwiązania. Kod biblioteki jeszcze nie jest publiczny, ale można zobaczyć pierwsze proste dema używające Hummingbirda:
Demo wygląda całkiem nieźle jak na wczesny prototyp.
Powstaje jednak pytanie, czy sam pomysł używania kodu w głównej mierze stworzonego pod mobile sprawdzi się na webie. To odwrócenie trendu, który coraz wyraźniej rysuje się w ostatnich latach - uruchamianie kodu webowego na mobile’u. Doczekamy się prawdziwego mobile first?
Co dalej?
Google Flutter wygląda bardzo obiecująco, ale rzeczywistość jest taka, że ma dobrze sprawdzonego w bojach konkurenta. Chodzi o React Native. React jest stabilny, zgarnął całkiem spory fragment rynku i przeszedł już falę hype’u. Poza tym używa języka, który zna praktycznie każdy, czyli JavaScriptu. Czas pokaże, czy technologia od Google poradzi sobie z konkurentem.
Jeżeli chcesz wiedzieć więcej o tematach przedstawionych w tym krótkim podsumowaniu, to odsyłamy do:
- Artykułu Cinkciarz.pl o doświadczeniach z używania bety Google Flutter: https://bulldogjob.pl/articles/920-czy-warto-uzyc-google-flutter
- Playlisty z eventu Flutter Live: https://www.youtube.com/watch?v=D-o4BqJxmJE&list=PLOU2XLYxmsILq4ysYNWXq5TOGLgYDJgVD
- Technicznego artykułu o Hummingbird: https://medium.com/flutter-io/hummingbird-building-flutter-for-the-web-e687c2a023a8