DLACZEGO TWOJA APLIKACJA POWINNA BYĆ NAPISANA W REACTJS?

By 20 czerwca 20197 listopada, 2020Dedykowane oprogramowanie, Web Development

Czym jest ReactJS ?

React jest biblioteką programowania języka JavaScript wykorzystywaną do tworzenia interfejsów użytkownika. Działa na licencji MIT, a więc gwarantuje prawa autorskie i możliwość sprzedaży twórcom. Najbardziej go cenię za swoją modularność, szybkość działania, duże wsparcie społeczności i prostotę. Można w niej korzystać z najnowszej wersji JavaScriptu, który kompiluje się w tle do mniej przyjaznej wersji obsługiwanej przez wszystkie przeglądarki. React nie narzuca stylu programowania. Daje pełną kontrolę nad kodem i implementowanymi rozwiązaniami.

Szybkość działania

React jest szybki i odpowiednio zaprogramowany wie, które elementy na ekranie podmieniać i minimalizuje operacje na DOM. Daje to gwarancję szybkiego interfejsu użytkownika. Jest określany jako lekki i nowoczesny.

Możliwość statycznego typowania i dowolny backend

Osoby przyzwyczajone do języków statycznie typowanych docenią możliwość integracji z TypeScript. React pozwala na integrację z dowolnym backendem. Najbardziej popularna integracja z ExpressJS stojącym na NodeJS pozwala wykorzystać bogaty ekosystem bibliotek pobieranych z npm, który jest tak samo bogaty jak ekosystem Pythona jak nie bardziej. Mówimy tutaj o blisko 500 tysiącach bibliotek napisanych przez twórców.

Łatwe integracje

W praktyce daje to możliwość integracji z wieloma aplikacjami zewnętrznymi, które wystawiły swoje API bądź biblioteką napisaną w repozytorium NPM.

Dowolność stylowania

React nie narzuca sposobu stylowania komponentów. Jeżeli chcesz wykorzystać stary dobrze znany CSS masz do tego otwartą drogę. Chcesz użyć bardziej nowoczesnych preprocesorów CSS takich jak SCSS, również nie ma z tym problemu. CSSinJSS podobnie.

 

Kto korzyta z ReactJS ?

 

Potentaci rynkowi wykorzystujący ReactJs

#1 Facebook
#2 Instagram
#3 Netflix
#4 Uber

Gwarancja wsparcia

To tylko niektóre przykłady największych aplikacji. Facebook wykorzystując ReactJS gwarantuje jego wsparcie.

Społeczność

Github dodał w ostatnich miesiącach nową funkcjonalność, która pozwala zobaczyć ile osób aktualnie wykorzystuje dowolną bibliotekę w swoich aplikacjach. Dla React liczba ta przekroczyła już 2 miliony aplikacji, a przecież Github to nie jedyne miejsce do składowania repozytorium z kodem.

Bogaty ekosystem dodatków do ReactJS

React pozwala korzystać z gotowych komponentów. Posiada znajome komponenty z Bootstrapa , SemantiveUI czy też AntDesign. Daje możliwość integracji z zewnętrznymi gotowymi rozwiązaniami typu serverless takimi jak Zeit NextJS, AWS Amplify, czy też GatsbyJS postawione chociażby na Netlify.

 

WordPress vs ReactJS

 

Popularność

WordPress jest nadal najczęściej używanym ekosystemem do tworzenia stron internetowych. Jego siła tkwi w prostocie rozwiązań typu podnieś, upuść. Siła Reacta tkwi w jego szybkości i konfigurowalności.

GoogleTrends już teraz pokazują, że WordPress i React są tak samo często wyszukiwanymi hasłami.

Jakość

Aplikacje internetowe składają się z coraz większej liczby integracji, a jakośc pluginów do wordpressa nie jest kontrolowana przez nikogo. Co innego rozwiązania typu opensource na Githubie napisane pod Reacta, które kontroluje cała społeczność.

Czas pisania aplikacji

React jest stworzony z myślą szycia na miarę. Istnieje możliwość stworzenia gotowych layoutów i masowej ich sprzedaży klientom, jednakże w szybkich parodniowych implementacjach króluje nadal WordPress. Tam gdzie nie nie ma znaczenia szybkość ładowania się strony internetowej, poziom skomplikowania strony nie jest duży większość nadal wybiera WordPress. Szybkość ma swoją cenę w postaci słabej jakości kodu i często niezrozumiałej struktury aplikacji dla innego developera. Poprawienie kodu komercyjnego szablonu WordPress jest często niemożliwe.

Czas ładowania się strony internetowej

WordPress jest wolny. Czas ładowania się stron WordPress jest duży. Sam silnik wordpressa nie jest dobrze zoptymalizowany.

Cena

Większość bibliotek dla React jest darmowa. Darmowe komponenty, darmowe animacje. Co więcej często hosting dla React jest bezpłatny.

Integracja z API

Strony nowej generacji pobierają większość danych z API. Dla obu rozwiązań istnieje możliwość pobierania danych z API, ale pobieranie danych z API w React jest po prostu łatwiejsze i bardziej przyjazne.

React Native

React Native jest oddzielną biblioteką, ale wartą wyszczególnienia. Pozwala na pisanie natywnych aplikacji mobilnych na Androida pisząc kod w Javascript. Podobnie jak React posiada bogate wsparcie społeczności i każdy programista React jest w stanie teraz przepisać aplikację Webową na mobile.

React PWA ( Progressive Web Applications )

React pozwala na pisanie aplikacji offline i umieszczanie ich w googlestore tak jak inne aplikacje natywane. Jest to doskonałe ułatwienie i bezkonkurencyjne dla WordPress. Nie jest potrzebne w tej chwili zatrudnianie osobnego zespołu programistów by wypuścić teraz osobną aplikację.

Podsumowanie

Sam artykuł mógł być tendencyjny, ale to dlatego, że React jest po prostu świetny. Nie było moim zadaniem pokazanie bardzo wnikliwej analizy obu rozwiązań, a przedstawienie czym się oba rozwiązania od siebie różnią i dlaczego uważam, że ReactJs jest po prostu dobrą, solidną biblioteką Javascript.

Jeżeli zastanawiasz się w czym powinna być napisana Twoja następna aplikacja, przejdź poniższą checklistę i jeżeli odpowiesz twierdząco na połowę z wymienionych podpunktów to poważnie się zastanów czy odpowiedzią nie jest ReactJS.

  • Łatwa integracja z API takimi jak headless CMS, marketing automation, czy inny backend
  • Szybkość ładowania strony
  • Jakość napisanego kodu
  • Gotowe rozwiązania typu serverless
  • Bogaty ekosystem wysokiej jakości gotowych komponentów
  • Wsparcie Facebooka i licencja MIT
  • Skalowalność aplikacji
  • Możliwość napisania aplikacji typu PWA ( Offline )

    PS: Artykuł jest tendencyjny, ale każda zaleta React i każda wymieniona wada WordPressa jest prawdziwa.

     

 

Mateusz Kuba

Autor Mateusz Kuba

BoringOwl Software House Founder. AI Specialist. Fullstack Developer. Thinker. Are you looking for help in your next software development project? Do you need a remote team of software engineers ? Do you want to implement artificial intelligence in your product ? Feel free to connect! I can help. I have have experience in development in: Javascript, Python, R, Sql, Terraform, AWS and I'm a big fan of future tech implementations.

Więcej wpisów od Mateusz Kuba