React.js i AI
Aleksander Jess, Były copywriter | | Zaktualizowano | 2 min czytania
W skrócie
Odcinek dotyczy przyszłości technologii: Reacta, AI, Next.js i ewolucji programowania full-stack.
Film załaduje się z YouTube (youtube-nocookie.com) dopiero po kliknięciu. Obejrzyj na YouTube
Najważniejsze wnioski
- Server components w Next.js mogą spowolnić pierwszy render, ale dobrze się cache'ują na backendzie, więc kolejne żądania są obsługiwane dużo szybciej. Order Group używa ich w kilku projektach.
- Zespół Order Group przetestował Gatsby i wybrał Next.js jako łatwiejszy do nauczenia. Po problemach z GraphQL zespół wrócił do REST API.
- Firma ma standardową strukturę projektów w React i Next.js, a gdy może wybrać stack, wybiera React. Kilka projektów działa na Vue, jeden na Angularze.
- W czasie nagrania każdy programista w firmie korzystał z GitHub Copilot. Przyspiesza pisanie powtarzalnego kodu i testów jednostkowych, ale jego wynik trzeba sprawdzać.
- Większe funkcje warto podzielić na mniejsze funkcje, wygenerować je z Copilotem i zbudować całość wokół tego kodu.
Co jest w filmie
To pierwszy odcinek Everything in Order: rozmowa z Łukaszem Gajownikiem, ówczesnym Head of Front-end w Order Group, o React, Next.js i narzędziach AI w codziennej pracy.
Na początku pojawia się benchmark sugerujący, że server components spowolniły Next.js, a Łukasz przekonuje, że ten benchmark pokazuje tylko połowę obrazu. Dalej rozmowa schodzi na metaframeworki i standardową strukturę front-endu, której zespół używa od kilku lat. React Łukasz nazywa preferencją: firma zatrudnia specjalistów od Reacta, a jak dodaje, Vue i Angular potrafią to samo.
Druga połowa odcinka dotyczy AI. Zapytany, czy AI go przeraża, Łukasz mówi, że sam nie wie, czy jest przerażony, czy zaciekawiony. Na razie traktuje AI jako narzędzie, choć spodziewa się, że za trzy, cztery lata może się to zmienić. W praktyce Copilot uzupełnia komponent kalendarza z jednej linijki, pisze funkcje z opisu w zwykłym języku i generuje testy jednostkowe w godzinę zamiast w tydzień. Test-driven development pozostaje trudny w projektach, w których logika zmienia się co tydzień.
Ryzykom poświęcona jest osobna część rozmowy, w tym przypadek, w którym Copilot wymyślił endpointy usługi. O Devinie Łukasz mówi, że pokazano go tylko na zamkniętym demo, a senior developer, który przeanalizował je na YouTube, uznał, że było prawdopodobnie sfałszowane.
Pytania, na które odpowiada odcinek
Czy server components w Next.js są wolniejsze?
Pierwszy render może być wolniejszy, ale server components można cache'ować na backendzie, więc kolejne żądania są obsługiwane dużo szybciej.
Dlaczego Order Group używa Next.js i REST zamiast Gatsby i GraphQL?
Zespołowi Next.js wydał się łatwiejszy do nauczenia i bardziej logiczny. GraphQL sprawiał problemy, a przy REST wiadomo dokładnie, co wchodzi do każdego endpointu i co z niego wychodzi.
Jakie ryzyka niesie GitHub Copilot?
Programiści mogą przestać myśleć i zaufać jego wynikowi, co prowadzi do błędów. Może podsuwać kod z nieodpowiednią licencją i halucynować, jak w przypadku nieistniejących endpointów, na które zespół kiedyś trafił.
Kiedy AI mogłoby zastąpić zwykłego programistę?
Łukasz nie chce zgadywać, bo dziedzina zmienia się za szybko. Wygenerowane funkcje zwykle i tak trzeba poprawiać, bo logika bywa błędna.
Działajmy razem i kształtujmy przyszłość
Skontaktuj się z nami