Kompletny przewodnik dla CEO i Product Ownerów
Kiedy programiści Facebooka po raz pierwszy pokazali światu ReactJS na konferencji JSConf w 2013 roku, trudno im było przewidzieć, jak bardzo ta zapowiedź wpłynie na tworzenie aplikacji webowych.
Dwa lata później, zachęcona imponującym wzrostem biblioteki, firma opublikowała na GitHubie kolejny wewnętrzny projekt: React Native. 26 marca, dzień, w którym React Native trafił do świata open source, stał się kamieniem milowym w rozwoju aplikacji mobilnych.
Dziś, w 2023 roku, React Native (RN) jest jednym z najpopularniejszych repozytoriów na GitHubie: blisko 2300 kontrybutorów i ponad 21,5 tys. commitów w 74 gałęziach.
To tylko część pytań, na które odpowiemy w tym kompletnym przewodniku po frameworku React Native:
Czym właściwie jest React Native?
Jakie produkty i firmy mogą na nim skorzystać?
Dlaczego warto rozważyć React Native przy kolejnej aplikacji mobilnej?
Jak zbudować swoją pierwszą aplikację mobilną w React Native?
Wpisy na blogach, tutoriale na YouTubie, fora programistyczne, warsztaty, repozytoria kodu…
Jest mnóstwo źródeł do przejrzenia, kiedy szukasz kompletnej i wiarygodnej wiedzy o React Native.
Kto ma czas, żeby przeczytać je wszystkie?
Ta strona zbiera całą wiedzę o RN w jednym miejscu, z wiarygodnych źródeł. Koniec z szukaniem.
Rozważasz React Native przy kolejnym projekcie? Chcesz nauczyć się RN?
Jeśli prowadzisz startup, jesteś product ownerem, zasiadasz w zarządzie albo pracujesz w marketingu, ten przewodnik pomoże Ci zrozumieć React Native bez przekopywania się przez całe Google.
Przyda się też programistom, którzy chcą pisać w React Native.
I wreszcie jest po prostu dla każdego, kogo interesuje tworzenie aplikacji mobilnych.
To będzie długa lektura. W końcu chcemy Ci opowiedzieć o React Native WSZYSTKO. Nie masz teraz czasu? Pobierz wersję PDF tego przewodnika i zabierz ją ze sobą, gdzie chcesz
Klikając „Pobierz e-booka”, wyrażasz zgodę na przetwarzanie Twoich danych przez Ideamotive Sp. z o. o. w celach marketingowych, w tym marketingu e-mailowego.
Myślisz o zbudowaniu aplikacji mobilnej w React Native?
Porozmawiaj z naszym doradcą technologicznym. Przejrzymy Twoje wymagania, przygotujemy roadmapę produktu i skompletujemy pierwszorzędny zespół programistów.
Spis treści
Definicje React Native bywają zagadkowe. Żeby pomóc Ci ocenić, czy to właściwa technologia dla Ciebie, zaczniemy od rozszyfrowania jednej z nich.
React Native to framework JavaScript do budowania aplikacji mobilnych o natywnym wyglądzie i zachowaniu na iOS i Androida.
A teraz: jak to rozumieć?
Nazwa frameworka to połączenie React + native.
React to otwartoźródłowa biblioteka JavaScript do budowania interaktywnych interfejsów użytkownika (UI) w przeglądarce. Stworzył ją w 2011 roku Jordan Walke, a rok później została wdrożona na Facebooku. Szybko zyskała popularność dzięki elastyczności, łatwości użycia i wysokiej wydajności.
React Native to framework JavaScript używany do budowania natywnych aplikacji mobilnych na iOS, Androida i UWP. Facebook pokazał RN dwa lata po oficjalnej premierze Reacta, żeby w tworzeniu aplikacji mobilnych otworzyć drogę do wieloplatformowości. React Native używa Reacta (nazywanego też ReactJS) do budowania komponentów aplikacji. Stosuje też te same zasady projektowe, co pozwala tworzyć rozbudowane interfejsy mobilne.
Zarówno React Native, jak i React są rozwijane przez Facebooka.
Według Facebooka:
„Dzięki React Native nie budujesz »aplikacji mobilnej webowej«, »aplikacji HTML5« ani »aplikacji hybrydowej«. Budujesz prawdziwą aplikację mobilną, nie do odróżnienia od aplikacji napisanej w Objective-C czy Javie. React Native korzysta z tych samych podstawowych klocków interfejsu co zwykłe aplikacje na iOS i Androida. Ty po prostu składasz te klocki za pomocą JavaScriptu i Reacta”.
W świecie aplikacji mobilnych aplikacja natywna to oprogramowanie napisane pod konkretną platformę lub urządzenie. Aplikacje natywne pisze się w języku przeznaczonym dla danego systemu operacyjnego, na przykład Swift/Objective-C na iOS albo Java/Kotlin na Androida. Zapewniają wysoką niezawodność i wydajność oraz świetne doświadczenie użytkownika. Mają jednak także pewne wady.
Ponieważ każdy system operacyjny wymaga osobnej wersji aplikacji, napisanej w języku danej platformy, firmy potrzebują co najmniej dwa razy więcej czasu i zasobów, żeby wypuścić produkt na wszystkie urządzenia mobilne. A programiści muszą biegle znać kilka języków programowania, frameworków i narzędzi.
Choć React Native NIE jest w pełni natywny, korzysta z tych samych klocków co aplikacje na iOS i Androida. Daje takie samo doświadczenie użytkownika i niemal tak samo dobrą wydajność. Co więcej, w RN programiści piszą kod tylko raz, a powstałe oprogramowanie praktycznie nie różni się od zbudowanego specjalnie pod dany system.
React Native pozwala zbudować *wieloplatformową aplikację mobilną o natywnym wyglądzie i zachowaniu, stąd druga część nazwy: „native”. W RN możesz też budować aplikacje hybrydowe, które łączą kod natywny z kodem RN.
Żeby zgłębić temat natywnych aplikacji mobilnych, przejdź do sekcji REACT NATIVE A APLIKACJE NATYWNE.
* Wieloplatformowe tworzenie aplikacji mobilnych oznacza budowanie aplikacji, które działają na kilku mobilnych systemach operacyjnych. Mimo pewnych ograniczeń podejście to ma wiele przewag nad tworzeniem natywnym. Tam osobną aplikację trzeba zbudować pod każdą platformę, co wymaga szerszych kompetencji i zajmuje więcej czasu.
React Native to framework JavaScript . Żeby budować aplikacje w RN, musisz znać ten język i dobrze rozumieć programowanie w Reakcie.
Ponieważ RN opiera się na JavaScripcie, nie używa HTML-a ani CSS-a do budowy interfejsu. Wykorzystuje za to składnię JSX, więc warto się z nią również zaznajomić.
W programowaniu framework to kod, który daje tworzonym aplikacjom ujednolicony szkielet. Narzuca architekturę projektu: udostępnia funkcje, moduły, API i biblioteki.
Programiści używają frameworków, żeby uprościć tworzenie aplikacji i ograniczyć liczbę ręcznych czynności podczas pisania kodu.
React Native to framework do tworzenia aplikacji mobilnych z użyciem języka JavaScript oraz bibliotek React .
React Native to wyjątkowo popularny i wpływowy framework o wielu zastosowaniach: aplikacje B2B, aplikacje z formularzami i dynamicznymi obrazami, oprogramowanie używane wewnętrznie przez firmy, platformy edukacyjne itd.
Liczba znanych firm, które budują swoje aplikacje w RN, robi wrażenie. Z frameworka korzystają między innymi Facebook, Instagram, Google, Microsoft, Uber, LinkedIn i Walmart.
Zobacz też sekcję KIEDY UŻYWAĆ REACT NATIVE?
Aby dowiedzieć się więcej o zaletach (i wadach) React Native, przejdź do sekcji ZALETY I WADY REACT NATIVE.
Jak wyjaśniliśmy w poprzedniej sekcji, React Native to framework JavaScript oparty na bibliotekach Reacta, który umożliwia tworzenie wieloplatformowych aplikacji mobilnych o natywnym wyglądzie i zachowaniu.
Skoro RN sprawia wrażenie „prawie” natywnego, to czym dokładnie różni się od narzędzi przeznaczonych dla konkretnej platformy?
Zacznijmy od zdefiniowania aplikacji natywnych.
W 2018 roku Android działał na ponad 85% urządzeń mobilnych na świecie i miał ponad 2 miliardy aktywnych użytkowników. Apple z kolei ogłosiło, że przekroczyło próg 1,3 miliarda aktywnych urządzeń na początku tego roku.
„Ponad jedna piąta millenialsów (21%) przyznaje, że otwiera jakąś aplikację ponad 50 razy dziennie”
Te liczby oznaczają ogromny rynek i olbrzymi potencjał przychodów dla firm, które docierają do klientów na urządzeniach mobilnych.
Aplikacja natywna to kod napisany pod konkretną platformę, w języku danego mobilnego systemu operacyjnego. Zwykle są to Java i Kotlin na Androida albo Swift i Objective-C na iOS. Programiści tworzą aplikacje natywne w zintegrowanym środowisku programistycznym (IDE) właściwym dla danego systemu.
Aplikacje mobilne najczęściej powstają właśnie natywnie.
Aplikacje natywne działają błyskawicznie, mają łatwy dostęp do wszystkich API i funkcji urządzenia i reagują bez opóźnień. Są dopasowane do jednej platformy i nie zależą od wielu przeglądarek, języków i narzędzi, więc są też bezpieczne i niezawodne.
Skoro aplikacje natywne mają tyle oczywistych zalet, nasuwa się pytanie:
Dlaczego programiści mobilni używają React Native zamiast iść w pełni natywnie?
Zobacz także:
1. Mobile App Development: React Native vs Native (iOS, Android)
2. How To Pick The Right Custom Software Development Company? [Step-By-Step Guide]
W poprzedniej sekcji wypunktowaliśmy główne różnice między React Native a aplikacjami natywnymi.
Ponieważ firmy coraz częściej dostrzegają niepodważalne zalety pisania aplikacji tylko raz na różne systemy mobilne, stale rośnie też liczba narzędzi do tworzenia wieloplatformowego. Żeby pomóc Ci zrozumieć różnice między nimi, przyjrzymy się React Native w zestawieniu z kilkoma innymi frameworkami do budowania aplikacji wieloplatformowych.
Najlepszy = optymalny dla Ciebie
Zanim zaczniemy, słowo ostrzeżenia. Tak jak nie ma odpowiedzi na pytanie „Co jest lepsze? React Native czy aplikacje natywne?”, tak nie da się skreślić jednego rozwiązania wieloplatformowego na rzecz innego. Każdemu według potrzeb. Każda firma działa w innym kontekście biznesowym i dysponuje innymi zasobami.
Naszym celem nie jest promowanie React Native, tylko pokazanie Ci wszystkich sensownych opcji i pomoc w wyborze tej, która najlepiej pasuje do Twojego produktu.
Zaczynamy!
Istnieją dziesiątki potencjalnych alternatyw dla React Native. Część z nich, jak NativeScript czy Sencha, jest dość popularna. Inne są bardziej niszowe. Skupimy się na tych pierwszych: dojrzalszych, szerzej stosowanych i z mocnym wsparciem społeczności.
Żeby porównanie było wiarygodne, zdefiniowaliśmy zestaw kryteriów oceny:
Kolejne darmowe i otwartoźródłowe narzędzie na liście, NativeScript, używa głównie JavaScriptu do logiki aplikacji, ale pozwala pisać w dowolnym języku kompilowanym do JS, na przykład TypeScript. Framework w pełni integruje się z Angularem i wykorzystuje składnię przypominającą HTML do budowy interfejsu.
Dodatkowo NativeScript pozwala wykorzystać biblioteki zewnętrzne z CocoaPods, Android Arsenal, Maven i npm.js bez żadnych wrapperów. Używa środowiska uruchomieniowego do wywoływania API frameworków Androida i iOS z poziomu kodu JavaScript.
Flutter jest najmłodszy w tym zestawieniu. To otwartoźródłowy zestaw narzędzi od Google, który wyszedł z fazy beta w grudniu 2018 roku.
Od tamtej pory dojrzał i zdobywa coraz większą popularność.
Służy do budowania natywnych aplikacji na Androida i iOS i jest podstawowym narzędziem dla Google Fuchsia, systemu operacyjnego opartego na mikrojądrze Zircon zamiast monolitycznego jądra Linuksa. Aplikacje pisane we Flutterze zasilą więc nowy system Google'a.
Flutter zawiera nowoczesny framework w stylu Reacta, silnik renderowania 2D, gotowe widgety i narzędzia deweloperskie. Te elementy razem pomagają projektować, budować, testować i debugować aplikacje. Efekt: wydajne aplikacje, które na każdej platformie wyglądają naturalnie.
Więcej o Flutterze znajdziesz w naszych wpisach na blogu:
Czy Flutter to przyszłość wieloplatformowych aplikacji mobilnych?
React Native vs. Flutter – które rozwiązanie wieloplatformowe wybrać?
Apache Cordova wystartowała w 2009 roku jako PhoneGap na wydarzeniu iPhoneDevCamp w San Francisco. Rozwiązanie stworzył software house Nitobi, a dwa lata później, po przejęciu firmy przez Adobe Systems, zmieniło nazwę na Cordova. Nowy właściciel otworzył też kod.
Od tego czasu Cordova stała się popularnym narzędziem do budowania aplikacji mobilnych. Wykorzystuje CSS3, HTML5 i JavaScript do obsługi funkcji natywnych. Poza podstawowymi funkcjami framework pozwala szybko integrować się z innymi mobilnymi frameworkami UI i zewnętrznymi API, takimi jak Sencha Touch, Dojo Mobile czy jQuery Mobile.
Ionic powstał w 2013 roku na bazie AngularJS i wspomnianej wyżej Apache Cordova . To otwartoźródłowy SDK do tworzenia hybrydowych aplikacji mobilnych.
Więcej o Ionicu znajdziesz w naszym wpisie na blogu:
React Native vs. Ionic – który framework do aplikacji hybrydowych wybrać?
Podobnie jak Cordova, to weteran naszej listy: pierwsza beta pojawiła się w 2010 roku.
Sencha (albo Sencha Touch) łączy tworzenie stron i aplikacji mobilnych z frameworkiem HTML5 wykorzystującym JavaScript lub Javę. Platforma obejmuje kilka popularnych frameworków, takich jak ExtJS czy GXT, i opiera się na standardach webowych, głównie HTML5 i CSS3. Sencha to potężne narzędzie, które pozwala tworzyć nie tylko aplikacje mobilne, ale i webowe.
Na koniec Xamarin. W przeciwieństwie do pozostałych technologii nie opiera się na JavaScripcie, tylko na języku C# i frameworku .NET. Aplikacje na Androida, iOS i Windows programiści piszą na jednej wspólnej bazie kodu .NET w narzędziach Xamarin, takich jak Visual Studio.
Jeszcze raz: nie ma jednego „najlepszego narzędzia do tworzenia wieloplatformowego”, które zdecydowanie wyprzedza resztę. Mnogość tych technologii mówi sama za siebie. Każda z nich, w tym React Native, ma swoje zalety, a obok nich szereg wad.
Przejrzyj nasze porównanie i pomyśl o swoich wymaganiach oraz zasobach. Zestaw wszystkie czynniki, oceń je pod kątem celów biznesowych i możliwości zespołu, a potem podejmij świadomą decyzję.
| Nazwa narzędzia | Obsługiwane platformy |
| Cordova | iOS, Android, OS X (bardzo ograniczone wsparcie), Windows Phone |
| Ionic | iOS, Android |
| Flutter | iOS, Android, Google Fuchsia |
| NativeScript | iOS, Android |
| React Native | iOS, Android, Windows Phone |
| Sencha | Android, iOS, Windows Phone, Microsoft Surface Pro i RT oraz urządzenia BlackBerry |
| Xamarin | iOS, Android, Windows, macOS |
| Nazwa narzędzia | Koszt |
| Cordova | Darmowa i otwartoźródłowa, ale część narzędzi korzystających z Cordovy (np. framework Onsen.io albo Visual Studio) jest płatna. |
| Ionic |
Cena zależy od dostępnych funkcji. Minimalny pakiet jest darmowy (obejmuje konto osobiste, dostęp do forum społeczności i własne narzędzie deweloperskie). Budowanie w chmurze i większa liczba wdrożeń aktualizacji na żywo kosztują 29 dolarów miesięcznie. Kolejny plan zaczyna się od 120 dolarów miesięcznie. Dostępny jest też pakiet indywidualny. Wszystkie pakiety i ceny znajdziesz na tej stronie. |
| Flutter | Darmowy i otwartoźródłowy. |
|
NativeScript |
Darmowy i otwartoźródłowy do 100 buildów w chmurze na użytkownika miesięcznie. Powyżej tego progu są dwa gotowe plany: 19 dolarów miesięcznie dla małych firm i 249 dolarów miesięcznie dla dużych, plus wycena indywidualna. Modele cenowe NativeScript znajdziesz na tej stronie. |
| React Native | Darmowy i otwartoźródłowy. |
| Sencha |
Model cenowy Senchy bywa mylący. Ceny poszczególnych pakietów są różne i zależą między innymi od liczby programistów oraz dodatkowych funkcji. Pakiet Pro (do 5 programistów) dla ExtJS kosztuje 6280 dolarów, a pakiet Enterprise 9190 dolarów. Licencje GXT kosztują mniej więcej tyle samo. Licencje indywidualne dla programisty (na rok) zaczynają się od 799 dolarów za pakiet standardowy. Pełny cennik znajdziesz tutaj: https://www.sencha.com/pricing/. |
| Xamarin |
Modele cenowe Xamarina są niemal równie skomplikowane. Xamarin Studio Community (do pięciu programistów) jest darmowy, ale użytkownicy zgłaszają, że bywa zawodny i niestabilny. Visual Studio Professional, który najlepiej pasuje do małych i średnich firm, zaczyna się od 799 dolarów rocznie na użytkownika we wdrożeniu chmurowym. Wersja standardowa kosztuje około 50% więcej. Za najtańszy pakiet Visual Studio Enterprise, odpowiedni do dużych projektów, trzeba zapłacić 2569 dolarów rocznie na użytkownika. Szczegółowy cennik sprawdzisz tutaj. |
| Nazwa narzędzia | Dokumentacja |
| Cordova | Apache udostępnia dość obszerną dokumentację Cordovy. Zawiera instrukcje pisania kodu dla każdej obsługiwanej platformy, wskazówki do stworzenia pierwszego projektu, wytyczne do budowania wtyczek oraz bibliotekę zasobów i API. Blog informuje o najnowszych wydaniach platformy, poprawkach i nowych komponentach. |
| Ionic | Dokumentacja Ionica jest przejrzyście podzielona na kilka przydatnych sekcji: wprowadzenie, UI i komponenty, API czy FAQ. Dodatkowo programiści korzystający z narzędzia mogą dzielić się przemyśleniami i doświadczeniami na forum albo poznawać najnowsze informacje na blogu frameworka. |
| Flutter | Flutter ma świetną dokumentację, prawdopodobnie najlepszą w tym zestawieniu: mnóstwo tutoriali i przykładów do przestudiowania. Ułatwia też dokumentowanie samego oprogramowania, bo ma dobrze rozwinięte środowisko do projektowania, testowania i modyfikowania kodu, zgodne z Visual Studio Code, Android Studio i IntelliJ. |
| NativeScript |
W swojej dokumentacji NativeScript szczegółowo opisuje, jak zacząć od podstaw, połączyć NS z Angularem i budować komponenty wieloplatformowe z Vue.JS. Wsparcia jest sporo, zwłaszcza dla programistów, którzy dopiero zaczynają z tym narzędziem. Mogą użyć funkcji Playground, żeby pisać kod i na żywo oglądać wyniki, wyświetlić katalog przykładowych projektów oraz przejrzeć wszystkie dostępne wtyczki, API i komponenty. |
| React Native |
Dokumentację React Native utrzymuje i regularnie aktualizuje Facebook. Nie brakuje przewodników referencyjnych ani forów dyskusyjnych do nauki. Dodatkowo Facebook udostępnia tutorial, który pomaga początkującym łatwo wystartować z pierwszym projektem RN. Wszystkie nowe funkcje i aktualizacje publikowane są na blogu frameworka. Programiści mają też łatwy dostęp do bogatej biblioteki komponentów i API. |
| Sencha |
Dla każdego ze swoich frameworków Sencha Touch oferuje osobną dokumentację i przewodniki „Get Started”. Te materiały są kompletne i zawierają między innymi listę najnowszych aktualizacji i zmian, podstawowe tutoriale, opis architektury, przykłady i kluczowe pojęcia. Sencha prowadzi też blog z nowinkami firmowymi, informacjami o produktach i dodatkowymi materiałami, a użytkownikom udostępnia forum dyskusyjne. |
| Xamarin |
Xamarin ma szczegółową dokumentację krok po kroku ułożoną wygodnie w tematy według komponentów i funkcji: App Fundamentals, UI, XAML i wiele innych. Każde zagadnienie jest opisane dogłębnie i przystępnie. Ze strony dokumentacji programiści przejdą też do przykładowych funkcji i aplikacji albo do Xamarin University, biblioteki kursów online prowadzonych przez ekspertów Xamarina. Z tej ostatniej w pełni skorzystasz dopiero z płatną subskrypcją. |
Wszystkie prezentowane narzędzia do wieloplatformowego tworzenia aplikacji mobilnych mogą pochwalić się dużą społecznością użytkowników, która nieustannie je rozwija.
Choć sama liczba użytkowników i kontrybutorów danej platformy nie powinna przesądzać o wyborze technologii do Twojego projektu, jest ważnym czynnikiem oceny.
| Nazwa narzędzia | Społeczność programistów | Gwiazdki na GitHubie | Liczba repozytoriów | Inne (dodatkowe) |
| Cordova | Używana przez ok. 11% programistów mobilnych | 2500 | 72 z 4 tys. commitów | Jedno z najbardziej „znienawidzonych” narzędzi mobilnych wśród programistów. |
| Ionic | 5 milionów programistów | 42 600 | 267 z 10,5 tys. commitów | ponad 100 grup Meetup |
| Flutter | Szybko rosnąca popularność, zwłaszcza na rynkach wschodnich (Chiny, Indie) | 109 000 | 21,8 tys. | - |
| NativeScript | Szacowana na 7 milionów w grudniu 2020 | 19 500 | 197 z 6 tys. commitów | - |
| React Native | Uwielbiany przez 57,9% programistów, jedna z najczęściej używanych technologii | 92 500 | 21,5 tys. commitów | - |
| Sencha | Ponad 2 miliony | brak danych | 66 tys. commitów | - |
| Xamarin | 1,4 miliona | brak danych |
147 commitów |
- |
A jak wygląda popularność wśród firm? Przejdźmy przez każde narzędzie i zobaczmy, kto z nich korzysta.
| Nazwa narzędzia | Popularność |
| Cordova |
Cordova nie może pochwalić się znanymi markami wśród użytkowników. Platformy używają głównie lokalne startupy, małe i średnie firmy oraz organizacje open source, co sugeruje, że lepiej nadaje się do prostych, tanich aplikacji. Najbardziej znane firmy korzystające z Cordovy to między innymi BetRocket, FoodIT, Gweepi, Toucan Toco czy DocEngage. |
| Ionic |
W portfolio Ionica są rozpoznawalne firmy: Untappd (Tinder świata piwa), Nationwide, Sworkit, McDonald's czy Diesel. Szerszą listę aplikacji zbudowanych w Ionicu znajdziesz na tej stronie. |
| Flutter | Flutter to wciąż nowa technologia, która walczy o swoje miejsce wśród użytkowników. Dzięki wsparciu Google'a oraz ogólnej wszechstronności i wygodzie technologii baza klientów rośnie, ale na wielkie marki jeszcze poczekamy. Warto zwrócić uwagę na szybko rosnącą popularność Fluttera w Chinach i Indiach. |
| NativeScript | NativeScript ma na koncie całkiem pokaźną listę udanych wdrożeń. Wśród znanych firm, które zbudowały w nim swoje aplikacje, są Bosch, Samsung, InfoSys, Target, Zurich czy Volvo, a lista wciąż się wydłuża... |
| React Native | Jest mnóstwo firm, które używają RN. Wymieńmy najważniejsze: Facebook (oczywiście), Instagram, Walmart, SoundCloud, UberEats, Bloomberg, Pinterest czy Skype. Ten gwiazdorski skład dowodzi, że RN sprawdza się szczególnie dobrze w świecie mediów społecznościowych i e-commerce'u. |
| Sencha |
Sencha chwali się ponad 10 000 klientów korporacyjnych, „w tym 60% firm z listy Fortune 100”. Potwierdza to niezawodność platformy i szeroki zakres zastosowań, ale jakość ma tu słoną cenę. Firmy korzystające z frameworków Senchy to między innymi: AT&T, Apple, Associated Press, Canon, Cisco, Deloitte, EMC, Fujitsu, Honda... i tak dalej, aż do Z. |
| Xamarin | Xamarin to kolejne narzędzie z imponującą listą klientów. Aviva, Coca-Cola, Cognizant, Fox Sports, Freelancer, JetBlue, Mars, Microsoft, Pearson, żeby wymienić tylko kilka. Pełną listę firm korzystających z Xamarina znajdziesz tutaj. |
Zalety Cordovy
Wady Cordovy
Zalety Ionica
Wady Ionica
Zalety Fluttera
Wady Fluttera
Zalety NativeScriptu
Wady NativeScriptu
Pogłębioną analizę zalet i wad RN znajdziesz w sekcji ZALETY I WADY REACT NATIVE.
Zalety React Native
Wady React Native
Zalety Senchy
Wady Senchy
Zalety Xamarina
Wady Xamarina
„Prawie 70% programistów zna JavaScript”.
A React jest w pierwszej trójce najczęściej używanych bibliotek.
Popularność JavaScriptu i Reacta sprawia, że React Native należy do ulubionych frameworków programistów. Korzystają na tym jednak nie tylko oni.
Dzięki uproszczonemu procesowi wytwarzania i krótszemu czasowi dostarczania kodu React Native daje liczne korzyści właścicielom firm i kierownikom projektów.
W tej sekcji przyjrzymy się z bliska temu, dlaczego RN jest tak popularny, i sprawdzimy też jego słabe strony.
9. Czytelność kodu
React Native stosuje deklaratywny paradygmat programowania, który skupia się na określaniu zamierzonych rezultatów zamiast podawania wskazówek, jak je osiągnąć. To przeciwieństwo programowania imperatywnego, które wydaje komputerowi polecenia do wykonania.
Zaletą tego podejścia jest bardziej zrozumiały i łatwiej skalowalny kod. React Native jest bardzo czytelny, przez co łatwiej się go nauczyć, zwłaszcza mniej doświadczonym programistom.
10. Rosnąca społeczność
Na koniec: ponieważ React Native daje pozytywne doświadczenie pracy z kodem, cieszy się ogromnym wsparciem społeczności programistów. Liczba osób sięgających po RN stale rośnie, a od premiery kilka lat temu framework stał się jednym z najczęściej używanych narzędzi do tworzenia aplikacji mobilnych.
RN jest otwartoźródłowy, co oznacza, że każdy może dołożyć swoje usprawnienia kodu, dokumentację i nowe komponenty. Co więcej, projekt ma stałe wsparcie Facebooka, dzięki czemu nieustannie się rozwija.
Nie ma idealnych narzędzi i frameworków, a React Native nie jest wyjątkiem. Przeanalizujmy kilka jego słabości:
Dlaczego programiści kochają React Native?
Dlaczego firmy kochają React Native?
Co poprawić?
Zobacz także:
1. React Native Development Advantages
2. What are the downsides of using React Native for building iOS apps? Are there any performance costs?
3. React Native Debugging Tools
4. A Guide to Using a Third-Party API with React Native
5. How an Android developer dived into React Native and survived
Programiści mają do wyboru dziesiątki języków i paradygmatów programowania oraz mnóstwo frameworków i narzędzi. Wszystkie istnieją nie bez powodu.
W projektach informatycznych nie ma rozwiązania dobrego na wszystko. Z React Native jest tak samo. Mimo szybkiego tempa pracy, niezależności od platformy i innych unikalnych korzyści zdarzą się aplikacje, do których nie będzie najlepszym frameworkiem.
W połowie 2018 roku pojawiła się wiadomość, która wstrząsnęła całym światem tworzenia oprogramowania mobilnego. Airbnb, gigant branży turystycznej online, postanowił wycofać React Native ze swoich projektów. Za tą decyzją stało wiele czynników, ale ostatecznie Airbnb uznał, że React Native nie odpowiada jego wyjątkowym potrzebom. Mimo tej zaskakującej zapowiedzi zdecydowana większość programistów Airbnb była zadowolona z frameworka i rozważyłaby go przy nowym projekcie.
Przypadek Airbnb dowodzi, że nawet najefektywniejsze narzędzia programistyczne czasem nie spełniają konkretnej obietnicy biznesowej.
„Dlatego przy decyzji o stacku technologicznym kluczowe jest spojrzenie z kilku perspektyw, żeby nie doszło do rozjazdu między celami i zasobami firmy a wyzwaniami i możliwościami technologicznymi”.
Przyjrzyjmy się kilku przypadkom, w których React Native jest mocnym kandydatem do wdrożenia. Ta lista nie jest wyczerpująca. To tylko przykłady zastosowań, do których RN pasuje najlepiej.
A jakie są przykłady aplikacji, w których React Native może nie być najlepszym wyborem?
Zobacz także:
1. Why I should not use React Native?
2. To go or not to go React Native
3. Building An E-commerce Search App with React Native
4. Building a Mobile App in 10 Days with React Native
5. The Crucial Role of E-commerce Mobile Apps for Sales Enhancement
Wydajność aplikacji mobilnej potrafi przesądzić o losie każdego produktu, niezależnie od jego przeznaczenia. Wystarczy wspomnieć, że około połowy użytkowników aplikacji mobilnych zamyka aplikację, gdy pojedynczy obrazek nie wczyta się wystarczająco szybko!
Kiedy słaba wydajność dotknie Twoich użytkowników, nie tylko porzucą produkt, ale przejdą do konkurencji. Dlatego stabilność aplikacji i płynne działanie są niezbędne dla dobrego doświadczenia użytkownika i mają bezpośredni wpływ na przychody.
„86% marketerów uważa, że poprawa wydajności aplikacji i strony mobilnej zwiększa zadowolenie klientów”.
W tej sekcji przyjrzymy się wydajności React Native i zobaczymy, jak poprawić doświadczenie użytkownika końcowego przez optymalizację kodu.
Do śledzenia i poprawy wydajności aplikacji możesz wykorzystać różne metryki. Do najważniejszych należą:
Jak omówiliśmy wcześniej, wydajność wieloplatformowa zawsze będzie ustępować aplikacjom natywnym. Ponieważ jednak większość dzisiejszych urządzeń mobilnych ma wielordzeniowe procesory i sporo RAM-u, ta różnica staje się dla użytkownika pomijalna, zwłaszcza w React Native, bo ten rozmawia bezpośrednio z natywnymi API.
Framework wciąż ma jednak sporo niedostatków w obszarze wydajności:
Zobacz także:
1. Oficjalna dokumentacja React Native:
2. Thousand Ways to Navigate in React Native
3. Tips for improving the performance of React Native apps
4. Stats That Prove The Importance Of App Performance Testing
5. 6 Simple ways to speed up your react native app
6. Our React-native experience at Drops (so far)
7. React Native Performance: Major issues and insights on improving your app’s performance
Masz pomysł, wizję nowej aplikacji mobilnej albo konkretną potrzebę biznesową. Jak teraz przejść do właściwych prac nad produktem końcowym?
Projekt w React Native można zapewne zrealizować na wiele sposobów. Uważamy, że powinien być prowadzony zgodnie z metodyką Agile.
Twój czas jest cenny i chcesz zobaczyć efekty naszej pracy jak najszybciej. Czas wejścia na rynek jest tu kluczowy! Jednocześnie oczekujesz wysokiej jakości i utrzymania pewnej kontroli nad produktem. Z Agile dostajesz cały ten pakiet!
W Agile projekt dzieli się na małe, możliwe do ogarnięcia części, z określonymi kamieniami milowymi, dzięki czemu łatwo śledzisz postępy, regularnie przekazujesz uwagi i współtworzysz efekt końcowy.
Żeby usprawnić wymianę informacji i dać Ci realny wpływ na projekt, zapraszamy Cię na wewnętrzne spotkania i do bieżącej komunikacji. Agile zakłada pełną przejrzystość projektu, więc nawet jeśli na jakimś etapie nie masz czasu się angażować, w każdej chwili możesz przejrzeć wyniki. Co więcej, nowe aktualizacje i usprawnienia trafiają do Twojej aplikacji na bieżąco, więc widzisz, za co płacisz!
Naszym zdaniem ma to sens. A Twoim?
W zależności od zakresu prac i Twoich wymagań typowy projekt w React Native może trwać od kilku dni do kilku miesięcy. Niezależnie od przypadku pewne etapy procesu pozostają niezmienne. Przyjrzymy się im w tej sekcji.
Ta sekcja pokazuje ogólną kolejność kroków w projekcie aplikacji mobilnej. Dobry proces tworzenia aplikacji jest jednak bardziej złożony.
Pobierz nasz whitepaper, żeby poznać szczegóły każdego etapu, dowiedzieć się więcej o Agile i zobaczyć, jakich narzędzi używa się do śledzenia czasu, monitorowania budżetu i dokumentacji produktu.
Jeśli nie masz zasobów, żeby zbudować aplikację własnymi siłami, zostaje Ci zatrudnić zespół albo zlecić pracę na zewnątrz. Oto jak najlepiej podejść do tego kroku:
Gdy wybierzesz już dostawcę, czas się poznać. Firma powinna zaproponować bezpłatne spotkanie lub rozmowę wstępną, żeby upewnić się, że dobrze się rozumiecie i do siebie pasujecie.
Podczas spotkania lub rozmowy spodziewaj się takich pytań (i wielu innych!):
Włącz się w dyskusję i doprecyzuj jak najwięcej szczegółów. Im więcej wniesiesz, tym szybsze będzie wdrożenie.
Jakiego rezultatu możesz oczekiwać po takiej rozmowie?
Firma powinna przygotować ogólny plan działania z zarysem kolejnych kroków. Z perspektywy biznesowej to również moment, w którym umowa o poufności (NDA) powinna być już podpisana.
Czas na kolejny krok?
Przy pierwszym kontakcie partner poznał szczegóły projektu. Czas pogadać o liczbach.
W kolejnym etapie spotykacie się osobiście lub zdalnie, żeby omówić wycenę projektu. Żeby dobrze go wycenić, powinniście przejść przez 1-3 spotkania lub rozmowy, na których pracujecie nad następującymi aspektami produktu:
Te i inne pytania powinny zaowocować jasną specyfikacją produktu oraz oszacowaniem czasu i kosztów realizacji.
Kiedy obie strony są zadowolone z wyników, czas podpisać umowę i ruszyć z pracami!
Faza wytwarzania w projekcie zwinnym zwykle wiąże się z dużą liczbą interakcji między Tobą a dostawcą. W trakcie tej fazy odbywają się trzy główne rodzaje spotkań:
Twój produkt jest gotowy do wypuszczenia! To jednak nie koniec historii. Użytkownicy wrócą z uwagami i mogą prosić o nowe funkcjonalności. W pewnym momencie może się też okazać, że przyszedł czas na optymalizację rozwiązania.
Dobrze zaprojektowana aplikacja ułatwia wdrażanie aktualizacji. Dzięki wyjątkowym cechom React Native możesz poprosić zespół o prace optymalizacyjne w dowolnym momencie, w sposób, który nie wpływa na doświadczenie użytkownika końcowego.
Zobacz także:
1. ‘Ideamotive’s Development Process Explained‘
2. ‘Building a Mobile App in 10 Days with React Native’
3. ‘How To Find Top React Native Development Company? The Ultimate Checklist’
Spójrzmy prawdzie w oczy. Aplikacje mobilne tworzą firmy, których głównym celem jest zysk.
Oszczędność czasu i kosztów to jedne z głównych powodów sięgania po React Native, więc w tej sekcji przyjrzymy się statystykom, które pokazują efektywność frameworka.
Zobacz także:
1. 75+ Mobile Marketing Statistics
2. Mobile Marketing and the New B2B Buyer
3. App Download and Usage Statistics
4. The Future of Mobile Growth is Cross-Platform
5. How Much Does it Cost a Small Business to Build an App?
Jeśli tworzysz aplikacje mobilne, na pewno znasz React Native ze słyszenia. Teraz, po lekturze o jego zaletach, być może to właśnie ten stack technologiczny wybierasz.
Szybki, łatwy do zintegrowania i bardzo czytelny. Do tego ma szerokie zastosowanie i korzystają z niego tysiące programistów na całym świecie.
Motywacja to niezwykle ważny element nauki każdej umiejętności. Teraz pytanie brzmi: „Jak zacząć z React Native?”Zróbmy to razem!
React Native używa komponentów natywnych jako klocków. Jeśli znasz już bibliotekę React, niewiele Ci brakuje. Wystarczy, że poznasz kilka elementów właściwych dla React Native.
Jeśli z Reactem też nie masz doświadczenia, nic straconego. Najpierw trzeba przyswoić kilka podstawowych pojęć Reacta: JSX, komponenty, stan.
Jeśli znasz już Reacta, pomiń tę część. W przeciwnym razie zapoznaj się z najważniejszymi informacjami, które pomogą Ci najpierw wgryźć się w Reacta.
React to otwartoźródłowa biblioteka JavaScript do budowania interfejsów webowych, stworzona pierwotnie przez Facebooka. Opiera się na komponentach i stosuje zasady programowania deklaratywnego. Jedną z kluczowych cech Reacta jest to, że kod piszesz raz, a dostarczasz go na wiele platform.
React Native stosuje architekturę Reacta, żeby dostarczać wieloplatformowe interfejsy dla urządzeń mobilnych.
React nie opiera się na HTML-u, tylko używa JSX, rozszerzenia składni JavaScriptu przypominającego XML. Oto przykład:
const element = <h1>Hello, world!</h1>
import React, { Component } from 'react';
import { Text, View } from 'react-native';
class WhyReactNativeIsSoGreat extends Component {
render() {
return (
<View>
<Text>
If you like React on the web, you'll like React Native.
</Text>
<Text>
You just use native components like 'View' and 'Text',
instead of web components like 'div' and 'span'.
</Text>
</View>
);
}
}
JSX odpowiada w Reakcie za interfejs: opisuje, jak ma wyglądać każdy komponent (patrz następny punkt), jaki ma rozmiar, gdzie się znajduje itd.
JSX jest językiem obiektowym i statycznie typowanym. Choć przy pisaniu kodu w Reakcie jest opcjonalny, daje szybkość i optymalizację.
Żeby zacząć z JSX, odwiedź tę stronę.
Komponent, podstawowy klocek Reacta, to pojedynczy element graficznego interfejsu użytkownika. Każdy element, który widzisz w GUI (przycisk, blok tekstu, obraz itd.), jest komponentem. Logikę komponentu pisze się w JavaScripcie, bez używania szablonów.
Więcej o komponentach Reacta przeczytasz tutaj.
Komponentami rządzą dwie właściwości: state oraz props. Podczas gdy props pozostają stałe przez cały cykl życia komponentu, state steruje komponentami ze stanem, które można aktualizować i usuwać.
Oto prosty przykład:
class App extends Component {
state = {
characters: [
{
'name': 'John',
// the rest of the data
}
]
}
}
Naucz się korzystać ze stanu z oficjalnej dokumentacji Reacta.
Props to parametry („właściwości”) służące do dostosowywania komponentów. Podstawowe zastosowanie propsów to przekazywanie do komponentu własnych danych (przy użyciu konwencji nazewnictwa dość podobnej do atrybutów tagów HTML) i wywoływanie zmian stanu. Props są tylko do odczytu.
Oto prosty przykład:
const Dumb = (props) => {
return (
<div>
{props.oursProps}
</div>
)
}
Obszerniejsze informacje o props znajdziesz tutaj.
Zakładając, że rozumiesz już podstawowe zasady Reacta, możemy omówić podejście krok po kroku do opanowania React Native.
Metod jest bez liku, a tempo nauki zależy od mnóstwa czynników: Twojej obecnej znajomości frameworków, języków i narzędzi, indywidualnego stylu uczenia się, czasu, jaki możesz na to poświęcić, itd. Traktuj nasze wskazówki jako sugestie i sprawdź, co działa u Ciebie najlepiej. Powodzenia!
Ilu programistów, tyle opinii, ale naszym zdaniem do startu z React Native potrzebne są:
Ilu programistów, tyle opinii, ale naszym zdaniem najlepiej zacząć z React Native tak:
W tej sekcji zebraliśmy kolejne materiały, które pomogą Ci dalej rozwijać umiejętności w React Native.
React Native ma dużą społeczność zwolenników na całym świecie. W efekcie jest mnóstwo blogów i stron z niezastąpioną wiedzą o frameworku.
Wymieńmy kilka popularnych przykładów. Więcej znajdziesz w tym wpisie. Możesz też sprawdzić najpopularniejsze podcasty i kanały na YouTubie o React Native.
Zobacz także:
1. Everything You Should Know About React: The Basics You Need to Start Building
2. Getting Started with React – An Overview and Walkthrough
3. Thinking in React
4. React Native Styling Cheat Sheet
5. React Native Tutorial: Building Android Apps with JavaScript
6. Quick Start to React Native
7. What you need to know to start building mobile apps in React Native
Jak już wspominaliśmy, wybór właściwej technologii dla biznesu jest trudny. Istnieje szereg kluczowych kryteriów, które musisz wziąć pod uwagę, żeby ocenić, czy dany stack jest dla Ciebie odpowiedni. Jednym z czynników w tej ocenie jest popularność technologii i zakres jej zastosowań.
Poniżej przedstawiamy przykłady światowej sławy firm, które już wykorzystują React Native w swoich projektach. Przejrzyj je, a zobaczysz, jak framework pomógł im osiągnąć różne cele biznesowe.
Pamiętaj, że to nie znaczy, iż to, co zadziałało u nich, zadziała u Ciebie. Każda firma ma unikalne cele i wyzwania oraz konkretne kompetencje, zasoby i możliwości. Ale takie znane marki w portfolio to mocny argument za React Native.
Wróć do sekcji KIEDY UŻYWAĆ REACT NATIVE? i sprawdź, jakie projekty najlepiej pasują do RN.
Wszystko zaczęło się w Facebooku, gdzie jeden z zespołów deweloperskich stworzył React Native, żeby przyspieszyć prace nad mobilną aplikacją serwisu społecznościowego.
Chodziło o szybkie dostarczanie nowych funkcji i ograniczenie zasobów potrzebnych do ich wypuszczenia. Na początku programiści Fb stworzyli wersję na iOS, a wkrótce potem dołożyli wsparcie dla Androida.
Od tego czasu król mediów społecznościowych nieustannie inwestuje w optymalizację frameworka, wypuszczając kolejne aktualizacje. Poza korzyściami biznesowymi Facebook odnotował wymierną poprawę efektywności i harmonogramów, na przykład szybsze uruchamianie aplikacji.
Z przychodami ponad 500 mln dolarów w zeszłym roku Walmart otwiera listę Fortune 500 największych firm świata. Jeden z powodów tego sukcesu: firma zawsze stawia doświadczenie klienta na pierwszym miejscu.
Aplikacja Walmartu to doskonały przykład tego, jak sieć ułatwia życie swoim klientom. Pozwala przeglądać produkty, sprawdzać ceny w sklepie, zamawiać zakupy czy płacić za nie systemem Walmart Pay.
Ze względu na mnogość funkcji i ich złożoność Walmart normalnie musiałby utrzymywać dwa ogromne zespoły deweloperskie, żeby aplikacja działała na wszystkich urządzeniach. Zamiast tego postawił na tworzenie wieloplatformowe w React Native.
To wygląda na mądry ruch. Aż 95% bazy kodu Walmartu jest współdzielone między aplikacjami na iOS i Androida. Zespół tworzy równolegle na obie platformy, co o połowę obniża koszty pracy! Jak to mówią: idź w ślady gigantów.
„Zarówno początkowe prace, jak i dokładanie kolejnych funkcji idzie bardzo szybko, dzięki czemu możesz zaspokajać potrzeby klientów szybciej niż konkurencja. Wisienką na torcie jest to, że aplikacje pisane w React Native mają zwykle porównywalną, a potencjalnie nawet lepszą wydajność niż te pisane jako natywne”.
Discovery Channel nie wymaga przedstawiania. Misja firmy: pozwolić ludziom poznawać świat w zaciszu domu i zabierać ich w miejsca, do których sami nie dotrą. Znany kanał dokumentalny postanowił przenieść doświadczenie widza na wyższy poziom dzięki zestawowi VR.
Zestaw pozwala użytkownikom podróżować do najodleglejszych zakątków naszej planety. Dzięki towarzyszącej mu aplikacji widzowie mogą zanurzyć się w bardzo różnych krajobrazach i poznawać rozmaite aktywności, takie jak wędrówki, narciarstwo czy base jumping.
Żeby zapewnić bezbłędne doświadczenie VR, Discovery zbudowało cały interfejs użytkownika w React Native. Co więcej, dzięki frameworkowi zestaw płynnie integruje się z zewnętrznymi API, w tym Oculus Rift, HTC Vive czy Google Cardboard. A efekty robią wrażenie!
Wix (GitHub: https://github.com/wix/react-native-navigation) to darmowy kreator stron, który pozwala każdemu zbudować rozbudowany serwis metodą przeciągnij i upuść, bez znajomości HTML-a.
Żeby 80 milionów użytkowników mogło budować i hostować strony także z urządzeń mobilnych, Wix postawił na React Native. To był trafny ruch: zespół Wixa w sześć miesięcy przeszedł od zera do publikacji w sklepach, pracując o 300% szybciej niż zwykle.
Jak mówi Tal Kol, Head of Mobile Engineering w Wixie:
„React Native jest bardzo atrakcyjny jako stack do nowoczesnych aplikacji mobilnych. Największą przewagą tego frameworka jest dramatyczny wzrost produktywności. Mówiąc wprost: budujesz aplikacje znacznie szybciej, częściowo dlatego, że wreszcie możesz współdzielić kod między platformami”.
Bloomberg znany jest przede wszystkim jako firma medialna zajmująca się gospodarką i rynkami finansowymi, ale dostarcza też rozwiązania software'owe dla tych branż.
Bloomberg stworzył aplikację mobilną po to, żeby dawać firmom na całym świecie dostęp do danych rynkowych, notowań akcji i walut oraz wiadomości finansowych. Wymagający odbiorcy i zmienność sektora finansowego oznaczały, że aplikacja musi być szybka i mocno spersonalizowana. Żeby to osiągnąć, Bloomberg wybrał React Native.
Firma musiała przestawić cały zespół na React Native, żeby przebudować konsumencką aplikację mobilną na iOS i Androida. Liczył się też czas.
Wysiłek się jednak opłacił. Dzięki React Native aplikacja daje użytkownikom spersonalizowane, interaktywne doświadczenie, a do tego zaawansowane funkcje, takie jak dostęp do telewizji na żywo i ciągłe aktualizacje. Co ważniejsze, zespół Bloomberga zbudował całą aplikację od zera w 5 miesięcy. Bez frameworka to przedsięwzięcie zajęłoby co najmniej dwa razy dłużej.
„React Native jest najlepszy z dostępnych. Spodziewaj się go w kolejnych aplikacjach mobilnych Bloomberga”.
Tesla, Adidas GLITCH, Instagram, Skype, Baidu mobile, aplikacja tłumacząca Whym... jest znacznie więcej firm, które dostrzegły zalety React Native i wdrożyły go w swoich projektach, żeby oszczędzić czas, usprawnić prace i osiągnąć lepsze wyniki. Więcej przykładów udanych aplikacji w RN znajdziesz w tym wpisie na blogu.
Choć RN nie ma sensu w każdym kontekście, liczne przykłady jego użycia przez najbardziej innowacyjne firmy świata są mocnym argumentem za tym frameworkiem.
Zobacz także:
1. React Native at Airbnb
2. Companies That Use React Native
3. How React Native Enabled Us to Develop a Mobile App in a Third of the Time
4. React Native for Android: How we built the first cross-platform React Native app
5. How Bloomberg Used React Native to Develop its new Consumer App
6. Tal Kol: Building a React Native App for 80 Million Users – ReactNext 2016
React Native jest z nami od 2013 roku. Jak mu się teraz wiedzie? Kto go używa? Kto go rozwija? Przyjrzyjmy się kilku ciekawym liczbom!
| Aplikacja | liczba użytkowników miesięcznie |
| Messenger | > 1 300 000 000 |
| > 1 000 000 000 | |
| > 322 000 000 | |
| Skype | > 300 000 000 |
| Soundcloud | > 175 000 000 |
| Wix | > 110 000 000 |
„82% programistów JavaScript słyszało o React Native i chciałoby dowiedzieć się o nim więcej”.
„44,3% osób, które go używały, zrobiłoby to ponownie”.
100 tys. obserwujących na Twitterze
100 tys. polubień na Facebooku
40 tys. postów #reactnative na Instagramie
268 000 000 wyników w Google
440 meetupów React Native
222 miasta
56 krajów
Ponad 30 konferencji ReactJS/React Native na świecie co miesiąc!
„Z React Native całą pracę może wykonać jedna osoba. Bo cała wiedza, jakiej potrzebujesz, to praktycznie JavaScript”.
– Tal Kol, były Head of Engineering w Wixie
„React Native to świetny framework, który zasypuje przepaść między webem a mobilem. W Discordzie dał nam niesamowitą efektywność. Pozwala pisać kod wielokrotnego użytku, uczyć się od siebie nawzajem i działać szybko w dwuosobowym zespole”.
– Fanghao (Robin) Chen, Senior Software Engineer w Discordzie
„Udało nam się wypuścić pierwszą w pełni napisaną w React Native aplikację Facebooka na dwie platformy, z natywnym wyglądem i zachowaniem, zbudowaną przez ten sam zespół inżynierów JavaScript. Nie wszyscy znali Reacta, gdy dołączali do zespołu, a mimo to w pięć miesięcy zbudowali aplikację na iOS o natywnym wyglądzie i zachowaniu”.
– Philipp von Weitershausen i Daniel Witte, inżynierowie Facebooka
„Dzięki React Native pierwsze wdrożenie na iOS zajęło około 10 dni, wliczając w to podpięcie wszystkich integracji z naszą istniejącą infrastrukturą. Potem przenieśliśmy ten ekran na Androida w dwa dni, ze 100-procentowo współdzielonym kodem interfejsu między platformami, oszczędzając ponad tydzień pracy”.
– Vivian Qu | inżynier Pinteresta, Growth
„Uwielbiam React Native. Nie jest idealny, ale jest cholernie dobry. To jedno z najbardziej imponujących narzędzi, na jakie trafiłem przez ponad 9 lat pracy z mobilem i full stackiem. Wszystkie swoje projekty robię teraz w RN i wierzę, że daje mi to 2-3 razy szybsze iteracje niż konkurencji [...] oraz obecność na wszystkich platformach”.
– Arman Dezfuli-Arjomandi, samodzielny przedsiębiorca i twórca Slide, Falcross oraz Jake and Amir na iOS
Więcej informacji o stanie React Native na początku 2021 roku znajdziesz w tym artykule.
Omówiliśmy już wiele aspektów frameworka React Native. Mówiliśmy o podstawach, porównaliśmy RN z aplikacjami natywnymi i innymi wieloplatformowymi rozwiązaniami mobilnymi, a także przedstawiliśmy kluczowe zalety i wady frameworka. Znamy obecny stan React Native, ale co przyniesie mu przyszłość?
Patrząc na dotychczasowy rozwój React Native, wierzymy, że będzie rósł dalej. Mamy na to pięć argumentów
Jednym z punktów roadmapy na 2019 rok jest gruntowna przebudowa architektury RN.
Jeśli chodzi o aktualizacje z 2020 roku, możemy już korzystać z:
To tylko dowodzi, że firma poważnie traktuje swoje zobowiązanie do rozwoju frameworka.
Popularność wieloplatformowego tworzenia aplikacji mobilnych wciąż rośnie, a React Native jest czołowym frameworkiem w swojej lidze. Żywy ekosystem, ogromna społeczność i wsparcie komercyjne oraz szeroki zakres zastosowań przemawiają na jego korzyść i dowodzą, że jest na dobrej drodze, by stać się jedną z wiodących technologii na rynku aplikacji mobilnych.
Zobacz także:
1. React Native, the Future of Mobile App Development?
2. The Future of React Native with Brent Vatne and Adam Perry
3. React Native is dead, long live React Native
4. React Native status 2018: Looking bright with a re-architecture on the horizon
Czy React Native jest wart spróbowania? Wszystko zależy od Twojego projektu.
Sprawdź zalety i wady React Native, żeby ocenić jego korzyści w kontekście Twojej aplikacji.
Zobacz, jak wypada na tle innych rozwiązań wieloplatformowych.
Wróć do sekcji o tym, kiedy używać RN (a kiedy nie).
Jeśli programujesz, sprawdź to, czego potrzeba do nauki RN.
Jeśli wciąż nie wiesz, czy React Native jest dla Ciebie, zajrzyj do poniższego podsumowania. Powinno pomóc Ci podjąć decyzję
Niezależnie od tego, czy chcesz przyspieszyć rozwój istniejącej aplikacji, czy zbudować kompletny produkt od początku do końca, React Native prawdopodobnie idealnie pasuje do Twojego startupu.
Pewnie nie stać Cię na duży zespół ze specjalistami i od Androida, i od iOS. Masz do dyspozycji dwie, trzy osoby, a Twój główny cel to stabilna aplikacja wysokiej jakości, jak najszybciej na rynku.
Jeśli tak jest, skorzystasz z następujących zalet RN:
Nawet 100% kodu wspólnego dla iOS i Androida. React Native pozwala programistom współdzielić ten sam kod w różnych środowiskach (iOS, Android, web). Realnie pewne dostosowania pod platformę będą potrzebne, ale firmy podają 80-90% wspólnego kodu w swoich aplikacjach. To oszczędza ogromnie dużo czasu.
Zespoły wieloplatformowe. Jeśli chcesz wypuścić aplikację na wszystkie urządzenia, ciężko będzie Ci znaleźć specjalistę od wielu platform. Grono programistów świetnych na wszystkich platformach mobilnych jest znikome. Z drugiej strony RN opiera się na podejściu „naucz się raz, pisz wszędzie”. W praktyce oznacza to, że z tym frameworkiem nie musisz utrzymywać osobnych zespołów, żeby wypuścić produkt na kilka systemów. Jak pokazuje przypadek Discorda , w RN wystarczą dwie osoby, żeby zbudować mocne aplikacje i wdrożyć je na wszystkich urządzeniach.
Łatwe utrzymanie kodu. Jeden kod, jeden zespół, dwa produkty. React Native umożliwia jedną bazę kodu JavaScript dla różnych platform. Dzięki temu łatwiej ten kod utrzymywać i wykorzystywać ponownie, a to znów pozwala osiągać imponujące wyniki małymi zespołami.
Szybkie dostarczanie funkcji. Dzięki mechanizmom RN, takim jak hot reloading oraz CodePush, Twój zespół może aktualizować i ulepszać oprogramowanie dynamicznie, bez przeładowywania całego kodu i zatrzymywania aplikacji. W ten sposób oszczędzasz mnóstwo czasu i zapewniasz natychmiastowe poprawki oraz ulepszenia funkcji. Wszystko bez wpływu na użytkownika końcowego.
Brak opłat. Wreszcie, w przeciwieństwie do większości konkurentów, RN jest w 100% darmowy, oficjalnie prowadzony przez Facebooka, ale korzystający z ogromnego wkładu społeczności. Możesz od razu wystartować z projektem, bez martwienia się o wygórowane opłaty abonamentowe i ograniczenia licencyjne.
Aplikacje mobilne odpowiadają za blisko połowę globalnego ruchu w internecie, a podobno na świecie jest więcej właścicieli smartfonów niż szczoteczek do zębów.
Przy ponad 200 miliardach pobrań aplikacji w 2018 roku (wzrost o 11% względem poprzedniego roku) rynek aplikacji mobilnych kwitnie i nic go nie zatrzyma.
W 2017 roku wydatki konsumentów na aplikacje mobilne przekroczyły 86 miliardów dolarów.
Narzędzi i platform do aplikacji mobilnych jest mnóstwo. Skąd wiedzieć, że React Native pasuje do Twojego biznesu?
Oto kilka przekonujących argumentów:
Około 27,2% wszystkich programistów mobilnych używało w przeszłości React Native i zrobiłoby to ponownie. Kolejne 53% słyszało o nim i chciałoby się go nauczyć.
React Native zawdzięcza swoją ogromną popularność wśród programistów wielu czynnikom, między innymi:
Jeśli choć jedno z poniższych stwierdzeń Cię dotyczy, rozważ przejście na React Native:
Pod koniec 2023 roku React Native wciąż jest wiodącym frameworkiem do wieloplatformowego tworzenia aplikacji mobilnych. Powstał w dziale inżynieryjnym Facebooka, korzysta z mocy JavaScriptu i Reacta i łączy to, co najlepsze w aplikacjach webowych i mobilnych.
Najważniejszym powodem wyboru React Native w 2023 roku jest możliwość tworzenia wysokiej jakości aplikacji na Androida i iOS z jednej bazy kodu. Ta wieloplatformowość nie tylko oszczędza czas, lecz także znacząco obniża koszty utrzymania. Pozwala firmom skupić zasoby na ulepszaniu doświadczeń i funkcji, zamiast na rozwiązywaniu problemów właściwych dla konkretnej platformy.
React Native oferuje też bardzo dynamiczny i responsywny interfejs, co przekłada się na lepsze doświadczenie użytkownika. Korzysta z komponentów natywnych, dzięki czemu wygląd, zachowanie i wydajność aplikacji dorównują tym budowanym w językach natywnych, takich jak Swift, Java czy Kotlin.
Kolejną siłą jest solidna społeczność wokół React Native, z licznymi bibliotekami i narzędziami rozwiązującymi niemal każdy problem, na jaki możesz natrafić. Dzięki temu platforma stale się rozwija i nadąża za ciągle zmieniającym się krajobrazem technologicznym.
Wreszcie React Native przyspiesza cykl wytwarzania dzięki funkcji „hot reloading”, która pozwala programistom widzieć zmiany w czasie rzeczywistym, bez pełnej rekompilacji aplikacji.
Podsumowując, React Native jest znakomitym wyborem do tworzenia aplikacji mobilnych w 2023 roku: daje elastyczność, efektywność i przyjazne doświadczenie. Wydajność zbliżona do natywnej, wygoda JavaScriptu i wieloplatformowość gwarantują mu dalsze znaczenie w zmieniającym się świecie aplikacji.
Zobacz także:
1. Five reasons why web developers love React Native
2. Seven reasons why a Rails 5, Redux, React, and React Native stack is fantastic for new startups
3. React Native as seen by an Android developer
Dziękujemy za lekturę naszego przewodnika.
Mamy nadzieję, że w tym momencie rozumiesz React Native znacznie lepiej, a może nawet zaczynasz darzyć ten framework sympatią (tak jak my!).
Zrobiliśmy, co w naszej mocy, żeby omówić wszystkie ważne obszary związane z React Native. Wiemy jednak, że wraz z rozwojem frameworka ta strona też będzie musiała rosnąć. Dlatego możesz liczyć na to, że będziemy stale aktualizować i rozwijać treść, tak aby zawsze była aktualna i dawała możliwie najwyższą jakość informacji.
Tymczasem podziel się tym przewodnikiem i pomóż wiedzy o React Native dotrzeć dalej.
Zespół Ideamotive
Dane rejestrowe:
Firma
Usługi
Najczęściej poszukiwani specjaliści
Ocena 4,8 / 5,0 od klientów z różnych branż i lokalizacji.