Deploy ứng dụng React Native với Expo. Không cần Android Studio/Xcode
Giới thiệu
Mình mới học React Native, có viết cái app về maps chơi. Em nó đây
Mình test thử deploy em nó với Expo, thấy khá tiện lợi và dễ dàng cập nhật app nên viết bài này chia sẻ với mọi người.
Expo là gì?
Expo là một bộ công cụ hỗ trợ lập trình React Native, cung cấp những tính năng giúp cuộc đời của dev dễ dàng hơn như:
Đăng nhập với Facebook
Notification ( dễ hơn với làm native luôn, Expo có SDK server riêng )
XDE giúp quản lý project, ít phát sinh lỗi khi có cập nhật phiên bản React Native mới. Ví dụ lỗi CFBundleIdentifier khi tạo project version >= 0.45 sẽ bị lỗi thì tạo project với Expo không hề gì
và nhiều tính năng khác
Tại sao không cần dùng Android Studio/Xcode
Bình thường, với IOS, bạn phải tải có Xcode mới build được app, sau đó có thể build ra file .ipa hoặc dùng Xcode/Application Loader push thẳng app lên ItunesConnect để submit app.
Android thì dễ hơn chỉ cần build ra file .apk là được.
Với Expo, bạn chỉ cần chạy vài command line là có thể build được dễ dàng.
exp start
exp build:ios
exp build:android
Với IOS thì Expo tự tạo certificates and provisioning profiles cho bạn luôn. Đương nhiên phải nhập Apple developer account rồi.
Mọi việc diễn ra tự động, bạn ngồi đợi một xíu là có file để submit lên store rồi.
Điều này sẽ rất hữu ích vì một số bạn không có máy Mac hoặc không quen với việc build app từ Xcode. Nhất là khi bạn mới chuyển từ web qua
Cập nhật app Over the Air (OTA)
Ví dụ bạn muốn chỉnh sửa vài thứ nhỏ nhặt trong app như đổi tên placeholder của text filed, đổi text trong welcome screen thì cũng phải build ra phiên bản mới rồi upload lên store lại, rồi phải đợi người ta duyệt mới cập nhật được( Với Apple Store thôi nha ), như vậy rất mất công và tốn thời gian.
Khi deploy ứng dụng React Native với Expo, mọi chuyện dễ dàng hơn. Bạn chỉ cần sửa code và nhấn nút publish là xong. Khi người dùng mở ứng dụng lên, nó sẽ tự động cập nhật thay đổi mới nhất từ bạn.
Tính năng này như CodePush của Microsoft nhưng dùng Expo thì không cần cài đặt gì cả.
Thật là tiện lợi.
Kết luận
Nếu Expo có die thì app của bạn vẫn trên store không ảnh hưởng gì cả :) Mà mình dự đoán tương lai Expo sẽ rất là phát triển, không chỉ dừng lại là toolset hỗ trợ React Native không đâu. Bạn có nghĩ thế không?