DiscoverPlaces Raport #6

To kolejny raport na temat tworzenia projektu DiscoverPlaces. Jak pisałem w poprzednich postach API zostało skończone, więc pora teraz przejść do tworzenia aplikacji mobilnej w technologii React Native.

Czym jest React Native?

React Native jest frameworkiem umożliwiającym tworzenie natywnych aplikacji za pomocą Javascriptu oraz Reacta. Aplikacja stworzona w tym frameworku będzie identyczna jak te napisane w Javie czy Swift. Jednak dzięki niemu możemy te aplikacje napisać szybciej, gdyż nie musimy osobno pisać kodu pod iOSa i Androida, tylko tworząc jeden kod przygotowujemy wersje dla obu systemów.  Aplikacje natywne są na pewno szybsze niż hybrydowe, co daje React Native przewagę nad frameworkami do tworzenia hybryd (Cordova, Ionic etc.).

Przygotowanie środowiska i napotkane problemy

Opisaną instalację React Native znaleźć  można tutaj. Sprowadza się ona do instalacji Node.js, React Native CLI oraz Android Studio. Problemy poniżej napotkane dotyczą systemu Linux.

Problem z instalacją narzędzia Watchman

./autogen.sh: 9: ./autogen.sh: aclocal: not found
./autogen.sh: 10: ./autogen.sh: autoheader: not found
./autogen.sh: 11: ./autogen.sh: automake: not found
./autogen.sh: 12: ./autogen.sh: autoconf: not found

Problem rozwiązujemy poprzez instalację brakujących pakietów:

sudo apt-get install automake
sudo apt-get install autoconf

Następnie poniższy problem można rozwiązać poprzez instalację pakietu python-dev

pywatchman/bser.c:31:20: fatal error: Python.h: No such file or directory

Java 9

Kolejnym problem na jaki się natknąłem, było to, że w systemie miałem zainstalowaną Javę w wersji 9, natomiast Android Studio wymaga wersji 8. Sprawę załatwił downgrade.

Dev menu

Aby otworzyć menu z opcjami deweloperskimi na wirtualnym urządzeniu należy wydać polecenie:

adb shell input keyevent 82

Dalsze  plany

Środowisko zostało przygotowane, więc w kolejnych dniach zajmował się będę tworzeniem aplikacji. Prawdopodobnie (jeśli nie zabraknie czasu 😉 ) pojawią się również posty na inne tematy, niezwiązane z rozwijanym projektem DiscoverPlaces.

 

Udostępnij: