Blog
Czym jest Next.js i jak działa?
13/11/2023

Czym jest Next.js i jak działa?

Co to jest Next.js?
Jak działa Next.js i co go wyróżnia?
Kiedy używać Next.js?
Uruchomienie projektu z Next.js

Co to jest Next.js?

Next.js to React Framework dedykowany do budowania nowoczesnych stron internetowych, który jest rozwijany i utrzymywany przez firmę Vercel (https://vercel.com/solutions/nextjs) oraz społeczność open source. Kod źródłowy jest dostępny dla każdego na zasadach otwartego oprogramowania (Open Source) i znajdziemy go na GitHub’ie (https://github.com/vercel/next.js)

Ponadto Next.js jest tworzony przy wykorzystaniu takich języków programowania jak JavaScript, TypeScript oraz Rust. Aktualna wersja została wydana początkiem maja 2023 i jest to wersja Next.js 13.4 (na dzień 30.06.2023).

Next.js jest używany przez znane firmy na całym świecie są to  np. TikTok, Twitch, HBO Max, Nike, United Airlines, Hilton, Uber i wiele innych – przykłady użycia możesz sprawdzić na https://nextjs.org/showcase.

 

 

{ Jak działa Next.js i co go wyróżnia? }

 

W celu lepszego zrozumienia działania Next.js trzeba po części zrozumieć jak działa React.js oraz jak przebiega proces serwowania treści użytkownikowi. Aplikacje budowane w React składają się z komponentów (ang. Components), które są re-używalne. W procesie kompilacji te komponenty są zamieniane na JavaScript, który następnie pobierany jest przez przeglądarkę. Wyświetlana w przeglądarce zawartość strony jest „budowana” po stronie  przeglądarki na podstawie pobranych skryptów JavaScript z serwera. Taki sposób wyświetlania treści nazywamy CSR – Client Side Rendering. Pierwszym problemem w takim podejściu jest to, że na słabszych urządzaniach czas do momentu uzyskania pierwszej treści może być wydłużony. Kolejnym problemem jest optymalizacja dla wyszukiwarek (SEO – search engine optimization) – CSR znacząco wydłuża czas indeksowania stron.

Te problemy rozwiązuje Next.js, który idealnie sprawdza się nawet w aplikacjach które mają bardzo duże ilości treści do wyświetlenia. Czas wyświetlenia strony jest niemal natychmiastowy, a optymalizacja dla wyszukiwarek przebiega znacznie szybciej. To wszystko ze względu na to, że treść wyświetlana użytkownikowi jest budowana po stronie serwera. Takie podejście nazywamy SSR – Server Side Rendering.  Dodatkowo w Next.js budowanie stron HTML po stronie serwera może odbywać się statycznie podczas procesu kompilacji (SSG – Static Site Generation). Strony te przechowywane są w pamięci podręcznej (cache) co przyśpiesza ich odczyt po stronie serwera, a co za tym idzie zmniejsza czas oczekiwania na jego odpowiedź po stronie klienta. Mamy również możliwość generowanie stron statycznie – przyrostowo, część takiej strony jest wygenerowana statycznie, ale zawiera elementy, które mogą ulec zmianie i wymagane jest ich odświeżenie.  

Dodatkowo w Next.js mamy wbudowane mechanizmy optymalizacji czcionek, obrazów, czy skryptów wczytywanych z zewnętrznych źródeł. Mechanizm prefetchowania, który przewiduje, które strony mogą zostać wczytane przez użytkownika i pobiera je w tle.

Do tworzenia aplikacji za pomocą frameworka Next.js potrzebna będzie znajomość biblioteki React.js, który jest dość prosty do nauczenia – wystarczy znajomość JavaScript oraz HTML i CSS.

 

 

Kiedy używać Next.js?

Next.js jest dobrym rozwiązaniem w przypadku kiedy zależy nam na:

  • dobrej widoczności naszej witryny dla wyszukiwarek
  • skróconym czasie ładowania strony i bardzo dobrej wydajności
  • wbudowanych mechanizmach optymalizacji obrazów, czcionek i skryptów
  • czasie wprowadzenia produktu na rynek (ang. time to market)

 

Uruchomienie projektu z Next.js

Przygotowanie środowiska uruchomieniowego i instalacja edytora kodu źródłowego

Aby uruchomić projekt z Next.js będziemy potrzebować środowisko uruchomieniowe Node.js, zainstalowana wersja nie może być niższa niż 16.8. Instalator można pobrać z oficjalnej strony https://nodejs.org/en. W wierszu poleceń możesz sprawdzić aktualnie zainstalowaną wersje przy użyciu polecenia „node -v” – to polecenie możesz użyć w celu weryfikacji prawidłowej instalacji.

Następnie  pobierz i zainstaluj Visual Studio Code -  https://code.visualstudio.com/download

Utworzenie projektu oraz jego konfiguracja

Po uruchomieniu VS Code w Terminalu (ctrl+`) uruchamiamy automatyczny instalator Next.js, poleceniem:

npx create-next-app@latest

Podajemy nazwę naszego projektu oraz konfigurujemy nasz projekt. Możesz to zrobić jak na poniższym obrazku.

Następnie przechodzimy do folderu src (cd nazwanaszegoprojektu/src) i uruchamiamy aplikację poleceniem:

npm run start

 

Nasza aplikacja będzie dostępna pod adresem http://localhost:3000. W przeglądarce pojawi się nam strona, której źródła znajdziemy w katalogu /app/page.tsx. Aktualnie mamy przygotowane środowisko pracy oraz skonfigurowany projekt. W kolejnej części omówimy różnicę pomiędzy Server Components i Client Components. Poznamy również mechanizmy renderowania stron, czyli Client Side Rendering, Server Side Rendering i Static Site Generation.

Powrót do listy artykułów

{ Zobacz też }