Bulldogjob
Bulldogjob

Flutter 2.0 umożliwia tworzenie aplikacji webowych!

Google udostępnił właśnie Flutter 2.0. Najnowsza wersja umożliwia development aplikacji webowych po raz pierwszy w historii frameworku.
4.03.20213 min
Flutter 2.0 umożliwia tworzenie aplikacji webowych!

Google wydał właśnie Flutter 2, czyli nową wersję swojego frameworku do tworzenia aplikacji na wielu platformach naraz. Największą zmianą w nowej wersji jest to, że Flutter oferuje od teraz możliwość tworzenia aplikacji webowych. Budowanie na plaformę web jest dostępne w stable channel Fluttera, a więc możliwe jest korzystanie z nich na produkcji. Nowa wersja frameworku pozwoli developerom tworzyć aplikacje webowe na takich przeglądarkach, jak Chrome, Firefox, Safari, albo Edge. 

Flutter był wcześniej frameworkiem skupionym głównie na tworzeniu aplikacji mobilnych. Teraz jednak z pojedynczej bazy kodu można wygenerować aplikacje na: Androida, iOS, Windowsa, macOS, Linuksa i przeglądarki. Warto tutaj dodać, że obsługa aplikacji desktopowych nie jest jednak jeszcze stabilna. 

Co więcej, wydaniu nowej wersji Fluttera towarzyszy wydanie wersji 2.12 języka programowania Dart, na którym nasz framework polega. Jego najważniejszym usprawnieniem jest dodanie porządnego null safety, czyli sposobu na unikanie błędów wywołanych niezidentyfikowanymi wartościami. 

Flutter dla Web Developmentu

Obecne wydanie skupia się na 3 głównych scenariuszach web developmentu:

  • Progressive Web Apps, które łączą łatwość dostępu stron internetowych z możliwościami oferowanymi przez aplikacje desktopowe
  • Single Page Applications (SPAs), które uruchamiają się tylko raz i transmitują dane do i od serwisów internetowych
  • Przeniesienie istniejących aplikacji mobilnych do środowiska webowego, co umożliwi dzielenie się kodem w obu przypadkach.


Platforma webowa jest również teraz o wiele bardziej bogata, niż kiedykolwiek. Mamy grafikę 2D i 3D, obsługę offline, oraz dostęp do fundamentalnych elementów systemu operacyjnego oraz sprzętu, na którym się pracuje. 

Wydanie beta obsługujące platformę web we Flutterze nastąpiło rok temu. Od tamtego momentu twórcy zdążyli wyciągnąć wnioski, aby dostarczyć lepsze doświadczenie w budowaniu aplikacji webowych. W tym czasie powstało dużo poprawek w architekturze, dodano nowe funkcje, które rozszerzają i optymalizują Fluttera dla web, oraz skupiono się na usprawnieniach w 4 obszarach:

  • Wydajność
  • Funkcje dotyczące web developmentu
  • Dostosowanie do większych rozmiarów ekranów
  • Wtyczki



W przypadku tworzenia aplikacji webowych mamy dwa tryby renderowania:

Pierwszym trybem renderowania aplikacji jest tłumaczenie scen Fluttera do mieszanki HTML (również z wykorzystaniem Canvas), CSS, JS. Jest on jednak zbyt wolny dla graficznie wymagających aplikacji.

Jest dostępny też drugi tryb wyświetlania, który działa zgoła inaczej. Wokół niego jest więcej kontrowersji - wielu mówiło, że w tym przypadku aplikacje webowe Fluttera bardziej przypominają wtyczki Flasha, niż coś stworzonego przy pomocy HTML, CSS, czy JavaScript. Dzieje się tak, ponieważ za wyświetlanie odpowiada CanvasKit Fluttera, który odwzorowuje komendy silnika Skia w WebAssembly i przy pomocy WebGL. Miejmy nadzieję, że teraz będzie lepiej!

Szczegółowy opis wsparcia dla web we Flutter znajdziecie tutaj.

Podsumowanie

Flutter to framework, który wywołał spore poruszenie, gdy się pojawił. A teraz wspiera wszystkie najważniejsze platformy - mobile, desktop i web. Jest darmowy i open source, co ułatwia rozrost społeczności.

Jeśli chodzi o sam development webowy we Flutterze, to twórcy postrzegają dodanie takiej możliwości jako pewnego rodzaju kamień milowy w historii tego frameworku. W kolejnych miesiącach zobaczymy jak Flutter radzi sobie z mocną pozycją Reacta i Angulara oraz czy zdobędzie rynek developmentu webowego.

Stawiamy na to, że początki będą bardzo trudne, bo i konkurencja jest ogromna. Spodziewamy się, że w pierwszej kolejności szansę na tworzenie z Flutterem aplikacji webowych wykorzystają programiści rozwiązań mobilnych, który już z Flutterem mieli styczność.

<p>Loading...</p>