2017-07-15 36 views
13

Chcę zacząć reagować na natywny rozwój aplikacji i potrzebuję pomocy w wyborze ścieżki, którą powinienem przejść.React native vs stwórz aplikację natywną reagować

Główne pytanie brzmi: czy powinienem reagować natywnie lub tworzyć rodzime aplikacje?

Z tego co rozumiem, CRNA naprawdę reagują rodzimy użyciu klienta i narzędzi Expo, z bardziej komfortowego użytkowania (bez konta dev wymagane, etc)

widzę korzyści z korzystania Crna nad reagują rodzimy (nie ma potrzeby konfigurowania zależności, szybszego rozpoczęcia pracy z rozwojem, nie ma potrzeby korzystania z konta iPhone'a ani xcode + androida combi, itp.)

Jednak, ponieważ nie wszystkie biblioteki natywne są włączone, widzę siebie w musisz wyeksportować moją aplikację w późniejszym czasie i nadal pracować z Xcode i Androidem, tak jak wcześniej.

Jeśli więc CRNA jest po prostu przyjemnym sposobem na rozpoczęcie pracy z wszystkim, to chciałbym, aby wanilia zareagowała od razu, ponieważ nie widzę sensu w tymczasowym rozwiązaniu.

Ponadto, być może możesz mnie poprawić, nie podoba mi się pomysł, aby mieć kolejną aplikację na mojej aplikacji, chyba że są jakieś kluczowe zalety, których mi brakowało.

Czy mógłbyś podzielić się swoją opinią na ten temat? Jeśli stworzyłeś aplikacje, które reagują na natywną przeszłość, którą ścieżkę podążyłeś i jaką ścieżkę wybierzesz w przyszłości? Reaguj natywnie, CRNA lub reaguj na środowisko rodzime i expo?

Z góry dziękuję.

Odpowiedz

9

Witam Będę również udostępniać niektóre z moich doświadczeń na ten temat.

Ponieważ mam tło z przodu i nie byłem zaznajomiony z XCode lub Android Studio, zdecydowałem się rozpocząć rozwój mojej natywnej aplikacji z CRNA.

W rzeczywistości za pomocą edytora tekstu, wyłącznie z javascript i wykorzystaniem wbudowanych komponentów expo SDK, mogłem szybko zaimplementować i opublikować do Play Store a fairly simple app. Że znajdę naprawdę niesamowite :)

Jednak po opublikowaniu aplikacji zdałem sobie sprawę, istnieje kilka pułapek, które nie może ona konkurować z podobnymi konkurencyjnymi aplikacjami Java:

Największym IMO jest wielkość apk generowane z exp Usługa . Dla aplikacji z tylko 3 ekranami i niezbyt dużą logiką biznesową, 25 MB i około 60 MB po instalacji to naprawdę dużo. According to expo devs bardziej złożone aplikacje będą miały mniej więcej ten sam rozmiar lub będą tylko trochę większe, ponieważ większość tego rozmiaru to natywne zależności, a nie rzeczywiste strony javascript. Ale to nadal jest duży problem i prawdopodobnie będę musiał i tak eject aplikacji na optymalizować the rozmiar budować

Tak w ogólnym Crna jest wielki i szybki sposób uruchomić i mieć coś działa, ale jeszcze przed opublikowaniem aplikację użytkownicy, których nie unikniesz, konfigurując niestandardową kompilację i wszystkie zależności, takie jak Android Studio:

5

Myślę, że tworzenie-reakcja-natywna-aplikacja to dobry sposób na rozpoczęcie, abyś mógł skupić się na części React reagowania natywnego, szczególnie jeśli nie znasz React. A kiedy jesteś gotowy do zrobienia rzeczy z natywnym, możesz po prostu wysunąć się z npm run eject

Kiedy rozpocząłem nowy projekt z reakcją natywną pod koniec zeszłego roku, nie było żadnej aplikacji do tworzenia-reakcji-natywnej-aplikacji i najpierw oceniłem wystawę. Nie podobało mi się to, ponieważ nie było łatwej natywnej integracji, chyba że wyrzucisz, gdy będę wiedział, że będziemy potrzebować natywnej integracji. Dlatego poszedłem z wanilią reagując rodzimych. Miałem także doświadczenie z React w sieci oraz z natywnym rozwojem systemu iOS i Android.

+0

Jak dodać Webpack + maszynopis + testowanie jednostek + pokrycie testowe w Twojej aplikacji? –

+0

Nie używamy webpacka, bez względu na to, czy jest to natywny domyślny paker React. Chociaż możesz sprawdzić https://github.com/callstack-io/haul za korzystanie z pakietu internetowego z React Native. Nie użyłem maszynopisu, ale jesteśmy w trakcie dodawania przepływu do projektu. Używamy testowania, który jest już zintegrowany z istanbul, aby zapewnić dobre wyniki pokrycia testowego. – hyb175

+0

Witam, jestem nowy w React Native. Stworzyłem swoją aplikację z aplikacją "create-react-native-app", a następnie skompilowałem swój apk z expo, jednak rozmiar apk był duży, 25mb + moje pytanie brzmi: czy tworzenie-reakcja-natywna-aplikacja automtycznie obejmuje moduły expo? –