7 min read

Polski frontend i backend newsletter @ typeofweb.com #3

Hej! Witam w trzecim wydaniu newslettera Type of Web. Ogromne podziękowania za feedback (bardzo pozytywny!) i zainteresowanie współpracą. Zachęcam kolejne osoby do odzywania się 🤗 Nie przedłużając: lecimy!

Frontend

React Router 6

Nie wierzyłem, że ta wersja kiedykolwiek wyjdzie z fazy alfa, ale stało się! To jest to, na co wszyscy czekali: nowa wersja nie tylko jest o połowę lżejsza, ale również dodaje kilka ciekawych możliwości… Koniecznie ogarnijcie komponent <Outlet>, a także zagnieżdżone route'y!

React Router v6

Next.js 12

Ostatnio celowo pominąłem informację o Next.js 12 bo chciałem najpierw zrobić upgrade i samemu przetestować. Cóż. Niestety nie udało mi się – ani na typeofweb.com ani na polskifrontend.pl nie mogę poprawnie zbudować strony po zrobieniu aktualizacji do Next 12. Nie twierdzę, że to jakiś ogólny problem, ale…

Z ciekawych zmian: pojawiło się wsparcie dla React Server Components, a część narzędzi odpowiedzialnych za build zostało przepisane w Rust co w teorii ma dawać znaczne przyśpieszenie procesu budowania. Zresztą poczytajcie sami:

Next.js 12
Next.js 12 introduces a brand-new Rust compiler, Middleware (beta), React 18 Support, Native ESM Support, URL Imports, React Server Components (alpha), and more!

A tu więcej na temat „przyśpieszenia” budowania aplikacji dzięki przepisaniu części narzędzi w Rust:

Next.js 12 Performance Test: Builds Appear to be Slower, Not Faster · Tom Norton, Freelance Designer & Developer
Freelance Designer & Developer. Part-time blogger.

Photoshop w przeglądarce

Większość z Was pewnie kojarzy darmową przeglądarkową alternatywę dla Photoshopa, czyli Photopea (a jeśli nie to koniecznie obczajcie, mega narzędzie!) Teraz „oficjalny” Photoshop również wchodzi do przeglądarek i to z rozmachem. Fantastyczny artykuł opisujący jak łatwo było skompilować kod C++ do WebAssembly.

Photoshop’s journey to the web
Over the last three years, Chrome has been working to empower web applications that want to push the boundaries of what’s possible in the browser. One such web application has been Photoshop. The idea of running software as complex as Photoshop directly in the browser would have been hard to imagine…

State of CSS 2020

Już jakiś czas temu pojawiły się wyniki State of CSS 2020 i wracam do tego tylko dlatego, bo myślę, że warto poprzeglądać jakie to nowinki w CSS się pojawiają. Znacie @container? A color-gamut? Zachęcam do przejrzenia. Przy okazji: odpowiedzi z edycji 2021 są teraz obrabiane i nie mogę się doczekać publikacji.

The State of CSS Survey
The annual survey about the latest trends in CSS.

Polly.JS

Trochę slowpoke, ale dopiero niedawno odkryłem to cudowne narzędzie. Polly.js od Netfliksa to biblioteka wspomagająca testy integracyjne – w szczególności takie, gdzie musimy testować części aplikacji, które polegają na jakichś zewnętrznych serwisach (API). Chcielibyśmy testować na „prawdziwych” danych, ale przecież nie możemy polegać na tym, że jakieś tam obce API będzie działać akurat wtedy gdy będziemy odpalać testy… a poza tym są limity liczby zapytań.

Polly ten problem rozwiązuje nagrywając odpowiedzi HTTP z zewnętrznych serwisów, aby potem móc je odtworzyć w czasie uruchamiania testów. Proste, genialne, używamy tego teraz w projekcie i sprawdza się fenomenalnie.

Polly.JS
Standalone, framework-agnostic JavaScript library that enables recording, replaying, and stubbing HTTP interactions.

Backend

BullMQ (dawniej Bull.js)

Tak, wiem, pewnie to znacie… no ale ja nie znałem 🤣 Bull.js to implementacja kolejki dla Node.js w oparciu o Redisa. Współbieżnie, bezpiecznie, lekko. Polecam. Warto zwrócić uwagę, że od dłuższego czasu twórcy Bull.js rozwijają równolegle zupełnie nową wersję Bull o nazwie BullMQ – całkowicie przepisaną w TypeScripcie.

GitHub - taskforcesh/bullmq: BullMQ - Premium Message Queue for NodeJS based on Redis
BullMQ - Premium Message Queue for NodeJS based on Redis - GitHub - taskforcesh/bullmq: BullMQ - Premium Message Queue for NodeJS based on Redis

Neon – natywne moduły Node.js w Rust

Rust, Rust i jeszcze raz Rust. Język uwielbiany przez tysiące programistów i programistek (wybrany "The Most Loved Language" wg. StackOverflow Developer Survey 2020 i 2021). Myślę, że o Ruście będę mówić co raz częściej, szczególnie jeśli chodzi o tandem Node-Rust.

Poznajcie Neon, czyli narzędzie pozwalające na pisanie natywnych modułów Node.js w Rust. Dostajemy wydajność, wątki i równoległość i dostęp do całego ekosystemu Rusta i jego paczek. Ale, co chyba najważniejsze i co odróżnia pisanie natywnych modułów w C++ od Neon/Rust, to bezpieczeństwo: kompilator Rusta dba, żebyśmy nie zrobili sobie niskopoziomowej krzywdy. Zachęcam do eksperymentowania.

Neon - Electrify your Node with the power of Rust! | Neon
Electrify your Node with the power of Rust!

Prisma 3.4.0

Wyszła nowa wersja mojego ulubionego narzędzia do pracy z bazami danych, czyli Prismy. A co w niej? Wsparcie dla PostgreSQL 14 i rozszerzona współpraca z MongoDB, a w kliencie Golang doszło filtrowanie po kolumnach typu JSON.

Release 3.4.0 · prisma/prisma
Today, we are excited to share the 3.4.0 stable release 🎉🌟 Help us spread the word about Prisma by starring the repo or tweeting about the release. 🌟 Major improvements & new featuresSupport for...

Prisma Data Platform

Od niedawna mam też dostęp do Early Access nowego chmurowego narzędzia od prismy, a mianowicie Prisma Data Platform i Data Proxy. Wreszcie!

Prisma Data Platform (Concept)
The Prisma Data Platform (Early Access) provides a collaborative, cloud-based environment supporting application developers who are using Prisma and other open source tools. The main features of the Platform include a visual data browser, query console, a data proxy (purpose-built for Prisma!), and…

PostgreSQL 14

Jakoś mnie ominął ten newsik: ukazał się nowy Postgres. Poprawki dla JSON, poprawki wydajności i lepsze przetwarzanie rozproszone. Wszystkie szczegóły znajdziecie we wpisie poniżej.

PostgreSQL 14 Released!
The PostgreSQL Global Development Group today announced the release of [PostgreSQL 14](https://www.postgresql.org/docs/14/release-14.html), the latest version of the world’s [most advanced …

TypeScript 4.5 jednak bez wsparcia dla modułów ESM w node.js

Jedną z najważniejszych zmian, które miały się pojawić w TS 4.5 było pełne wsparcie dla modułów ESM w Node.js. Niestety, ze względu na trwające dyskusje i różne kontrowersje, usunięto tryb nodenext z tej wersji i ma się on pojawić ponownie w przyszłości. Aktualnie jest dostępny tylko w wydaniach nightly do testów. Ja oczywiście od kilku tygodni używam go produkcyjnie 😇

TypeScript delays ESM support for Node.js
Version 4.5 of Microsoft’s strongly typed JavaScript has moved to a release candidate stage, with new module settings to support Node.js deferred to a future release.

Wideo

Konferencja Next.js Conf 2021 (cała playlista).

Migracja Nuxt do wersji 3 (live z twórczyniami i twórcami)

Wydarzenia

Mam dwie ciekawe konferencje na celowniku. Obie niestety online:

Serverless Conference 2021

Konferencja Prismy pod hasłem "Bazy danych w erze serverless". 18. listopada o godzinie 12:00.

Serverless Conference 2021
Join us for Serverless Conference, Nov 2021. Adopting serverless comes with many challenges. During this event, you’ll learn how to implement flexible, scalable, and low-cost solutions from industry leaders

React Conf 2021

Na żywo 8. grudnia o 19:00.

React Conf 2021
React Conf 2021

Stopka

Podobało się? Nie podobało się? Daj mi znać. Jeśli coś z wrzuconych tu materiałów Ci się przydało, to daj lajka, udostępniaj, albo po prostu powiedz znajomym. Chętnie przyjmuję też wszelkie sugestie. Dzięki!

Stale poszukuję sponsorów. Chcesz, aby Twoje materiały lub ogłoszenie było tutaj promowane? Odezwij się na [email protected] lub typeofweb.com/wspolpraca.