Unlimited Plugins, WordPress themes, videos & courses! Unlimited asset downloads! From $16.50/m
Advertisement
  1. Code
  2. React Native

Memisahkan Expo aplikasi untuk ExpoKit: konsep

by
Difficulty:IntermediateLength:MediumLanguages:

Indonesian (Bahasa Indonesia) translation by Muhammad Gufron (you can also view the original English article)

Dalam posting ini, Anda akan belajar apa ExpoKit dan bagaimana digunakan untuk menambahkan fungsi asli untuk aplikasi Expo. Anda juga akan belajar beberapa pro dan kontra.

Dalam Pembangunan Native React yang Lebih Mudah Dengan posting Expo, Anda belajar tentang bagaimana Expo mempermudah pemula untuk mulai membuat aplikasi dengan React Native. Anda juga mengetahui bahwa Expo memungkinkan pengembang untuk bangkit dan berjalan dengan mengembangkan aplikasi React Native lebih cepat karena tidak perlu lagi menyiapkan Android Studio, Xcode, atau alat pengembangan lainnya.

Tapi seperti Anda juga telah melihat, Expo tidak mendukung semua fitur asli yang aplikasi mungkin perlu. Meskipun tim Expo selalu bekerja untuk mendukung fungsi lebih asli, itu adalah ide yang baik untuk belajar bagaimana mengkonversi Expo proyek yang sudah ada untuk sebuah proyek asli standar sehingga Anda dapat dengan mudah transisi jika kebutuhan muncul. Jadi, dalam dua bagian seri ini, kita akan melihat bagaimana untuk melakukannya.

Dalam posting ini, Anda akan mempelajari apa ExpoKit dan ketika Anda akan perlu itu, serta yang fitur platform Expo dipertahankan dan hilang setelah Anda melepaskan untuk ExpoKit.

Prasyarat

Tutorial ini mengasumsikan bahwa Anda sudah menetapkan up komputer Anda untuk pengembangan Expo dan bereaksi asli. Ini berarti Anda akan perlu baik Android Studio atau Xcode atau keduanya, tergantung pada mana Anda ingin menyebarkan. Pastikan untuk memeriksa panduan memulai dengan Expo, dan juga panduan 'Memulai' di dokumentasi bereaksi asli di bawah tab 'Proyek bangunan dengan kode asli' untuk platform Anda tertentu jika Anda belum melakukannya.

Pengetahuan tentang Node.js bermanfaat tetapi tidak diperlukan.

Apakah ExpoKit?

ExpoKit adalah tujuan-C dan Java perpustakaan yang memungkinkan Anda untuk menggunakan platform Expo dalam proyek bereaksi asli standar. Ketika saya mengatakan "standar bereaksi asli proyek", maksudku yang dibuat menggunakan perintah react-native init.

Kelemahan dari memisahkan untuk ExpoKit adalah bahwa Anda akan memiliki untuk mengatur lingkungan pengembangan asli standar untuk bereaksi asli!

Kelemahan lain adalah bahwa Anda terbatas untuk bereaksi dan bereaksi asli versi digunakan oleh ExpoKit pada saat Anda melepaskan aplikasi Anda. Ini berarti bahwa mungkin ada masalah kompatibilitas yang akan Anda perlukan untuk menyelesaikan jika modul asli yang Anda mencoba untuk menginstal tergantung pada versi sebelumnya bereaksi atau bereaksi asli.

Jika Anda berpikir app Anda akan membutuhkan banyak modul asli yang built-in bereaksi asli dan Expo api sudah tidak mendukung, saya sarankan Anda menghindari menggunakan api Expo. Dengan cara itu, Anda dapat dengan mudah "eject" untuk sebuah proyek bereaksi asli standar pada waktu yang Anda butuhkan untuk mulai menggunakan kustom modul asli.

Kapan harus melepaskan untuk ExpoKit?

Anda mungkin ingin melepaskan Expo proyek Anda yang sudah ada untuk salah satu alasan berikut:

  • API yang terkena oleh fitur asli yang didukung oleh Expo tidak menutupi kasus penggunaan Anda.
  • Anda harus menggunakan fungsi asli yang saat ini tidak didukung oleh Expo platform. Contoh termasuk Bluetooth dan latar belakang tugas.
  • Anda ingin menggunakan layanan tertentu. Saat ini, Expo menggunakan Firebase untuk real-time data dan Sentry untuk pelaporan kesalahan. Jika Anda ingin menggunakan layanan alternatif, satunya pilihan adalah untuk menulis kode Anda sendiri untuk berkomunikasi dengan api HTTP tentang layanan yang ingin Anda untuk menggunakan atau untuk menginstal modul asli yang sudah ada yang melakukan pekerjaan.
  • Anda memiliki setup integrasi berkesinambungan yang ada yang tidak bermain dengan baik dengan Expo-misalnya, jika Anda menggunakan Fastlane atau Bitrise untuk integrasi berkesinambungan. Expo tidak benar-benar mengintegrasikan dengan layanan tersebut dari kotak, sehingga Anda harus menulis kode integrasi Anda sendiri jika Anda ingin menggunakannya sementara masih pada Expo platform.

Fitur-fitur yang dipertahankan memisahkan untuk ExpoKit

Memisahkan untuk ExpoKit berarti bahwa Anda akan kehilangan sebagian dari fitur yang ditawarkan oleh Expo platform. Namun, beberapa fitur penting berikut masih tetap dipertahankan:

  • Api Expo. Anda masih akan dapat menggunakan api Expo seperti Permissions API.
  • Live Reload. Terlepas Expo apps masih mampu menggunakan ulang hidup sementara Anda mengembangkan aplikasi. Satu-satunya perbedaan adalah bahwa Anda tidak akan dapat menggunakan aplikasi klien Expo. Jika Anda mengembangkan untuk Android, Anda masih dapat menggunakan perangkat Android atau sebuah emulator seperti Genymotion untuk menguji app. Jika Anda berkembang untuk iOS, app dapat dijalankan pada simulator yang Anda terpasang di Xcode. Anda juga dapat menjalankannya pada iPhone atau iPad, tapi Anda perlu mengikuti beberapa langkah tambahan yang aku tidak akan menutupi dalam tutorial ini.

Fitur Anda kehilangan ketika melepaskan untuk ExpoKit

Dengan memisahkan untuk ExpoKit, Anda akan kehilangan fitur berikut:

  • App mudah berbagi melalui kode QR dan Expo Snack ringan. Setelah Anda sudah dipisah untuk ExpoKit, Anda akan melihat bahwa Anda masih dapat berbagi aplikasi Anda melalui Expo XDE. Itu masih akan menghasilkan kode QR, tetapi kode tersebut tidak akan lagi bekerja ketika Anda memindai dengan aplikasi klien Expo.
  • Membangun aplikasi standalone melalui server Expo. Anda tidak dapat menggunakan perintah exp build untuk membangun .ipa atau .apk file pada server Expo. Ini berarti bahwa Anda harus menginstal Android Studio atau Xcode (tergantung pada platform yang Anda ingin menyebarkan) dan membangun aplikasi lokal sendiri. Atau, Anda dapat menggunakan Microsoft App Center untuk membangun aplikasi jika Anda tidak memiliki sebuah lingkungan pengembangan lokal yang diatur. Perhatikan bahwa Anda tidak dapat menggunakan perintah seperti react-native run-android atau react-native run-ios untuk menjalankan aplikasi, seperti yang Anda lakukan dalam proyek bereaksi asli standar.
  • Layanan Pemberitahuan Dorong Expo. Expo tidak lagi mengelola sertifikat push Anda setelah dilepaskan, sehingga pipeline notifikasi push harus dikelola secara manual.

Apa yang Akan Kita Buat

Untuk memamerkan manfaat dari melepaskan ke ExpoKit, kami akan membuat aplikasi yang membutuhkan fitur asli yang saat ini tidak mendukung platform Expo. Aplikasi ini akan menjadi aplikasi berbagi lokasi.  Itu sebagian besar akan berjalan di latar belakang, mengambil lokasi pengguna saat ini. Kemudian akan mengirim lokasi melalui pendorong. Kami juga akan membuat halaman web yang menampilkan lokasi pengguna saat ini pada peta.

Inilah yang akan terlihat seperti aplikasi: 

location tracking app

Anda dapat menemukan sumber penuh proyek dalam tutorial GitHub repo.

Menyiapkan App

Di sisa posting ini, kita akan fokus pada mendapatkan aplikasi kami mengatur. Kemudian, di posting berikutnya, kami akan daging keluar beberapa kode kunci untuk berinteraksi dengan ExpoKit.

Membuat aplikasi pendorong

Jika Anda ingin menggunakan layanan pendorong 's pada aplikasi Anda, Anda akan perlu untuk menciptakan sebuah aplikasi di dashboard pendorong. Setelah log in, pergi ke dashboard Anda, klik pada Your apps dan kemudian Create new app, dan masukkan nama app:

create Pusher app

Setelah aplikasi dibuat, pergi ke App Settings dan periksa check box Enable client events. Ini akan memungkinkan kita untuk memicu peristiwa pendorong langsung dari app bukannya dari server. Kemudian klik pada Update untuk menyimpan perubahan:

enable client events

Anda dapat menemukan tombol di bawah tab App keys. Kita akan membutuhkan orang-orang kemudian, setelah kita terhubung ke app pendorong.

Membuat aplikasi Google

Demikian pula, kita perlu membuat proyek Google untuk menggunakan Google Maps API dan API geolokasi. Pergi ke console.developers.google.com dan membuat proyek baru:

create Google project

Selanjutnya, pergi ke dashboard proyek dan klik Enable APIs and Services. Cari Google Maps JavaScript API dan Google Maps Geocoding API dan mengaktifkan mereka.

Dari halaman dashboard proyek, pergi ke Credentials dan klik pada Create Credentials > API Key. Perhatikan kunci API yang dihasilkannya seperti yang kita akan menggunakan ini kemudian.

Membuat proyek Expo baru

Jalankan perintah berikut dalam direktori kerja Anda:

Sekarang Expo app siap untuk menguji. Hanya Pindai kode QR dengan Anda Expo klien aplikasi untuk iOS atau Android.

Coding App

Sekarang kita sudah siap untuk memulai coding app. Kita akan mulai mengembangkan sebagai sebuah proyek Expo standar, dan kemudian kami akan melepaskan untuk ExpoKit ketika kita perlu menggunakan fitur asli kustom.

Menghasilkan kode pelacakan yang unik

Hapus konten file App.js di akar direktori proyek dan tambahkan impor berikut:

Kami juga akan menggunakan sebuah header kustom komponen:

Dalam konstruktor, mengatur unique_code ke keadaan awal:

UI aplikasi kami akan menampilkan kode unik ini. 

Akhirnya, di sini adalah kode untuk komponen Header (components/Header.js):

Kesimpulan

Ini telah menjadi bagian pertama dari dua bagian seri kami memisahkan Expo aplikasi untuk ExpoKit. Dalam posting ini, Anda belajar konsep di balik ExpoKit dan mulai mendirikan sebuah proyek yang akan menggunakan fungsi ExpoKit.

Dalam posting berikutnya, kami akan melepaskan aplikasi untuk ExpoKit dan kemudian melanjutkan pengkodean sehingga dapat kita jalankan pada perangkat.

Sementara itu, memeriksa beberapa posting kami tentang bereaksi asli app pembangunan!

Advertisement
Advertisement
Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.