Sytuacja kobiet w IT w 2024 roku
1.07.20224 min
Louis Petrik

Louis Petrik

6 rzeczy, które lubię w Angularze jako programista Reacta

Poznaj 6 zalet Angulara z perspektywy programisty React.

6 rzeczy, które lubię w Angularze jako programista Reacta

Angular był pierwszym frameworkiem, który miałem okazję wypróbować. Szybko jednak z niego zrezygnowałem. Zamiast tego, doświadczyłem osobistego przełomu z React JS. Oczywiście, mogę być tutaj nieobiektywny. I przyznam szczerze, że moje wspomnienia z Angularem były nieco traumatyczne. Nie jest to jednak wina samego Angulara. Wtedy nie miałem prawie żadnego pojęcia o JavaScript, ale teraz wiem już więcej. O wiele więcej. Jako programista Reacta stwierdzam, że nadszedł czas, aby rzucić wyzwanie przeszłości i dać Angularowi kolejną szansę.

Po ponownym podejściu byłem pozytywnie zaskoczony: Angular nie jest w sumie taki najgorszy. I mi, programiście Reacta, podoba się w nim kika rzeczy.

1. Renderowanie po stronie serwera i więcej...


Jaki jest odpowiednik Angular CLI w React? Cóż, powiedziałbym, że create-react-app. Najzabawniejsze w tym wszystkim jest to, że rzadko używam CRA. Dlaczego? Ano dlatego, że React to przede wszystkim serce dziesiątek frameworków i generatorów stron. Z tych dobrych można wymienić Next.js, Gatsby, czy nawet Astro. Create-react-app do tworzenia aplikacji produkcyjnych React? No raczej nie.

Kiedy nauczyłem się podstaw Reacta, byłem głęboko rozczarowany.
Myślałem, że dzięki tej bibliotece można tworzyć produkcyjne aplikacje. A jednak miałem wrażenie, że wszyscy wokół mnie mówią innym językiem. Next.js i Gatsby były już bardzo popularne - a ja nie miałem o nich pojęcia.

Z drugiej jednak strony, Angular zapewniał wszystko, czego mógłbym potrzebować.

2. W sumie nie jest on taki duży

Jeśli gotowa aplikacja ma 145 kilobajtów, to identyczna aplikacja w React ma rozmiar 135 kilobajtów - czyli niewiele mniej. Byłem naprawdę zaskoczony tym wynikiem, ponieważ Angular miał wizerunek wyraźnie „otyłego”.

Oczywiście prosty licznik w Angularze w porównaniu do tego samego w React nie jest najlepszym porównaniem. Rozmiar pakietu wzrasta, gdy importujemy coraz więcej funkcji frameworka/biblioteki. A jednak, wciąż można było usłyszeć banał, że rozmiar pakietu Angulara będzie o wiele większy niż Reacta. Okazało się, że nie jest to prawda.

3. Zawsze jest jeden sposób na zrobienie czegokolwiek

Trudno to wyjaśnić. Kiedy zaczynałem pracę z React.js, popełniałem wiele błędów. Po utworzeniu nowej aplikacji React, wszystko, co mogłem zauważyć, to dziwna struktura JSX. Byłem również przytłoczony zrozumieniem przejścia z HTML do JavaScript w kodzie.

To właśnie wprawia wielu początkujących użytkowników React.js w zakłopotanie i powoduje problemy. Taka jest cena za wolność Reacta. Z drugiej strony, Angular jest dużo bardziej rygorystyczny i wymaga od Ciebie więcej nauki, zanim będzie można postawić w nim pierwsze kroki.

To gra o sumie stałej. Można tutaj śmiało stwierdzić, że zarówno Angular, jak i React.js mają swoje plusy i minusy.

Niemniej jednak, teraz już rozumiem argument o surowości i rygorze Angulara, który wysuwają jego fani. Szczególnie w większych zespołach nie można oczekiwać, że wszyscy będą trzymać się najlepszych praktyk. Dlatego też wprowadzenie bardziej rygorystycznych wymogów przez framework może pomóc uniknąć problemów. Zwłaszcza w perspektywie długoterminowej.

4. Tak, jest to framework

Kiedyś śmiałem się, gdy ktoś mówił "framework jest lepszy niż biblioteka". Jednak po wypróbowaniu Angulara, rozumiem tę kwestię dużo lepiej.

Tak, Angular jest frameworkiem. A z drugiej strony, React to tylko biblioteka. Różnica jest oczywista. Patrząc na dokumentację Angulara, widzisz coś takiego: Angular oferuje wszystko, czego możesz potrzebować w swoim oficjalnym środowisku.

Routing, renderowanie po stronie serwera, klient HTTP, a nawet narzędzie do przetłumaczenia Twojej aplikacji. W świecie React.js do tego wszystkiego potrzebna jest biblioteka zewnętrzna.

Nie uważam tego za wielki minus. Kod 3rd-party nie jest gorszy sam w sobie.

Niemniej jednak, miło jest wiedzieć, że zespół Angulara utrzymuje wszystkie elementy Twojej aplikacji - ryzyko braku wsparcia lub niebezpiecznego kodu jest dzięki temu mniejsze.

Inną zaletą może być to, że społeczność jest bardziej skłonna do korzystania z tej samej technologii w ten sposób.

Częściej słyszałem od fanów React.js, że biblioteka jest lepsza - po prostu dlatego, że nie chcesz mieć narzędzi do obsługi formularzy, żądań HTTP, jeżeli ich nie potrzebujesz. Z czasem zdałem sobie sprawę, że to nie jest dobry argument. Pochodzi one głównie od osób, które uważają, że przez to rozmiary pakietów będą większe - bez względu na to, czy korzystasz z wbudowanych funkcji, czy nie.

W Angularze większość API, których nie zawsze potrzebujesz, jest dostępna jako osobny import. Jeśli Twoja aplikacja nie korzysta z klienta HTTP, nie zostanie ona dołączona do pakietu produkcyjnego.

5. Kompletny i pomocny CLI

Angular bardzo polega na swoim CLI. Pięknie wpisuje się w filozofię "na wszystko jest tylko jeden właściwy sposób" i pomaga zrobić całkiem sporo rzeczy, których w danym momencie potrzebujesz. Od dodawania komponentu do wprowadzenia renderowania po stronie serwera. Wszystko to oferuje CLI.

No spójrzcie tylko na te wszystkie komendy!

6. Dokumentacja wymiata

Nie podoba mi się za mocno design Angulara, tu punkt zgarnia React (przynajmniej w moim mniemaniu). Mimo to oficjalna dokumentacja Angulara błyszczy swoją zawartością.

Dobrym przykładem jest również problem, który miałem z renderowaniem po stronie serwera React.js. W tym temacie dokumentacja Reacta nie mówi zbyt wiele. Dlaczego by miała? Koniec końców frameworki takie jak Next.js, są niezależne i nie są oficjalnie powiązane z Reactem.

W dokumentacji Angulara możesz znaleźć wszystko, czego potrzebujesz na temat renderowania po stronie serwera.

Oprócz świetnych wstępów i wyjaśnień, szczegółowe treści na ten temat produkowane przez Google są często w dokumentacji Angulara podlinkowywane.

Ostatnią zaletą, o której wspomnę, jest świetne wprowadzenie. Kiedy po raz pierwszy spróbowałem Angulara, legendarna „Tour of Heros" była ogromną pomocą.

Dzięki za uwagę!



Oryginał tekstu w języku angielskim przeczytasz tutaj.

<p>Loading...</p>