
Migracja z mobile do web bez utraty użytkowników ani logiki biznesowej
Klient: SkinApe
Branża: Rozrywka / GameTech
25 października została wydana 13 wersja popularnego frameworka do tworzenia aplikacji webowych Next.js, która wprowadziła szereg nowych funkcjonalności i usprawnień. Jeśli jesteś programistą pracującym z Next.js, koniecznie sprawdź, jakie nowe możliwości daje Ci ta wersja i jakie usprawnienia możesz zyskać dzięki niej.
CEO
11 cze 2022
Pod koniec października, a dokładnie 25 podczas konferencji została wydana 13 wersja Next JS. W tym artykule omówię najważniejsze zmiany. Uwaga, musimy mieć na uwadze to, że niektóre funkcjonalności dalej są w fazie beta, twórcy odradzają stosowania niektórych z nich na produkcji.
Zanim przejdę do omówienia nowych funkcjonalności chciałbym podzielić za pomocą listy funkcjonalności, które dalej znajdują się w fazie beta oraz te, które są już stabilne:

Klient: SkinApe
Branża: Rozrywka / GameTech


Klient: Klient (Aplikacja webowa do nauki programowania)
Branża: Edukacja / EdTech
W nowej wersji katalog pages został zastąpiony folderem app. Nowa struktura ułatwia nam korzystanie z layoutów, pozwala nam na tworzenie serwer komponentów, a także na stworzenie widoku ładowania kontentu, który będzie się wyświetlać w przypadku np. długiego czasu oczekiwania danych z serwera.
W poprzedniej wersji to pliki definiowały routing, lecz w nowej strukturze to foldery definiują routing, a folder app odpowiada ścieżce /. Jeżeli chcemy utworzyć podstronę kontakt to należy utworzyć następującą strukturę: app > kontakt > page.tsx
// app/kontakt/page.tsx
export default function Page() {
return <h1>Strona kontaktu</h1>;
}W wersji nexta komponent odpowiadający za layout aplikacji tworzymy w folderze app i nazywamy go layout.tsx. Ponadto teraz jesteśmy w stanie tworzyć zagnieżdżone layouty w prostszy sposób. Jeżeli potrzebujemy, aby strona kontakt miała zagnieżdżony layout wystarczy, że w katalogu kontakt utworzymy plik layout.tsx i tam zdefiniujemy nasz layout.
// app/kontakt/layout.tsx
export default function ContactLayout({ children }) {
return <section>{children}</section>;
}
Dzięki komponentom renderowanych po stronie serwera zmniejsza się ilość kodu wysyłanego do klienta co umożliwia szybsze ładowanie strony. Ponadto teraz już nie musimy korzystać z getServerSideProps, ponieważ wszystkie komponenty domyślnie są renderowane po stronie serwera. Jeśli chcemy, aby nasz komponent renderował się po stronie klienta należy użyć składni “use client”.

Teraz czcionki i pliki css będą pobierane w czasie kompilacji z resztą zasobów statycznych, dzięki czemu przeglądarka nie będzie wysyłać żadnych zapytań do Google.
W nowej wersji nexta nie jest już wymagane przekazywanie taga html <a>.
Komponent <Image> jest teraz łatwiejszy w stylizowaniu, a także nie jest już wymagane podania właściwości fill, gdy nie chcemy ustalać wysokości oraz szerokości zdjęcia, a także tag alt nie jest już wymagany.
Next js dodał Turbopack, który jest następcą Webpacka, opartego na Rust.
Turbopack ma być 700x szybszy niż webpack, a także 10x szybszy niż Vite.
FAQ
Blog
CDN, czyli sieć dostarczania treści, to system, który pozwala na przyspieszenie i zwiększenie niezawodności dostarczania treści na stronie internetowej. Działa on na zasadzie rozproszenia serwerów, które przechowują kopie treści strony w różnych lokalizacjach geograficznych.
React to popularna biblioteka JavaScript do tworzenia interaktywnych interfejsów użytkownika. W tym artykule przedstawimy kilka sposobów, jak można nauczyć się Reacta i zacząć tworzyć swoje własne projekty.
Systemy Zarządzania Treścią, czyli CMS, wpływają na rozwój stron internetowych od lat. Hygraph, w ramach nowoczesnej technologii headless, oferuje nową perspektywę na zarządzanie treścią. Omówimy, jak Hygraph może kształtować przyszłość CMSów.
Jam Stack to technologia, która polega na budowaniu aplikacji internetowych za pomocą statycznie generowanych stron, które są hostowane na serwerach CDN. Jest coraz bardziej popularny wśród programistów, ponieważ oferuje wiele korzyści, takich jak szybkość, niskie koszty utrzymania i bezpieczeństwo.
Nowoczesne aplikacje webowe muszą być jednocześnie szybkie, interaktywne i przyjazne dla użytkownika już od pierwszego załadowania strony. Właśnie w tym kontekście coraz większe znaczenie zyskuje client-side hydration, czyli mechanizm łączący renderowanie po stronie serwera z logiką uruchamianą w przeglądarce. Dzięki niemu możliwe jest wyświetlenie treści niemal natychmiast, a następnie płynne przejście do pełnej interaktywności aplikacji.
Rosnąca złożoność aplikacji webowych sprawia, że wydajność narzędzi developerskich ma dziś ogromne znaczenie. Turbopack, nowy bundler od Vercela, powstał jako odpowiedź na ograniczenia klasycznych rozwiązań, takich jak Webpack, szczególnie w dużych projektach Next.js. Jego głównym celem jest maksymalne skrócenie czasu startu aplikacji i natychmiastowy hot reload podczas pracy z kodem.