Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

2. diel - React Native - Prvá aplikácia

V minulej lekcii, Prvé aplikácie v React Native , sme si ukázali inštaláciu React Native a tvorbu aplikácií v tomto frameworku.

Je čas začať s vývojom React Native aplikácií.

Inštalácia Expo CLI

Predtým, než začneme, musíme mať nainštalované Node.js. Poďme si spoločne Node.js nainštalovať. Je to veľmi jednoduché. Prejdeme na oficiálne stránky Node.js, prípadne rovno do sekcie download, a stiahneme si inštalátor pre náš operačný systém. Ten následne spustíme a podľa inštrukcií nainštalujeme. Určite už ste takých inštalácií robili nespočet:) Keby ste sa chceli dozvedieť o Node.js viac, môžete si prejsť tiež naše lekcie na Node.js.

Keď už máme Node.js nainštalované, môžeme otvoriť konzolu a nainštalovať globálne Expo CLI:

$ npm install --global expo-cli

Inštaláciu si môžeme overiť pomocou príkazu:

$ expo whoami
Not logged in

Poprípade nám to môže napísať hlášku "Not logged in, run expo login to authenticate".

Tiež odporúčam nainštalovať aplikáciu pre Android / iOS Expo Go pre testovanie na mobile.

Vytvorenie prvého projektu

Teraz máme nainštalované všetko potrebné a môžeme si vytvoriť našu prvú aplikáciu. Spustíme si teda v nejakej projektovej zložke nasledujúci príkaz v konzole:

$ expo init StarterApp

Vyberieme blank v managed workflow (viď. Obrázok):

Výber šablóny RN - React Native

Teraz prejdeme do novo vytvoreného adresára

$ cd ./StarterApp/

Štruktúra aplikácie

Môžeme vidieť nasledujúcu štruktúru aplikácie:

StarterApp/
├── assets/              ← adresár ASSET, ako sú ikonky, fonty, obrázky a tak ďalej
├── node_modules/        ← adresár modulov (niečo ako zložka vendor / známa z Composer)
├── App.js               ← je vstupný súbor našej aplikácie
├── app.json             ← je konfiguračný súbor našou React Native aplikácie
├── package.json/        ← súbor, ktorý obsahuje metadáta relevantné pre projekt a slúži na správu závislostí projektu, skriptov, verzií a mnoho ďalších.
├── package-lock.json/   ← automatický súbor generovaný NPM, obsah exaktné štruktúry node_modules
└── babel.config.js/     ← nastavenie nástroje babel

Spustenie projektu

Teraz máme našu aplikáciu nainštalovanú a môžeme si ju spustiť. Zadáme si teda tento príkaz:

$ expo start

To nám otvorí okno prehliadača (poprípade zadáme ešte kláves D), aby sme sa dostali do tzv. Developer Tools):

React Native

Môžeme si pustiť aplikáciu skrz Expo Client App na našom zariadení, alebo môžeme použiť emulátor pre Android alebo iOS. Ak zariadenia nie sú na rovnakej sieti, môžeme využiť tunelovania spojenie, ktoré zaručuje Expo samotnej.

Po spustení aplikácie na našom zariadení môžeme vidieť nasledujúce obrazovku:

React Native

Otvoríme si súbor App.js, ktorý bude mať nasledujúci obsah:

import { StatusBar } from 'expo-status-bar';
import React from 'react';
import { StyleSheet, Text, View } from 'react-native';

export default function App() {
  return (
    <View style={styles.container}>
      <Text>Open up App.js to start working on your app!</Text>
      <StatusBar style="auto" />
    </View>
  );
}

const styles = StyleSheet.create({
  container: {
    flex: 1,
    backgroundColor: '#fff',
    alignItems: 'center',
    justifyContent: 'center',
  },
});

V prvej časti aplikácie sa importujú potrebné časti aplikácie. Ďalej máme našej funkcionálne komponentu, ktorá obsahuje logiku aplikácie. Ďalej máme objekt StyleSheet, ktorý obsahuje štylizovanie danej komponenty.

Teraz si upravíme kód. Importujeme si hook useState a komponent Button:

import React, {useState} from 'react';
import { StyleSheet, Text, View, Button } from 'react-native';

Pridáme si hook useState, ktorý nám dovoľuje spravovať stav (state) vo funkcionálne komponente:

export default function App() {
  const [outputText, setOutputText] = useState("Hello World");
  return (
    <View style={styles.container}>
      <Text>{outputText}</Text>
      <Button title="Change text" onPress={() => {
        setOutputText("I clicked button");
      }} />
      <StatusBar style="auto" />
    </View>
  );
}

Vytvorili sme si novú stavovú premennú outputText. Funkcia useState() je vlastne využitá pre deklarovanie stavové premenné, uložíme do premennej teda text Hello World. Funkcia useState() vracia aktuálny stav a funkciu, ktorá premennú nastaví (aktualizuje). Súbor si uložíme. Už máme spustené expo, takže sa aplikácia sama obnoví. Popr. môžeme zásterky s mobilom, kedy sa nám otvorí menu. Z ponuky vyberieme Reload. Po spustení a načítaní aplikácie na zariadení uvidíme nasledujúce:

React Native

Po kliknutí na tlačidlo sa zmení text. Uvidíme potom nami zadaný text:

React Native

Pre dnešok to bolo už všetko. Snáď bolo všetko pochopiteľné:)

V budúcej lekcii, Prvá multiplatformná aplikácia , opustíme teóriu a naprogramujeme si jednoduchú aplikáciu, ktorá bude reagovať na vstup od užívateľa a zobrazí nám dialógové okno s pozdravom.


 

Predchádzajúci článok
Prvé aplikácie v React Native
Všetky články v sekcii
React Native
Preskočiť článok
(neodporúčame)
Prvá multiplatformná aplikácia
Článok pre vás napísal Jakub Gabčo
Avatar
Užívateľské hodnotenie:
Ešte nikto nehodnotil, buď prvý!
Aktivity