Make Mobile Application With React Native (Full Function)
วันนี้ มาเพิ่ม skill ให้ทีม dev
เราก็เลยจะมาสร้าง mobile application ด้วย react native และผองเพื่อนกัน
เพื่อลองใช้ library ที่อยากลองกัน
แล้วผองเพื่อนมีอะไรบ้างหละ ?
ได้แก่
- redux — state management
- react-navigation — navigation
- facebook sdk — เราจะใช้ facebook login
- firebase — ก็มีหลาย service เดี๋ยวจะใช้ firestore ในการเป็นตัวเก็บข้อมูลกัน
- google analytics — เอาไว้ติดตามว่า user ใช้งาน app เราอย่างไรบ้าง น่าจะเชื่อมผ่าน firebase analytics
- deeplink, universal link — link สำหรับเปิด app
- unit test — jest test function and
ใครอยากไปส่อง code ก่อนดูได้ใน Github Repository
ak1103dev/react-native-todolist-2021 (github.com)
แต่มีเฉพาะ config ของ android เนื่องจากเวลาน้อยนะครับ
- เริ่มจาก init project react native ด้วย react-native cli ก่อนเลย
Getting Started · React Native
2. มา setup Redux ด้วย Redux Toolkit (เป็นท่าที่คล้าย Rematch ที่เป็น Redux framework เลย)
Quick Start | Redux Toolkit (redux-toolkit.js.org)
// src/components/Counter.js เอาไว้ลองว่า redux ใช้งานได้import React from 'react';
import {View, Button, Text} from 'react-native';
import {useSelector, useDispatch} from 'react-redux';
import {decrement, increment, incrementByAmount} from '../store/models/counter';const Counter = () => {
const count = useSelector(state => state.counter.value);
const dispatch = useDispatch();return (
<View>
<Button title="Increment" onPress={() => dispatch(increment())} />
<Text>{count}</Text>
<Button title="Decrement" onPress={() => dispatch(decrement())} />
<Button
title="IncrementBy4"
onPress={() => dispatch(incrementByAmount(4))}
/>
</View>
);
};export default Counter;
สำหรับ side effect ใช้ createAsyncThunk ตามนี้ Usage Guide | Redux Toolkit (redux-toolkit.js.org)
3. มาต่อด้วยการ set navigation เพื่อทำ app ที่มีหลายหน้า
Getting started | React Navigation
4. setup Facebook SDK ด้วยการ install lib แล้วก็ไป create app ที่ https://developers.facebook.com
5. setup Firebase
React Native Firebase | React Native Firebase (rnfirebase.io)
setup Firestore
Cloud Firestore | React Native Firebase (rnfirebase.io)
6. setup Firebase Analytics
Analytics | React Native Firebase (rnfirebase.io)
setup screen tracking in react navigation
Screen tracking for analytics | React Navigation
7. setup deeplink
Deep linking | React Navigation
config link
Configuring links | React Navigation
setup Universal Link
8. jest มีอยู่ตอน init react native แล้ว แค่ต้องเขียน script test ใน directory __test__ ลองดูตัวอย่างใน repo ได้
gitmoji คือ git commit ที่มี emoji บอก type of commit อันนี้แถม
carloscuesta/gitmoji: An emoji guide for your commit messages. 😜 (github.com)
เป็นวันที่ได้ประสบการณ์ที่ดีอีกหนึ่งวัน (:
Code ให้สนุกนะครับ