Polski frontend i backend newsletter @ typeofweb.com #4

Lecimy z czwartym już (nieco spóźnionym) wydaniem biuletynu. Przed Wami kolejna dawka najciekawszych informacji na temat frontendu i backendu z minionego tygodnia.

Frontend

Hydrogen od Shopify

Dość głośno się ostatnio robi na temat wdrażania SSG/ISR w świecie e-commerce. Najbardziej naturalnym wyborem jest tu rzecz jasna Next.js, ale to nie oznacza, że najbardziej znani gracze na tym rynku nie próbują wymyślać swoich rozwiązań.

Hydrogen to framework frontendowy do e-commerce (storefront) bazujący na React.js. Co ciekawe, wykorzystuje React Server Components (alfa!), streamowanie odpowiedzi z serwera (alfa!) i Suspense (beta). Jest to więc ciekawe w szczególności dla osób, które uwielbiają być na bieżąco i eksperymentować. Jestem bardzo ciekaw, jak rozwój tego narzędzia wpłynie na kształt Next.js i samego Reacta.

Hydrogen: Shopify’s opinionated framework for building headless ecommerce
Build unique, performant commerce experiences faster with Shopify’s React-based framework for developing custom storefronts on Shopify.

א Aleph.js

Next.js ale w Deno. Do tego kilka ciekawych zmian w stosunku do oryginału: domyślnie TypeScript, importy z URL-i, bardziej intuicyjne nazwy metod do SSR i SSG. Warto rzucić okiem.

Aleph.js
The Fullstack Framework in Deno.

Tangerine monorepo

TypeScript + monorepo – jakie są Wasze pierwsze skojarzenia? Moje to „dlaczego to działa tak wolno?!”. Tangerine monorepo ma temu zaradzić – jest to projekt łączący yarn workspaces, esbuild i TypeScripta w celu stworzenia najszybszego i najprzyjemniejszego rozwiązania monorepo na rynku.

Speed up your TypeScript monorepo with esbuild
Using esbuild to compile your monorepo’s TypeScript codebase and massively improve your building and testing time

Etsy o przesiadce na TypeScript

Zespół Etsy opowiada o swojej przygodzie z przesiadką na TypeScripta. Od przyjemnych rzeczy czyli poprawy jakości kodu, aż po problemy z wydajnością samego kompilatora i jak temu zaradzili.

Etsy’s Journey to TypeScript
Over the past few years, Etsy’s Web Platform team has spent a lot of time bringing our frontend code up to date. It was only a year and a half ago that we modernized our Javascript build system in …

Node-RED standardem w IoT

Od pewnego czasu buduję smart home i bardzo spodobało mi się narzędzie o nazwie Node-RED. Jest to biblioteka implementująca pomysł Flow-based Programming, czyli programowania poprzez przeciąganie i łączenie ze sobą różnorodnych „klocków”. Dlaczego piszę o tym kontekście IoT? Bo, zakładając, że poszczególne „klocki” zostały wcześniej zaprogramowane, zmiany na poziomie Node-RED mogą być dokonywane niezwykle łatwo i szybko przez osoby, które na programowaniu nie znają się wcale.

Node-RED in Industrial IoT: a growing standard
How an open-source tool is establishing itself in a highly competitive environment against billion dollar companies

Backend

Implementacja DNS w Rust

Jeśli zastanawiasz się czasem „jak właściwie działa DNS?”, to dzisiaj jest Twój szczęśliwy dzień 😉 W linkowanym repozytorium znajdziecie coś w rodzaju kursu, w trakcie którego napiszecie własny serwer DNS od zera używając Rusta.

GitHub - EmilHernvall/dnsguide: A guide to writing a DNS Server from scratch in Rust
A guide to writing a DNS Server from scratch in Rust - GitHub - EmilHernvall/dnsguide: A guide to writing a DNS Server from scratch in Rust

C++ i Rust w jednym projekcie

Czasem zdarza się, że chcemy użyć jakiegoś istniejącego kodu napisanego w C++, ale resztę aplikacji pisać w Rust. cxx.rs jest narzędziem, które maksymalnie to upraszcza. Przyda się też przy migrowaniu projektów cpp na rusta. Co istotne, twórcy obiecują, że korzystanie z kodu C++ w Rust jest nadal bezpieczne.

CXX — safe interop between Rust and C++
safe interop between Rust and C++

ScyllaDB w Rust

ScyllaDB, doczekała się bezpiecznego sterownika w Rust! Jako, że Scylla jest zaprojektowana tak, aby być kompatybilna z Cassandrą (ale znacznie szybsza i łatwiejsza w uruchomieniu), to ta sama biblioteka może nam posłużyć do pracy z Cassandrą.

GitHub - scylladb/scylla-rust-driver: Async CQL driver for Rust, optimized for Scylla!
Async CQL driver for Rust, optimized for Scylla! Contribute to scylladb/scylla-rust-driver development by creating an account on GitHub.

Artillery – testowanie aplikacji pod obciążeniem

Miliony żądań na sekundę, z wielu miejsc na świecie na raz – czy Twoja aplikacja to przeżyje? Nawet jeśli nie mierzysz się z aż tak dużym ruchem, to może Cię zainteresować narzędzie o nazwie Artillery: jest to biblioteka służąca do wykonywania testów obciążeniowych aplikacji. Oprócz darmowej wersji (Open Source) mają też narzędzie w chmurze.

Artillery.io | Load & Smoke Testing

Konferencje

WOOHOO! Wracamy z konferencjami twarzą w twarz (przynajmniej na tę chwilę…)

ConfrontJS 2021

11. grudnia 2021 w Warszawie odbędzie się kolejna edycja fantastycznej konferencji ConfrontJS. Rzućcie okiem na agendę. Ja będę choćby i tylko po to, żeby spotkać się z ludźmi. Jeśli chcecie się zobaczyć – dajcie znać!

ConfrontJS 2021 • Front-end Conference in Warsaw
Front-end Conference. December 11, 2021 in Warsaw! ConfrontJS is a conference that focuses on JavaScript used in Front-end development — Buy tickets!

Rekrutujemy

11Sigma, czyli firma, z którą współpracuję, rekrutuje. W tym momencie poszukujemy seniorów/ek i midów/ek TypeScripta i Node.js do projektu dla klienta z Kanady. Widełki to 5000–8300USD netto. Więcęj szczegółów znajdziecie na stronie, a jeśli macie jakieś pytania, to śmiało piszcie do mnie (np. na tego maila albo na Facebooku/LI/Instagramie).

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 wspolpraca@typeofweb.com lub typeofweb.com/wspolpraca.