Plusy i minusy ReactJS i React Native

  1. Co to jest React? Krótka historia za biblioteką
  2. Zalety ReactJS
  3. 2. Zezwolenie na ponowne użycie Komponenty React znacznie oszczędzają czas
  4. 3. Jednokierunkowy przepływ danych w ReactJS zapewnia stabilny kod
  5. 4. Otwarta biblioteka na Facebooku: stale rozwijająca się i otwarta na społeczność
  6. 5. Redux: wygodny kontener stanu
  7. 6. Szeroki zestaw narzędzi React i Redux
  8. Minusy ReactJS
  9. 2. Słaba dokumentacja
  10. 3. „HTML w moim JavaScript!” - JSX jako bariera
  11. 4. Dodatkowy kłopot z SEO
  12. ReactJS i React Native: jaka jest różnica?
  13. Zalety React Native
  14. 1. React Native używa JavaScript - szybkiego i popularnego języka programowania
  15. 2. Rodzime kontrolki i rodzime moduły w React Native poprawiają wydajność
  16. 3. React Native zawiera wszystkie funkcje ReactJS, mające na celu poprawę interfejsu użytkownika
  17. Minusy React Native
  18. 2. Wiedza o rodzimych modułach
  19. 3. Komponenty innych firm
  20. 4. Aktualizacje opóźnionego SDK
  21. 5. Niestabilność, problemy ze zgodnością i błędy
  22. ReactJS i React Native Apps

Czas czytania: 13 minut

ReactJS i React Native to nowe technologie dla rozwoju sieci i urządzeń mobilnych wprowadzone przez Facebooka. Projekt został zapoczątkowany przez Jordana Walke, inżyniera oprogramowania na Facebooku w 2011 r. Aby uprościć proces rozwoju i zwiększyć wygodę użytkowania, postanowił stworzyć bibliotekę, która pozwoli na zbudowanie interfejsu internetowego z JavaScript.

W tym artykule omówimy, dlaczego stworzono React oraz zalety i wady korzystania z technologii React. Możesz przejść do sekcji, która najbardziej intryguje za pomocą poniższych linków:

Co to jest Reakcja

Zalety ReactJS

Minusy ReactJS

ReactJS i React Native

Zalety React Native

Minusy React Native

React Przykłady aplikacji

Co to jest React? Krótka historia za biblioteką

Przed opracowaniem ReactJS Facebook został skonfrontowany z dużym zadaniem użytkownika - zbudowaniem dynamicznego interfejsu użytkownika o wysokiej wydajności. Na przykład inżynierowie chcieli, aby aktualizacje kanałów informacyjnych odbywały się jednocześnie z osobami korzystającymi z czatu.

Aby to osiągnąć, Facebook musiał zoptymalizować sam proces rozwoju, a Jordan Walke postanowił zrobić to za pomocą JavaScript. Zaproponował wprowadzenie XHP, składni znaczników Facebooka, do układu współrzędnych JS. Pomysł wydawał się niemożliwy, ale w 2011 roku jego zespół wydał bibliotekę ReactJS w oparciu o JavaScript i symbiozę XHP. Następnie Facebook zdał sobie sprawę, że ReactJS działa szybciej niż jakakolwiek inna implementacja tego rodzaju.

Co to jest ReactJS? ReactJS to biblioteka JavaScript, która łączy szybkość JavaScript i wykorzystuje nowy sposób renderowania stron internetowych, dzięki czemu są one bardzo dynamiczne i reagują na dane wprowadzane przez użytkownika. Produkt znacząco zmienił podejście Facebooka do rozwoju. Po wydaniu biblioteki jako open-source Narzędzie JavaScript w 2013 r. stał się niezwykle popularny dzięki rewolucyjnemu podejściu do programowania interfejsów użytkownika ustawiających długotrwałe działanie konkurencja między React i Angular , inne popularne narzędzie do tworzenia stron internetowych.

Dwa lata później ta sama grupa inżynierów wydała React Native, hybrydowy framework do tworzenia aplikacji mobilnych na iOS i Androida . Narzędzie opierało się na tych samych zasadach co ReactJS i wkrótce zostało zaakceptowane przez społeczność inżynierów i firmy, które stosują się do strategia mobilna .

Jak reagować na rodzimą pracę? React Native łączy tworzenie aplikacji natywnych z rozwojem interfejsu JavaScript. Podczas gdy ciężkie funkcje obliczeniowe można zaimplementować za pomocą natywnych modułów dla iOS i Androida, reszta kodu może być napisana za pomocą JavaScript i udostępniana na różnych platformach. W przeciwieństwie do narzędzi wieloplatformowych PhoneGap i Cordova, React Native nie używa WebView, mobilnego silnika, który opakowuje kod. Zamiast tego zapewnia dostęp do rodzimych kontrolerów mobilnych, co pozwala uzyskać natywny wygląd i działanie aplikacji.

Przyjrzyjmy się więc bliżej zaletom i wadom ReactJS jako głównemu produktowi. Następnie zbadamy, w jaki sposób React Native jest inny i jakie korzyści i wady odziedziczył po ReactJS.

Zalety ReactJS

1. Wirtualny DOM w ReactJS sprawia, że ​​doświadczenie użytkownika jest lepsze, a programista pracuje szybciej

DOM (model obiektu dokumentu) to logiczna struktura dokumentów w formatach HTML, XHTML lub XML. Opisując to w terminach laika, jest to porozumienie dotyczące przeglądania danych wejściowych i wyjściowych, które ma formę drzewa. Przeglądarki internetowe używają silników układu do przekształcania lub analizowania składni HTML reprezentacji w modelu obiektów dokumentu, który możemy zobaczyć w przeglądarkach.

Drzewo obiektów HTML DOM   Źródło: W3Schools Drzewo obiektów HTML DOM
Źródło: W3Schools

Głównym problemem związanym z tradycyjną konstrukcją DOM jest sposób, w jaki przetwarza zmiany, tj. Dane wejściowe użytkownika, zapytania i tak dalej. Serwer stale sprawdza różnicę spowodowaną tymi zmianami, aby uzyskać niezbędną odpowiedź. Aby odpowiednio zareagować, musi także zaktualizować drzewa DOM całego dokumentu, co nie jest ergonomiczne, ponieważ drzewa DOM są dzisiaj dość duże, zawierają tysiące elementów.

Zespół odpowiedzialny za React zdołał zwiększyć szybkość aktualizacji za pomocą wirtualnego DOM. W przeciwieństwie do innych frameworków, które działają z Real DOM, ReactJS używa swojej abstrakcyjnej kopii - Virtual DOM. Aktualizuje nawet minimalistyczne zmiany stosowane przez użytkownika, ale nie wpływa na inne części interfejsu. Jest to możliwe również dzięki izolacji komponentów React, do której dojdziemy za minutę, oraz specjalnej strukturze danych w bibliotece.

Jest to możliwe również dzięki izolacji komponentów React, do której dojdziemy za minutę, oraz specjalnej strukturze danych w bibliotece

Prawdziwe i wirtualne DOM

To sprawia, że ​​aktualizacje są naprawdę szybkie, pozwalając na zbudowanie bardzo dynamicznego interfejsu użytkownika. Możemy to zauważyć pisząc na czacie na Facebooku i widząc jednocześnie aktualizujący kanał informacyjny. Co więcej, w ReactJS programiści nie muszą wiązać DOM z funkcjonalnością frontonu, ponieważ elementy React są już z nim połączone.

Podejście to umożliwiło programistom szybszą pracę z obiektami interfejsu użytkownika i korzystanie z przeładowywania na gorąco (stosowanie zmian w trybie czasu rzeczywistego). Nie tylko zwiększyło wydajność, ale także przyspieszyło programowanie.

2. Zezwolenie na ponowne użycie Komponenty React znacznie oszczędzają czas

Kolejną zaletą wprowadzoną przez Facebooka w React jest możliwość ponownego użycia komponentów kodu o innym poziomie w dowolnym momencie, inny znaczący efekt oszczędzający czas.

Pomyśl o projektantach. Nieustannie wykorzystują te same aktywa. Jeśli tego nie zrobią, będą musieli na przykład rysować logo firmowe. To całkiem oczywiste: ponowne użycie to efektywność projektowania. W programowaniu ten proces jest nieco trudniejszy. Aktualizacje systemu często zmieniają się w ból głowy, ponieważ każda zmiana może wpływać na pracę innych komponentów w systemie.

Zarządzanie aktualizacjami jest łatwe dla programistów, ponieważ wszystkie komponenty ReactJS są izolowane, a zmiana jednego nie wpływa na innych. Pozwala to na ponowne wykorzystanie komponentów, które same nie powodują zmian, aby programowanie było bardziej precyzyjne, ergonomiczne i wygodne dla programistów. Czek ten przewodnik Alexa Grigoryana z WalmartLabs w jaki sposób osiągnąć efektywną możliwość ponownego wykorzystania kodu w ReactJS.

3. Jednokierunkowy przepływ danych w ReactJS zapewnia stabilny kod

ReactJS pozwala na bezpośrednią pracę z komponentami i wykorzystuje powiązanie danych w dół, aby zapewnić, że zmiany struktur potomnych nie wpłyną na ich rodziców. To sprawia, że ​​kod jest stabilny.

Większość złożonych systemów reprezentacji modelu reprezentacji JS ma znaczącą, ale zrozumiałą wadę - strukturę przepływu danych. W systemie modelu widoku elementy potomne mogą wpływać na rodzica, jeśli uległy zmianie. Facebook usunął te problemy w React JS, czyniąc go tylko systemem widoku.

Zamiast używać jawnego powiązania danych, ReactJS używa jednego kierunku - w dół - przepływu danych. W takiej strukturze elementy potomne nie mogą wpływać na dane nadrzędne. Aby zmienić obiekt, programista musi jedynie zmodyfikować swój stan i zastosować aktualizacje. Odpowiednio, tylko dozwolone komponenty zostaną uaktualnione.

4. Otwarta biblioteka na Facebooku: stale rozwijająca się i otwarta na społeczność

ReactJS był jednym z pierwszych projektów związanych z JavaScriptem wydanych jako Facebook przez Facebooka. Oznacza to, że ReactJS wykorzystuje wszystkie zalety bezpłatnego dostępu - wiele przydatnych aplikacji i dodatkowych narzędzi od programistów spoza firmy. Pete Hunt z Facebooka twierdzi, że przynajmniej dwie główne funkcje - grupowanie i przycinanie - zostały stworzone przez programistów, którzy zauważyli projekt na GitHub. Teraz ReactJS jest 5. w Trendingu na GitHub z ponad 111 000 gwiazd. I jest ich więcej niż 1200 open-source współpracownicy współpracujący z biblioteką.

5. Redux: wygodny kontener stanu

Przed napisaniem gniewnego komentarza, że ​​Redux jest agnostycznym frameworkiem i możesz z niego korzystać z Angularem lub Vue, i że nie jest to wyłączne działanie React w ogóle, pamiętaj, że to wiemy. Warto jednak wspomnieć tutaj o Redux, ponieważ narzędzie jest uważane za instrument, którego każdy musi nauczyć się od inżyniera React. 60 procent aplikacji React. Tak, możesz użyć Reduxa z Angularem, ale prawdopodobieństwo, że programista React będzie wiedział, że Redux jest znacznie wyższe niż znajomość Angulara. I znajdziesz więcej wsparcia dla społeczności w rozwiązywaniu krzywej uczenia się React Redux. Więc dlaczego to jest dobre?

Redux upraszcza przechowywanie i zarządzanie stanami komponentów w dużych aplikacjach z wieloma elementami dynamicznymi, gdzie staje się coraz trudniejsze. Redux przechowuje stan aplikacji w jednym obiekcie i umożliwia każdemu komponentowi dostęp do stanu aplikacji bez zajmowania się komponentami podrzędnymi lub przy użyciu wywołań zwrotnych. Na przykład, jeśli masz dwa komponenty, które dzielą ten sam stan (jak szczegółowe i ogólne widoki na obrazku poniżej) i wyróżniają się na drzewie, bez Redux, dane muszą być przekazywane przez wiele komponentów pośredniczących z wszystkimi problemami, które się z nimi wiążą to.

Na przykład, jeśli masz dwa komponenty, które dzielą ten sam stan (jak szczegółowe i ogólne widoki na obrazku poniżej) i wyróżniają się na drzewie, bez Redux, dane muszą być przekazywane przez wiele komponentów pośredniczących z wszystkimi problemami, które się z nimi wiążą to

Interfejsy główne i szczegółowe dzielą te same dane, ale przejście do najbliższego przodka tych dwóch komponentów może znajdować się wysoko na drzewie

Przykład Mark Erikson i Sophia Shoemaker at fullstackreact.com

Redux zapewnia scentralizowany obiekt przechowywania danych, aby umożliwić tym komponentom bezpośredni dostęp do niego.

Dodatkowo, gdy stany stają się łatwiejsze do zarządzania, aplikacja jest łatwiejsza do testowania i rejestrowania zmian danych. Narzędzie umożliwia również ponowne ładowanie, o którym wspominaliśmy powyżej, i wiele innych przydatnych czynności. Możesz dowiedzieć się więcej o Redux w Zrozumienie książki Redux przez Ohans Emmanuel.

6. Szeroki zestaw narzędzi React i Redux

Zarówno React, jak i Redux posiadają porządny zestaw powiązanych narzędzi, które ułatwiają życie programistom. Na przykład, React Tools Developer rozszerzenie do Chrome i podobne do Firefox pozwalają analizować hierarchie komponentów w wirtualnym DOM i edytować stany i właściwości. Dodatkowo możesz sprawdzić React Sight który wizualizuje stan i podpiera drzewa; Ponownie wybierz DevTools to pomaga w debugowaniu i wizualizacji Wybierz ponownie , biblioteka selektorów dla Redux. Redux DevTools Profiler Monitor pozwala na profilowanie akcji w… Chrome DevTools. I tu są o wiele więcej, aby spróbować .

Minusy ReactJS

1. Wysokie tempo rozwoju

Ta wada jest trafnie opisana przez deweloperów Michaela Jacksona i Ryana Florence w Modern Web: „W przypadku, gdy nie zauważyłeś, że prowadzimy tutaj samochód z dwiema płaskimi oponami, kaptur właśnie poleciał przed przednią szybę i mamy nie ma pojęcia, co się dzieje! ”Środowisko stale się zmienia, a programiści muszą regularnie uczyć się nowych sposobów robienia rzeczy. Wszystko ewoluuje, a niektórzy programiści nie czują się dobrze z nadążaniem za takim tempem.

2. Słaba dokumentacja

Problem z dokumentacją wraca do ciągłego wydawania nowych narzędzi. Różne i nowe biblioteki, takie jak Redux i Reflux, obiecują przyspieszyć pracę biblioteki lub poprawić cały ekosystem React. Na koniec programiści zmagają się z integracją tych narzędzi z ReactJS. Niektórzy członkowie społeczności uważają, że technologie React aktualizują się i przyspieszają tak szybko, że nie ma czasu na pisanie odpowiednich instrukcji. Aby rozwiązać ten problem, programiści piszą własną dokumentację konkretnych narzędzi używanych przez nich w bieżących projektach.

3. „HTML w moim JavaScript!” - JSX jako bariera

ReactJS używa JSX . Jest to rozszerzenie składniowe, które umożliwia miksowanie HTML z JavaScript. JSX ma swoje zalety (na przykład chroni kod przed wstrzyknięciami), ale niektórzy członkowie społeczności programistów uważają JSX za poważną wadę. Programiści i projektanci narzekają na złożoność JSX i wynikającą z tego stromą krzywą uczenia się.

4. Dodatkowy kłopot z SEO

Pojawiły się obawy, że Google i inne wyszukiwarki nie mogą indeksować lub źle indeksować dynamicznych stron internetowych za pomocą renderowania po stronie klienta. Obawy te nie zostały w pełni udowodnione i istnieją obalające materiały na około. Sam Google zatwardziały w 2014 roku ich roboty indeksujące są w stanie odczytywać treści dynamiczne. Nie powiemy, że Twoja aplikacja ReactJS nie zostanie zaindeksowana przez Google. W końcu jest rok 2018.

Jednak nadal musisz przeprowadzić testy, aby upewnić się, że Twoja aplikacja sprawia, że ​​kumpel jest poza Google, ponieważ wystąpiły problemy zgłoszone przez niektórych użytkowników. Specjaliści SEO zalecają uruchamianie aplikacji React przez Pobierz jako Google narzędzie do lepszego poznania, jak przeżywają je roboty.

Chociaż nie jest to duży problem, SEO może dodać do wysiłku programistycznego. Możesz dowiedzieć się więcej o Skontaktuj się z aplikacjami testującymi SEO tutaj .

ReactJS i React Native: jaka jest różnica?

Dwa lata po wydaniu ReactJS w 2015 roku Facebook stworzył React Native. Podczas gdy biblioteka ReactJS została opracowana do tworzenia interfejsów internetowych, React Native to hybrydowy framework do tworzenia aplikacji dla iOS i Androida, który pozwala na ponowne wykorzystanie do 95 procent kodu pozostawiając resztę do projektowania interfejsy specyficzne dla platformy .

Wszystkie różnice techniczne między nimi spowodowane są celami platformy.

  • Podczas gdy ReactJS używa Virtual DOM do renderowania kodu przeglądarki, React Native wykorzystuje natywne API jako most do renderowania komponentów na urządzeniach mobilnych. Na przykład, dla komponentów Android, używa API Java i wywołuje API Objective-C do renderowania na iOS.
  • React Native nie używa HTML. Tak więc, jeśli wcześniej pracowałeś z ReactJS, musisz zapoznać się ze składnią React Native. Na przykład używa <Text> zamiast <p> i <View> zamiast <div>.
  • Ponieważ React Native nie używa CSS, standardowe funkcje CSS, takie jak animacja, są uruchamiane za pomocą specjalnych interfejsów API React Native.

Zalety React Native

Obecnie React Native Framework jest jednym z najszybszych i najbardziej wydajnych środowisk tworzenie aplikacji mobilnych . Jest to analogiczne do ReactJS i oto, co powinieneś wiedzieć pod względem mobilnym:

1. React Native używa JavaScript - szybkiego i popularnego języka programowania

Powtórzmy - JavaScript pozostaje jednym z najszybszych i najczęściej używanych języków programowania. Jak omówiliśmy w naszym artykule plusy i minusy programowania JavaScript w pełnym stosie 55,4% programistów używa JavaScript zgodnie z coroczne badanie przepełnienia stosu . Dojrzałość społeczności JS pozwala specjalistom szybko nauczyć się języka i stale postępować z nim. Dlatego zazwyczaj powinieneś być w stanie szybko znaleźć dewelopera React Native dla swojego projektu.

Poza tym React Native Leasing i łączy główne zalety JavaScript i ReactJS. Ze względu na powszechność kodu JS inżynierowie mogą pracować szybciej i wydajniej, ponieważ nie muszą ponownie uruchamiać opracowanej aplikacji po każdej aktualizacji, aby zobaczyć zmiany; mogą po prostu odświeżyć stronę przeglądania.

W niektórych przypadkach aktualizacje po uruchomieniu można wykonać szybciej. Na przykład Apple zezwala na zmiany zachowania aplikacji w oparciu o JavaScript w trybie czasu rzeczywistego bez wymaganego cyklu przeglądu.

2. Rodzime kontrolki i rodzime moduły w React Native poprawiają wydajność

React Native udostępnia niektóre komponenty kodu z natywnymi interfejsami API, w przeciwieństwie do innych platform wieloplatformowych, takich jak PhoneGap, które renderują kod za pomocą WebView, mobilnego silnika. Podczas gdy podejście WebView znacznie zmniejsza wydajność, React Native komunikuje się z docelowymi komponentami dla iOS lub Androida i renderuje kod do natywnych API bezpośrednio i niezależnie. W ten sposób React używa oddzielnego wątku z interfejsu użytkownika, co również zwiększa wynik wydajności.

Renderowanie WebView a Reakcja Renderowanie rodzime

Rodzime moduły pełnią inną ważną rolę. Obecnie React zapewnia zestaw rodzimych modułów napisanych w Objective-C i Java out-of-the-box. Modułów tych nie można ponownie wykorzystać na dwóch platformach, ale mają one na celu zwiększenie wydajności w operacjach wymagających dużej mocy obliczeniowej, takich jak edycja obrazu lub odtwarzanie wideo. Zasadniczo zespół może zastosować istniejące moduły lub, jeśli mają doświadczenie w języku Java i Objective-C, piszą własne moduły. Wraz ze wzrostem społeczności React niektóre rzeczy są już dostępne. Reszta bazy kodu może być ponownie użyta. Na przykład Facebook Ads Manager udostępnia 87 procent kodu na Androida i iOS.

Ponadto React Native udostępnia proste narzędzia do debugowania i przesyłania komunikatów o błędach. Na przykład, podobnie jak w przypadku programowania internetowego, specjaliści mogą korzystać z narzędzi programistycznych Chrome lub Safari, z których zwykle są zaznajomieni.

3. React Native zawiera wszystkie funkcje ReactJS, mające na celu poprawę interfejsu użytkownika

React Native używa ReactJS jako biblioteki JavaScript, więc ma wszystkie swoje zalety. Aby utworzyć aplikację React Native na różnych platformach, programiści nie muszą znać języka rodzimej platformy. Muszą być biegli w JavaScript i zaznajomieni ze składnią React. Ale, jak wspomniano, mogą łatwo dodawać komponenty rodzime również do kodu.

Zachowany jest również przepływ danych w dół , więc podstawowe komponenty mogą być edytowane bez wpływu na komponenty potomne. Sprawia to, że rozwój interfejsu użytkownika przebiega płynnie, a jednocześnie pozytywnie wpływa na komfort użytkowania. Aplikacje wyglądają i są rodzime.

Minusy React Native

1. Dokumentacja

Niestety React Native dziedziczy główną wadę ReactJS. Społeczność jest młoda, więc dostępna dokumentacja jest słaba, zwłaszcza w przypadku integracji z dodatkowymi narzędziami.

2. Wiedza o rodzimych modułach

Omówiliśmy rodzime moduły w sekcji profesjonalistów. Zdecydowanie wprowadzają elastyczność w ramy, wypełniając brakujące linki wydajności. Jeśli potrzebujesz obsługiwać operacje wymagające dużej mocy obliczeniowej, możesz wstrzykiwać moduły natywne i uzyskać prawdziwie natywny wygląd aplikacji.

Jednak do pewnego stopnia może to zaprzeczyć punktowi rozwoju międzyplatformowego, ponieważ nadal potrzebujesz rezerwowych inżynierów natywnych (Objective-C, Java lub obu). Więc może nie potrzebujesz React Native do zbudowania kolejnego mobilnego Photoshopa. Ale jeśli nie dążysz do wykonywania trudnych zadań, wystarczy doświadczenie JS.

3. Komponenty innych firm

React Native ma wiele rodzimych modułów dla systemów iOS i Android, ale liczba komponentów innych firm jest wciąż ograniczona. I nie możemy wiedzieć na pewno, że moduły zbudowane przez społeczność będą wspierane przez kolejne wersje frameworka. Pozostaje to wadą, ponieważ React Native nie oferuje szerokiego spektrum możliwych funkcji, które programiści mogą chcieć wdrożyć w swoich aplikacjach.

4. Aktualizacje opóźnionego SDK

React Native często ciągnie nogi, gdy iOS lub Android aktualizuje swoje SDK. Zespół React Native powinien zintegrować bibliotekę kodu z nowym oprogramowaniem. I pomimo tego, że działają dość szybko, nie mogą aktualizować każdej części API jednocześnie. Dlatego pełna synchronizacja między React Native i nowymi SDK często trwa zbyt długo.

Aby dowiedzieć się więcej na temat sposobu porównywania struktury z innymi narzędziami wieloplatformowymi, rozważ sprawdzenie naszego dedykowanego artykułu: Xamarin vs React Native vs Ionic .

5. Niestabilność, problemy ze zgodnością i błędy

W tej sekcji warto podkreślić pogrubioną, dużą liczbę problemów, które programiści zgłaszają po zajęciu się React Native, a czasem wyraźnie pytać „Czy ktoś może mi powiedzieć, czy poważny rozwój aplikacji jest możliwy w React Native?” Nie posunęlibyśmy się tak daleko (sprawdź kilka znaczących aplikacji RN poniżej). Ale oto krótka lista problemów, na które natknęli się inżynierowie podczas pracy z React Native:

  • Awarie przeładowania na gorąco
  • Niezgodności między bibliotekami społeczności a różnymi wersjami React Native
  • Problemy z emulatorem
  • Problemy z nawigacją
  • Konieczność częstej ponownej instalacji pakietów
  • Różne inne błędy

Pamiętaj, że narzędzie jest wciąż w fazie rozwoju, a droga do płynnego doświadczenia inżynierskiego nie będzie łatwa.

ReactJS i React Native Apps

Firmy, które już przyjęły ReactJS lub React Native, zrobiły to z różnych powodów. Oto najbardziej godne uwagi osoby adoptujące oprócz samego Facebooka.

Instagram. Zespół Instagram chciał zbudować stronę internetową, aplikację jednostronicową, aby umożliwić odwiedzającym witrynę dostęp do platformy społecznościowej. A ReactJS wydawał się najlepszy do tego celu. Aplikacja internetowa została zoptymalizowana i wydawała się szybka i wygodna dla użytkowników. Teraz zarówno mobilne, jak i internetowe aplikacje Instagram są zbudowane z React.

Netflix . Netflix, który przyjął ReactJS w 2015 roku, używa go teraz razem z Gibbon, warstwą renderującą. Wtedy Netflix wybrał React ze względu na model przepływu danych w jedną stronę i deklaratywne podejście do programowania.

Airbnb . Firma zdecydowała się przejść na ReactJS ze względu na możliwość ponownego użycia komponentów, bardzo proste refaktoryzowanie kodu i iterację. Teraz jest używany w wewnętrznych strukturach aplikacji mobilnej i strony internetowej firmy.

Bloomberg . Magazyn internetowy wybrał React Native podczas opracowywania aplikacji mobilnej. Ich post na stronie Tech w Bloomberg blog mówi, że jest to „pierwsze narzędzie, które naprawdę spełnia obietnicę tworzenia natywnych aplikacji na wielu platformach”.

Pod względem wydajności platforma React jest naprawdę postępowa, biorąc pod uwagę, jak wiele firm ją przyjęło. Podczas inne frameworki poprawiają interfejs użytkownika jeśli chodzi o wydajność oprogramowania, młody i czasami niechlujny React Native ma na celu zmianę sposobu komunikacji aplikacji z oprogramowaniem i sprzętem. Z drugiej strony, ReactJS, dzięki prostemu pomysłowi rozwiązywania problemów, został przekształcony w rozwiązanie, które może znacznie zoptymalizować wysiłki związane z tworzeniem stron internetowych i zwiększyć jego wydajność.

A React wciąż się poprawia. Na przykład zespół obietnice Duże zmiany w architekturze, w tym zmiany w istniejącym modelu wątków, renderowanie asynchroniczne oraz szereg innych reform mających na celu uczynienie biblioteki elastyczną i lekką.

Ten wpis jest częścią naszej serii „Dobre i złe”. Więcej informacji na temat zalet i wad najpopularniejszych technologii można znaleźć w innych artykułach z serii:

Dobry i zły rozwój Java

Dobre i złe Xamarin Mobile Development

Dobra i zła obsługa JavaScript w pełnym stosie

The Good and the Bad z Node.js Web App Development

Dobry i zły język szybkiego programowania

Dobry i zły program .NET Framework

Narzędzie dobrego i złego Selenium Test Automation Tool

Dobry i zły rozwój aplikacji na Androida

Co to jest React?
Co to jest ReactJS?
Jak reagować na rodzimą pracę?
Więc dlaczego to jest dobre?
ReactJS i React Native: jaka jest różnica?