W małym projekcie domyślna organizacja katalogów App Routera działa świetnie — app/ , components/ , lib/ . Ale gdy aplikacja rośnie do 50+ komponentów, 20+ stron i kilku domen biznesowych, zaczynasz tracić orientację.
Maciej Sala
Founder StriveLab
W małym projekcie domyślna organizacja katalogów App Routera działa świetnie — app/ , components/ , lib/ . Ale gdy aplikacja rośnie do 50+ komponentów, 20+ stron i kilku domen biznesowych, zaczynasz tracić orientację.
Maciej Sala
Founder StriveLab
App Router daje kilka punktów wejścia do kodu serwerowego. Route Handlers wystawiają jawny kontrakt HTTP, natomiast Server Actions łączą mutację z interfejsem Reacta. Oba mechanizmy mogą korzystać z bazy i sekretów, ale rozwiązują inne problemy, a decyzja, którego użyć, powinna wynikać z tego, kto wywołuje operację i jakiego kontraktu potrzebuje .
Maciej Sala
Founder StriveLab
Jedno wolne zapytanie do bazy potrafi zatrzymać całą stronę, jeśli nie wydzielisz go odpowiednią granicą. Bez streamingu serwer czeka na dane potrzebne do pełnego HTML-u i dopiero wtedy kończy odpowiedź. Streaming pozwala wcześniej pokazać gotową część oraz fallbacki, a wolniejsze fragmenty dosłać później. Nie przyspiesza samego zapytania, ale poprawia sposób dostarczania i odczuwania strony.
Maciej Sala
Founder StriveLab
Modal z własnym adresem URL, który po udostępnieniu otwiera pełną stronę, a po kliknięciu wstecz znika, to popularny wzorzec znany z Instagrama czy Dribbble. W klasycznym Reakcie jego implementacja wymagała godzin walki z historią przeglądarki, jednak w App Routerze mechanizm ten jest w pełni natywny. Połączenie równoległych i przechwytywanych tras pozwala rozwiązać dawne problemy frontendu, takie jak modale z własnym URL-em, panele aplikacji czy płynna nawigacja bez utraty kontekstu. Wszystkie te rozwiązania pokazuję na praktycznych przykładach kodu.
Maciej Sala
Founder StriveLab
Next.js 15 zacieśnia współpracę z najnowszym React 19, stabilizuje Turbopacka w środowisku deweloperskim i wprowadza eksperymentalne Partial Prerendering . Z perspektywy czasu to jedno z największych tąpnięć od debiutu App Routera w „trzynastce" i fundament, na którym Next.js 16 dopiął model Cache Components oraz domyślny Turbopack. W tym artykule rozkładam najważniejsze zmiany na czynniki pierwsze i podpowiadam, kiedy migracja z czternastki realnie się opłaca.
Maciej Sala
Founder StriveLab
Next.js 13 wprowadził App Router , czyli nowy sposób budowania aplikacji oparty na React Server Components . Ale Pages Router nigdzie nie zniknął. Dwa routery, dwa podejścia, jedna decyzja do podjęcia na starcie projektu.
Maciej Sala
Founder StriveLab
Remarketing pozwala docierać do osób, które wcześniej odwiedziły serwis lub wykonały konkretną akcję. Jego skuteczność zależy jednak od jakości danych: właściwego miejsca docelowego zdarzeń, zgodnych identyfikatorów produktów, przemyślanych list odbiorców i prawidłowo obsłużonych zgód.
Maciej Sala
Founder StriveLab
Musisz mieć świadomość, że jak wydajesz pieniądze na Google Ads, a nie mierzysz konwersji poprawnie, algorytm ma mniej sygnałów do optymalizacji stawek i kampanii. To zwykle oznacza gorszą jakość danych, słabsze uczenie modelu i trudniejsze decyzje po stronie marketingu.
Maciej Sala
Founder StriveLab
Integracja Google Analytics 4 w Next.js App Router to coś więcej niż wklejenie snippetu w , ponieważ nawigacja client-side, React Server Components, Consent Mode v2 i wybór między ręcznym gtag.js , a @next/third-parties sprawiają, że łatwo wprowadzić analitykę pozornie poprawną, ale w praktyce generującą zdublowane page views albo niepełne dane - nawiasem mówiąc, obie te sytuacje zdarzyły mi się w przeszłości. Ten artykuł łączy setup GA4 z realnymi niuansami App Router i podstawami planowania zdarzeń.
Maciej Sala
Founder StriveLab