Next.JS - po co to komu?

0

Cześć,
Natknąłem się na coś takiego jak next.js, czy ktoś z frontendowców może mi wyjaśnić na czym to polega i czemu to jest takie niesamowite? Ja osobiście odnoszę wrażenie, że ktoś na nowo koło wynalazł.

1

Mógł zrobić wiec zrobił, nie rozumiesz wiec nie jesteś targetem.

0

No właśnie chce to zrozumieć, może jest coś czego nie widzę nie jestem świadomy?

4

to jest dla ludzi co chcą pisać jak w PHP, ale że w PHP jednak troche wstyd przed rodziną to powstał next.js

2
hzmzp napisał(a):

No właśnie chce to zrozumieć, może jest coś czego nie widzę nie jestem świadomy?

Ale w sensie nie widzisz zaled renderowania htmla po stronie backendu czy nie widzisz zalet renderowania htmla po stronie backendu w JSie?

4
  1. Ludzie robili stronki tak, że mieli jakiś framework na backendzie, np. Django
  2. Potem była moda na SPA i backend zwracał tylko JSONy, a to na froncie generował się HTML
  3. od czasu do czasu ktoś wpada na to, żeby połączyć frontend z backendem. Czymś takim jest Next.js właśnie. Chociaż zjawisko "fullstack framework" jest dużo wcześniejsze (w zasadzie backendowe frameworki zawsze uzurpowały sobie prawo do obsługi frontendu).

Ja osobiście odnoszę wrażenie, że ktoś na nowo koło wynalazł.

Na tym to polega. Next.js to framework javascriptowy, a w JS co kilka lat wynajduje się koło. Z różnych powodów. W tym przypadku myślę, że chodzi o popularność biblioteki React i żeby zrobić coś, co zamieni React w fullstackowy framework. Żeby móc pisać w swojej ulubionej bibliotece zarówno elementy dynamiczne, jak i te renderowane po stronie serwera.

2

@KamilAdam - wydaje mi się, że bardziej OP'a zastanawia to, po co tworzyć coś, co robi (z grubsza) to samo co PHP, ale w innym języku. Plus - jakie to ma przewagi względem PHP (lub innych języków stricte backendowych). Ja widzę tutaj pewne ryzyko - PHP ma dość niski próg wejścia, ale JS jeszcze niższy. I teraz może się stać, że za back zajmą się tłumy ludzików, którzy ogarnęli jakieś przesunięcie DIV'a albo zablokowanie pola tekstowego w JS, uznali że umieją programować i teraz czas na pisanie serwerów :/

3
cerrato napisał(a):

ogarnęli jakieś przesunięcie DIV'a albo zablokowanie pola tekstowego w JS

To wcale nie jest takie łatwe. Pewnie, divy technicznie przesuwa się łatwo, a dodanie disabled na polu tekstowym też jest technicznie łatwe. Tylko, że to nie o to chodzi. Nagminnie napotykam się w sieci na formularze, gdzie pole tekstowe nagle się blokuje w dziwny sposób. Divy też bywają przesuwane w dziwny sposób. Więc te 2 przykłady są niezbyt trafione. Zrobienie dobrze frontendu (bez bugów i z jakimś rozsądnym UXem) jest dość trudne.

uznali że umieją programować i teraz czas na pisanie serwerów :/

Równie dobrze można stwierdzić - co jest trudnego w pisaniu serwerów? Przecież są frameworki czy inne narzędzia to ułatwiające.

1
hzmzp napisał(a):

Cześć,
Natknąłem się na coś takiego jak next.js, czy ktoś z frontendowców może mi wyjaśnić na czym to polega i czemu to jest takie niesamowite? Ja osobiście odnoszę wrażenie, że ktoś na nowo koło wynalazł.

Bo nie ma w tym nic przełomowego.
Jednak jak ktoś nie chce się nauczyć sensownego języka na back-end oraz solidnie przysiąść do JavaScript na front-end to wtedy używa takich wynalazków.

Takiego Next możesz zastąpić dowolną parą typu:

  • php + JS
  • python + JS
  • node + JS
    itd...

Czy nawet:

  • goLang + JS
  • c++ + JS

Aplikację, która korzysta z back-end można zamodelować na wiele sposobów. Czasem lepiej renderować w przeglądarce a czasem lepiej na back-end.
Wpływ na taką decyzję mogą mieć: wydajność, optymalizacja, bezpieczeństwo itp.

Jedyną zaletą jest pisanie w tym samym języku na front jak i back. Ale JavaScript + NodeJS też naj to daje już od wielu lat.
Zatem Next nadal jest sztuką dla sztuki.
Bo moim zdaniem React nie jest dziś już nikomu potrzebny choć wciąż pozostaje popularny jak disco-polo.
Nie daje jednak nic więcej niż JS sam w sobie. To taka narośl, która kiedyś zdechnie sama z siebie bo nie ma technicznego uzasadnienia dla jej istnienia.

Spójność językową na FE - BE gwarantują także

  • C# + blazor
  • TypeScript + node
  • Java (choć to powoli historia)
  • nawet Python + https://www.brython.info/ ( choć bardziej jako ciekawostka)
0
hzmzp napisał(a):

Ja osobiście odnoszę wrażenie, że ktoś na nowo koło wynalazł.

Ja byłbym wręcz tego pewien.

Aczkolwiek to nie jest nic nowego. Większość bibliotek i frameworków, to wynalezione koło na nowo, trochę tylko zmienione. Taki Laravel nie jest czymś kompletnie innym niż Symfony. Tailwind nie jest czymś kompletnie innym niż bootstrap.

1

No właśnie mi o to chodzi że my jako programiści "już tam byliśmy". Nie bez przyczyny przez lata starano się odseparować fronty od backendu jak najbardziej hermetycznie. Dla przykładu php zaowocowało takim wordpressem przy którym nikt nie chce robić. I zacząłem zastanawiać się co next.js robi lepiej czy inaczej. Stąd moje pytanie do frontowców.

0
hzmzp napisał(a):

Cześć,
Natknąłem się na coś takiego jak next.js, czy ktoś z frontendowców może mi wyjaśnić na czym to polega i czemu to jest takie niesamowite? Ja osobiście odnoszę wrażenie, że ktoś na nowo koło wynalazł.

Tu chodzi nie o next.js tylko serwer jaki to stawia. O dostęp do dysku odnoszę wrażenie. Ja nie zamierzam tego uruchamiać.
I o to , żebyś potrzebował konsultantów od nexta. I żebyś stracił czas na to.

1

Zrobienie dobrze frontendu (bez bugów i z jakimś rozsądnym UXem) jest dość trudne.

@LukeJL - No ale czy ja pisałem gdzieś, że to ma być "dobrze" zrobione? Właśnie o to mi chodziło: JS ma chyba najniższy próg wejścia (*), IMHO nawet niższy niż Python - bo nie trzeba żadnego IDE, niczego kompilować, żadnej magii w konsoli odczyniać itp - tylko bierzesz notatnik, wpisujesz kilka linii i już masz "program", który się wyświetli na stronie i COŚ zrobi. To, że będzie to działać jakkolwiek to właśnie jest kwintesencja tego, o co mi chodzi. Takie cokolwiek działające jakkolwiek da twórcy poczucie, że umie już programować i jedziemy z tematami serwerowymi...


(*) - podkreślam - to, że ktoś umie cokolwiek i jakkolwiek napisać nie oznacza, że robi to dobrze. Mam też świadomość, że w JS da się pisać porządnie - tylko do tego potrzeba wiedzy i doświadczenia

4

Wynalezienie koła na nowo? Nie do końca. Zacząłbym do tego, że powstał sobie React, okazało się, że reaktywne tworzenie i aktualizowanie UI jest fajne, więc powstało też coś, co zaspokaja wszelkie możliwe potrzeby tworzenia takiego UI również na serwerze.

React ma swoje prymitywne renderToString, ale next.js opakowuje to w masę mega przydatnych rzeczy, żeby strona mogła być statycznie wyrenderowana, inna strona częściowo statycznie, inna zawsze dynamicznie, pod ręką jest cache, routing (coś, czego react w domyśle też nie ma) i masa innych pomysłów.

Nie widzę tu żadnego koła na nowo w porównaniu do np. wypluwaniu HTMLa przez PHP.

Inna sprawa, że next.js jak i React stają się narzędziami typu overengineered, gdzie coraz więcej rzeczy chowa się pod złożonymi rozwiązaniami, które nie wnoszą już za wiele, poza nowymi bugami, za to starych nikt nie naprawia 😀

0
dzek69 napisał(a):

Wynalezienie koła na nowo? Nie do końca. Zacząłbym do tego, że powstał sobie React, okazało się, że reaktywne tworzenie i aktualizowanie UI jest fajne, więc powstało też coś, co zaspokaja wszelkie możliwe potrzeby tworzenia takiego UI również na serwerze.

React ma swoje prymitywne renderToString, ale next.js opakowuje to w masę mega przydatnych rzeczy, żeby strona mogła być statycznie wyrenderowana, inna strona częściowo statycznie, inna zawsze dynamicznie, pod ręką jest cache, routing (coś, czego react w domyśle też nie ma) i masa innych pomysłów.

Nie widzę tu żadnego koła na nowo w porównaniu do np. wypluwaniu HTMLa przez PHP.

Inna sprawa, że next.js jak i React stają się narzędziami typu overengineered, gdzie coraz więcej rzeczy chowa się pod złożonymi rozwiązaniami, które nie wnoszą już za wiele, poza nowymi bugami, za to starych nikt nie naprawia 😀

React jest używany przez ludzi którzy nie rozumieją na czym polega obiektowość w JavaScript. I chyba stawia serwer sobie - rozwiązanie dla głupców(chodzi o ten dostęp serwera do dysku)

Next jest używany przez ludzi którzy nie potrafią sobie postawić serwera - rozwiązanie dla głupców(chodzi o ten dostęp serwera do dysku)

Ktoś kto zna C nigdy tego nie użyje.

2
hzmzp napisał(a):

Natknąłem się na coś takiego jak next.js, czy ktoś z frontendowców może mi wyjaśnić na czym to polega i czemu to jest takie niesamowite? Ja osobiście odnoszę wrażenie, że ktoś na nowo koło wynalazł.

Dzięki temu że piszesz w nowej technologii:

  1. Nie masz długu technologicznego
  2. Nikt nie jest seniorem ani midem więc możesz się pochwalić flat structure
  3. Możesz się pochwalić przewagą konkurencyjną w postaci używania cutting-edge technologies
  4. Jest to JS więc nie musisz tłumaczyć że to jakaś zamknięta przez nikogo nieużywana efemeryda

Chyba tyle. Mam nadzieję że pomogłem.

1
johnny_Be_good napisał(a):

Ktoś kto zna C nigdy tego nie użyje.

Podpisuje się. Znam C i w życiu nie przyszło by mi do głowy, żeby tego użyć (chyba żeby nie było innego wyjścia).

A next.js nie wiem. Nie znam.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.