Nowe wydanie Astro 5.1 wprowadza sesje i ulepszone narzędzia Astro Actions
Zespół Astro nie próżnował tuż przed okresem świątecznym, publikując 19 grudnia nową wersję 5.1 swojego popularnego frameworka do tworzenia stron internetowych. Aktualizacja przynosi ze sobą kilka interesujących funkcji, w tym eksperymentalne wsparcie dla sesji użytkownika oraz ulepszone mechanizmy buforowania obrazów. Nowości te zostały ogłoszone przez jednego z głównych opiekunów projektu, Matta Kane’a.
Astro 5.1 zawiera również dodatkowe narzędzia dla Astro Actions. Jest to funkcjonalność umożliwiająca definiowanie i wywoływanie funkcji backendowych, takich jak pobieranie danych, parsowanie JSON czy walidacja danych wejściowych, zapewniając jednocześnie pełne bezpieczeństwo typów.
Nowa koncepcja sesji w Astro pozwala na śledzenie danych użytkownika, takich jak status logowania, wiadomości tymczasowe czy zawartość koszyka zakupowego. Co istotne, całość odbywa się bez potrzeby przechowywania informacji po stronie klienta. Dane są zapisywane na serwerze, a jedynie identyfikator sesji jest przekazywany do przeglądarki w postaci ciasteczka. Dzięki temu można bezpiecznie odczytywać i modyfikować te informacje w stronach i komponentach Astro, API, Astro Actions oraz middleware.
Dodatkowo, aktualizacja wprowadza funkcję buforowania obrazów zdalnych, co znacząco optymalizuje proces budowania stron. Wcześniej buforowanie ograniczało się jedynie do lokalnych grafik. Teraz Astro przechowuje również obrazy pochodzące zewnętrznych źródeł, ograniczając konieczność ich ponownego pobierania i przetwarzania przy każdej kompilacji strony. Mechanizm wykorzystuje nagłówki If-Modified-Since oraz If-None-Match, aby sprawdzić aktualność plików i korzystać z zapisanego wcześniej obrazu, jeśli oryginał nie uległ zmianie.
Boa – nowy silnik JavaScript napisany w Rust
Pod koniec 2024 roku światło dzienne ujrzała wersja 0.20 eksperymentalnego kompilatora Boa, który został stworzony w języku Rust. Boa pełni rolę interpretera JavaScriptu zaprojektowanego z myślą o łatwej integracji z innymi projektami oraz uruchamianiu skryptów w środowisku WebAssembly.
Projekt Boa ma również na celu dostarczenie implementacji standardu ECMAScript w języku Rust, co pozwala na korzystanie z jego zalet, takich jak wydajność, bezpieczeństwo i równoczesne wykonywanie kodu. Jednym z kluczowych elementów nowej wersji jest obsługa API Temporal – nowego zestawu obiektów w JavaScript, mającego na celu zastąpienie przestarzałej klasy Date. Temporal oferuje bogatszy i bardziej elastyczny interfejs do zarządzania datami i czasem.
Dodatkowo, nowa wersja Boa obsługuje funkcję Atomics.pause
, która jest na etapie trzeciej fazy specyfikacji TC39 i pozwala na zatrzymanie wykonywania wątku na określony czas. Deweloperzy zainteresowani testowaniem kompilatora mogą skorzystać z dedykowanego środowiska testowego dostępnego na oficjalnej stronie Boa.
Aktualizacja Flutter 3.27 i języka Dart
Google opublikował wersję 3.27 swojego frameworka Flutter, który umożliwia tworzenie aplikacji mobilnych na różne platformy, w tym iOS, Androida, Windows, macOS, Linux oraz przeglądarki internetowe. Jednym z głównych usprawnień w tej edycji jest dalsza optymalizacja rendererów graficznych Impeller oraz poprawa komponentów znanych jako Cupertino Widgets.
Zmiany objęły także narzędzia deweloperskie DevTools, które zyskały nowe funkcje, jak walidacja ustawień deep linków na iOS czy usprawnienia w pracy z danymi offline. Ważną nowością jest możliwość odzyskiwania ostatnich danych dotyczących pamięci po awarii aplikacji, co eliminuje jedną z dotychczasowych niedogodności.
Flutter 3.27 wprowadza także eksperymentalną funkcjonalność obsługi WebAssembly, co otwiera nowe możliwości w zakresie wydajności aplikacji uruchamianych w przeglądarce. Google podkreśla, że rozwój Fluttera jest efektem współpracy szerokiego grona deweloperów – w najnowszej wersji znalazło się ponad 1400 poprawek od 187 różnych kontrybutorów.
Jeśli chodzi o język programowania Dart, który stanowi podstawę Fluttera, w grudniu został on zaktualizowany do wersji 3.6. Najważniejsze nowości to wprowadzenie separatorów cyfr w długich liczbach (za pomocą podkreślnika _
), co zwiększa ich czytelność, a także zmiany w ekosystemie pakietów pub, takie jak liczniki pobrań oraz pub workspaces, które pomagają zarządzać zależnościami w repozytoriach monorepo.
Astro, Boa oraz Flutter to technologie dynamicznie rozwijające się w ekosystemie frontendu i web developmentu. Każda z tych aktualizacji dostarcza nowych narzędzi i optymalizacji, które ułatwiają pracę programistom i mogą mieć istotny wpływ na rozwój nowoczesnych aplikacji internetowych i mobilnych.