01
Aplikacje natywne instaluje się ze sklepu z aplikacjami (takiego jak Google Play czy Apple App Store). Są projektowane pod jedną platformę i mogą w pełni korzystać ze wszystkich funkcji urządzenia - aparatu, GPS-a, akcelerometru, kompasu, listy kontaktów i tak dalej.
02
React Native służy do aplikacji mobilnych, a React do stron internetowych (front-endu). Oba frameworki stworzył Facebook. React Native jest frameworkiem wieloplatformowym, co oznacza, że możesz napisać niemal ten sam kod na iOS i Androida i będzie on działać.
03
JSX to skrót od JavaScript XML. To po prostu rozszerzenie składni JavaScriptu. Pozwala pisać HTML bezpośrednio w Reakcie (w kodzie JavaScript). Tworzenie szablonu z użyciem JSX w Reakcie jest proste, ale to nie jest zwykły język szablonów, tylko pełna moc JavaScriptu.
04
Aplikacje hybrydowe łączą funkcjonalność aplikacji natywnych i webowych. Można je pobrać ze sklepu z aplikacjami danej platformy tak jak aplikację natywną. Buduje się je z użyciem technologii webowych, takich jak HTML, CSS i JavaScript, podczas gdy aplikacje natywne powstają w konkretnej technologii i języku właściwym dla platformy - Javie na Androida, Swifcie na iOS.
05
Props służą do przekazywania danych od rodzica do dziecka, a state do operowania danymi wewnątrz komponentu. Wartość propsów otrzymujemy z komponentu nadrzędnego, natomiast wartość obiektu state pochodzi z danych początkowych zdefiniowanych w metodzie constructor ().
06
Redux to przewidywalny kontener stanu, który pomaga pisać aplikacje JavaScript działające spójnie w środowisku klienta, serwera i natywnym oraz łatwe do testowania. Choć używa się go głównie jako narzędzia do zarządzania stanem w Reakcie, sprawdzi się z dowolnym innym frameworkiem lub biblioteką JavaScript.
07
Kluczowa różnica polega na tym, że state jest wewnętrzny i kontrolowany przez sam komponent, a props są zewnętrzne i kontrolowane przez to, co renderuje dany komponent.
08
Komponenty to niezależne fragmenty kodu wielokrotnego użytku. Pełnią tę samą rolę co funkcje JavaScript, ale działają w izolacji i zwracają HTML przez funkcję render (). Są dwa rodzaje komponentów: klasowe i funkcyjne.
09
Możesz mieć jedną bazę kodu. Ale:
10
TextInput to główny komponent pozwalający użytkownikowi wpisywać tekst. Ma prop onChangeText, który przyjmuje funkcję wywoływaną przy każdej zmianie tekstu, oraz prop onSubmitEditing, przyjmujący funkcję wywoływaną przy zatwierdzeniu tekstu.
01
Różnica polega na tym, że Live Reloading przeładowuje całą aplikację. Wygląda to tak: plik się zmienił, więc przeładuj całą aplikację. Hot reload nie przeładowuje całej aplikacji - po prostu podmienia zmieniony kod i zachowuje stan aplikacji.
02
ScrollView to wbudowany, responsywny komponent pełniący rolę uniwersalnego przewijalnego kontenera, w którym można przewijać komponenty i widoki potomne. Umożliwia przewijanie w obu kierunkach - pionowym i poziomym (domyślnie pionowym).
03
W React Native aplikację stylujesz JavaScriptem. Wszystkie podstawowe komponenty przyjmują właściwość style. Nazwy i wartości styli zwykle odpowiadają temu, jak działa CSS w sieci, z tą różnicą, że nazwy zapisuje się w camelCase, na przykład backgroundColor zamiast background-color
04
Aplikacja React Native ma dwie strony: javascriptową i natywną. React Native Bridge pozwala kodowi natywnemu i javascriptowemu komunikować się ze sobą. Bez mostu kod natywny nie przekaże żadnych informacji do kodu JavaScript i odwrotnie.
05
Komponenty touchable pozwalają przechwytywać dotknięcia. Można ich użyć zamiast podstawowego przycisku, jeśli ten nie pasuje do Twojej aplikacji. Z ich pomocą tworzysz własny przycisk. Klikając w te komponenty, możesz na przykład wyświetlić opinię.
06
React używa wirtualnego DOM-u, żeby poprawić wydajność. Wykorzystuje obserwowalne obiekty do wykrywania zmian stanu i właściwości. Do porównywania wersji wirtualnego DOM-u stosuje wydajny algorytm różnicowy. Następnie wysyła zbiorcze aktualizacje do prawdziwego DOM-u, żeby przerysować lub ponownie wyrenderować interfejs.
07
Tak. React Native bezproblemowo integruje komponenty napisane w Objective-C, Javie lub Swifcie.
08
Robi kilka rzeczy: zbiera cały kod JavaScript w jeden plik i tłumaczy kod, którego urządzenie nie rozumie (na przykład JSX albo nowszą składnię JS). Zamienia też zasoby (takie jak pliki PNG) na obiekty, które może wyświetlić komponent obrazu.
09
Virtual DOM tworzy kopię całego obiektu DOM, a Shadow DOM tworzy małe fragmenty obiektu DOM z własnym, odizolowanym zakresem dla elementu, który reprezentują.
10
Przejście na React Native przy tworzeniu aplikacji mobilnych to dobry wybór, gdy:
01
Czasem trzeba wprowadzić zmiany bezpośrednio w komponencie, bez użycia stanu i właściwości, żeby nie wywoływać ponownego renderowania całego poddrzewa. Na przykład korzystając z Reacta w przeglądarce, czasem musisz zmodyfikować węzeł DOM bezpośrednio - tak samo jest z widokami w aplikacjach mobilnych. setNativeProps to odpowiednik ustawiania właściwości wprost na węźle DOM w React Native.
Użyj setNativeProps, jeśli częste ponowne renderowanie staje się wąskim gardłem wydajności.
Bezpośrednia manipulacja nie będzie narzędziem, po które sięgasz często; zwykle użyjesz jej tylko przy ciągłych animacjach, żeby uniknąć narzutu renderowania hierarchii komponentów i uzgadniania wielu widoków. setNativeProps przechowuje stan na swoim własnym poziomie (DOM, UIView itd.), a nie w komponentach Reacta, przez co kod staje się trudniejszy do zrozumienia. Zanim go użyjesz, spróbuj rozwiązać problem za pomocą setState i shouldComponentUpdate.
02
Fabric to nowa, zaproponowana przez społeczność architektura React Native, która ma zbliżyć interfejs aplikacji mobilnej do aplikacji natywnych albo je przewyższyć. Tak jak architektura Fiber w ReactJS znacząco poprawiła różnicowanie i ogólną wydajność, tak Fabric ma pójść w tym samym kierunku i poprawić wydajność oraz efektywność aplikacji.
03
InteractionManager pozwala zaplanować długo trwające zadania po zakończeniu interakcji i animacji. Dzięki temu animacje w JavaScripcie działają płynnie.
04
Własny hook to funkcja JavaScript, którą tworzymy sami, gdy chcemy podzielić logikę między inne funkcje JavaScript. Pozwala to używać tego samego fragmentu kodu w wielu miejscach aplikacji.
05
CDD to metodyka wytwarzania, która wiąże proces budowy z komponentami. To podejście, w którym interfejs powstaje oddolnie: od poziomu komponentu do poziomu strony lub ekranu.
Zalety architektury komponentowej:
06
Geolokalizacja jest domyślnie włączona, gdy tworzysz projekt komendą react-native init. Żeby włączyć geolokalizację w tle, dodaj klucz NSLocationAlwaysUsageDescription w Info.plist i zaznacz lokalizację jako tryb działania w tle w zakładce Features w Xcode.
07
08
09
Testy migawkowe to rodzaj testów „porównywania wyniku” albo „golden master”. Zapobiegają regresji, porównując bieżący wynik metody w kodzie aplikacji z zapisanymi „dobrymi” wartościami.
10
Główny powód, dla którego dobrze zaprojektowane aplikacje natywne działają tak płynnie, jest taki, że unikają kosztownych interakcji i animacji. React Native ma ograniczenie w postaci jednego wątku wykonania JS, ale możesz użyć InteractionManagera, żeby długie zadania uruchamiały się dopiero po zakończeniu interakcji i animacji.
Aplikacje mogą planować zadania po interakcji z następującymi obiektami:
InteractionManager.runAfterInteractions(() => {
// ...long-running synchronous task...
});
11
Pozwala tworzyć pipeline'y dostarczania, które zbudują, przetestują i wdrożą aplikację React Native jednym kliknięciem na gałęzi. Pipeline'y składają się z akcji, które możesz dopasować do swoich potrzeb.
Dostępne narzędzia:
AppCenter: konfiguracja przez web, przechowywana po stronie usługi
appcircle: konfiguracja przez web, przechowywana po stronie usługi
Azure DevOps: azure-pipelines-android.yml
Bitbucket Pipelines: bitbucket-pipelines.yml
Bitrise: bitrise.yml
Buddy: buddy.yml
Circle CI: .circleci/config.yml
Codemagic: codemagic.yaml
GitHub Actions: .github/workflows/*.yml
Gitlab CI: .gitlab-ci.yml
Travis CI: .travis.yml
W naszej sieci talentów są setki sprawdzonych w boju ekspertów od tworzenia oprogramowania.
Jesteś programistą React Native i szukasz świetnych projektów? Dołącz jako specjalista
Dane rejestrowe:
Firma
Usługi
Najczęściej poszukiwani specjaliści