Sekarang selain membuat proyek baru dari awal dengan React Native CLI atau dengan expo CLI dan kemudian
memilih workflow telanjang, Anda bahkan
dapat mengubah proyek yang dikelola menjadi proyek workflow telanjang asli React Native dan itu cukup keren karena itu berarti Anda bisa mendapatkan
semua fitur kenyamanan alur kerja yang dikelola selama pengembangan dan setelah
Anda selesai misalnya atau sekali Anda membutuhkan paket pihak ketiga tertentu yang mengintegrasikan beberapa fitur yang tidak Anda buat
dalam expo dan Anda benar-benar perlu, dalam hal ini Anda bisa masih beralih dan Anda
tidak perlu membangun kembali aplikasi dari awal dan membuat proyek baru dan
menyalin kode Anda.
Bagaimana? Baik dalam proyek Anda dan ini adalah fitur
perangkat asli, proyek tempat hebat yang kami bangun sebelumnya di mana kami dapat menambahkan tempat, di mana
kami tentu saja menggunakan lokasi, peta, kamera, SQLite, tempat kami menggunakan semua ini hal-hal, di sana dalam proyek ini, Anda cukup menjalankan
expo eject dan ini mengubah proyek Anda menjadi proyek alur kerja yang dikelola non-expo.
Namun penting, tidak ada jalan untuk kembali, tentu saja
Anda dapat menyalin folder Anda dan membuat salinan cadangan dan menyimpan ini atau jika Anda menggunakan git,
Anda tentu saja dapat kembali ke komit sebelumnya tetapi jika Anda belum menyimpan proyek, setelah Anda mengeluarkannya,
Anda tidak dapat
mengubahnya kembali, jadi sadarilah ini.
Anda harus membuat proyek terkelola expo baru dan menyalin semua kode Anda jika
Anda ingin kembali.
Jadi di sini jika Anda menjalankan expo eject, Anda sebenarnya harus diminta untuk jenis proyek yang ingin Anda keluarkan dan
di sini saya punya dua opsi pada akhirnya. Sekarang opsi yang Anda lihat di sini mungkin berbeda dari waktu ke
waktu tetapi di sini, dua opsi yang saya miliki adalah bare and expo kit. Kit Expo sudah usang, ini pada dasarnya
adalah apa yang kami miliki sebelum kami memiliki alur kerja kosong, jadi Anda tidak harus benar-benar beralih
ke ini, alih-alih Anda dapat beralih ke telanjang di
sini yang berarti bahwa sekarang ini akan diubah menjadi proyek Asli Bereaksi, seolah-olah itu akan dibuat
dengan React Native CLI tanpa pembungkus expo tetapi akan dikonfigurasikan sebelumnya
seperti yang disebutkan di sini pada halaman react-native-unimodules yang merupakan jenis paket ini yang expo
perlu memaparkan semua API expo ini ke sebuah aplikasi non-pameran. Jadi itu akan mengkonfigurasi ulang semua hal ini selama
setiap tindakan sehingga Anda tidak perlu
melakukan itu, sehingga Anda mendapatkan aplikasi React Native plus. Jadi jika saya menekan enter di sini dan
sekarang penting, Anda tidak dapat kembali setelah ini selesai, Anda dapat memilih nama untuk layar beranda
dan saya akan memilih tempat yang bagus di sini misalnya, tekan enter, sekarang beri nama Android Studio dan Xcode saya
memproyeksikan rn-guide tetapi terserah Anda dan sekarang ini akan melakukan tugasnya.
Ini mengubah proyek, menambah folder
Android dan karena saya menggunakan MacOS, itu juga menambahkan folder iOS. Tentu saja di Windows dan Linux, itu
tidak akan melakukan itu karena di sana, karena Anda sekarang perlu
membangun ini secara
lokal, itu tidak dapat membangun aplikasi iOS dan itu mengkonfigurasi segalanya dan menginstal beberapa dependensi sehingga Anda
dapat menggunakan kode yang ada dan semua paket expo yang telah Anda instal dalam
pengaturan kosong ini, sehingga tidak hanya mengatur
semua unimodules di sini, tetapi juga memastikan bahwa semua paket yang sudah Anda gunakan, seperti lokasi expo atau SQLite
expo, bahwa paket itu juga kerja. Jadi sekarang ini bisa memakan waktu
cukup lama, jadi mari kita tunggu sampai ini selesai dan di sini sudah selesai dan Anda melihatnya benar-benar memberitahu saya bahwa pada
umumnya melakukan tugasnya tetapi ada dua paket yang memerlukan pengaturan manual.
Anda cukup mengklik tautan ini untuk mendapatkan instruksi tentang apa yang perlu Anda
lakukan di sana, itu adalah pemetik gambar pameran dan paket React Native maps di mana Anda perlu melakukan instalasi
manual untuk menyelesaikannya.
Jadi di sini, di halaman
picker image expo, pada akhirnya apa yang perlu kita lakukan adalah kita perlu menjalankan port install di folder iOS,
jadi kita perlu melakukan semua hal setelah menginstal paket. Jadi di folder proyek, saya akan menavigasi ke iOS
dan menjalankan instalasi port, port seperti npm untuk iOS, itu menginstal beberapa dependensi yang dibutuhkan iOS untuk bekerja
dengan benar, jadi itulah yang terjadi sekarang dan setelah ini selesai, kami juga akan perlu menambahkan entri ini di sini
ke manifes Android, jadi itu juga sesuatu yang perlu kita lakukan.
Jadi kita harus pergi ke folder Android, folder aplikasi di sana dan di folder sumber, AndroidManifest
dan kemudian seperti yang dijelaskan di sini, tambahkan ini di dalam tag aplikasi.
Jadi di sini ada aplikasi dan di sana, kita harus menambahkan entri aktivitas ini di sini, seperti ini, itu wajib.
Sekarang, sementara saya sudah di sini, Anda juga akan melihat bahwa file manifes ini juga
telah
diatur dengan cara tertentu, itu mencakup semua izin dan tentu saja, Anda tidak ingin melakukan itu, Anda hanya ingin
meminta izin kamu benar-benar membutuhkan.
Jadi seperti yang tertulis di sini, hapus semua izin yang tidak diperlukan aplikasi Anda dan misalnya aplikasi demo
saya di sini hanya perlu akses mencari lokasi izin yang akan saya
pindah ke sana dan izin kamera tentu saja yang saya akan pindah ke sana dan juga izin penyimpanan eksternal tulis, yang
juga harus diminta.
Ini sebenarnya harus semua izin dan Anda dapat memeriksa semua paket pihak ketiga atau semua
paket API expo yang Anda gunakan untuk memastikan Anda tidak kehilangan izin apa pun.
Dengan itu, saya benar-benar akan mengomentari semua izin ini di sini dan juga semua izin ini dan kami
akan mengujinya untuk melihat apakah itu berfungsi. Maka dengan itu, pengaturan paket pemilih gambar selesai. Sekarang Bereaksi peta asli juga
perlu dikonfigurasi dan di sana kita bisa masuk ke petunjuk instalasi.
Sekarang perintah instal npm ini, yang sudah terjadi tetapi sekarang yang perlu kita
lakukan adalah kita perlu menjalankan React Native link React Native maps. Jadi mari kita naik satu tingkat
kembali ke folder proyek root dan menjalankan React Native link React Native maps dan
yang sekarang akan
menghubungkan semuanya, pastikan semuanya bekerja dengan benar, bahwa semuanya sudah dikonfigurasikan dengan
benar dan Anda masih perlu melakukan beberapa manual hal-hal, semua hal ini di sini seharusnya tidak
diperlukan, yang semua harus dilakukan dengan menautkan terima kasih tetapi pada Android, Anda perlu memastikan bahwa Anda menambahkan entri ini di
sini, entri metadata ini menjadi kunci aplikasi Anda di AndroidManifest.
Jadi di sini di dalam aplikasi, kita dapat menambahkan entri ini dan di sana Anda perlu menempatkan kunci Google Maps
API Anda.
Sekarang saya memiliki itu di
folder env jika Anda ingat, jadi saya hanya akan mengambil kunci ini dan menambahkannya di sini, ganti kunci Google
Maps API Anda di sini dengan itu
dan juga penting, jika Anda pergi ke halaman Google Maps API, Anda perlu untuk mengaktifkan ini memetakan SDK untuk Android untuk proyek
Anda,
itu penting jika ini tidak akan berhasil. Untuk iOS, Anda tidak perlu melakukan sesuatu yang istimewa
kecuali jika Anda ingin menggunakan Google Maps di sana, dalam hal ini Anda harus mengikuti instruksi yang diberikan dalam petunjuk peta
React Native di sini untuk cara menggunakan Google Maps di iOS tetapi
untuk Android Anda pasti perlu mengaktifkan Google Maps SDK untuk Android API di sini. Untuk mengaktifkan API ini, Anda dapat pergi ke Google Cloud
Platform di sini untuk proyek yang Anda kerjakan sebelumnya ketika Anda mengatur kunci API dan seterusnya
dan kemudian di sini di bawah API dan layanan, Anda dapat pergi ke perpustakaan yang akan membawa Anda
ke perpustakaan dari semua Google API dan ada peta SDK untuk Android,
Anda harus mengaktifkannya.
Anda juga perlu mengatur peta SDK untuk iOS jika Anda ingin menggunakan Google Maps di iOS yang saya tidak
akan gunakan di sini.
Sekarang seharusnya sudah diaktifkan di
sini, tetapi pastikan sudah. Jadi kalau-kalau itu tidak
diaktifkan, pasti melakukannya.
Dengan itu, ini juga harus diatur sedemikian rupa
sehingga berfungsi dan sekarang jika kita menjalankan react-native run-android, aplikasi yang kita buat dalam modul sebelumnya dengan alur kerja yang dikelola dengan
expo sekarang masih dapat berfungsi, sekarang tanpa alur kerja yang dikelola oleh expo tanpa klien pameran yang digunakan pada simulator atau
perangkat nyata tetapi sebaliknya membangun secara lokal dengan Android Studio atau tentu saja juga dengan iOS jika Anda ingin menggunakannya
dan oleh karena itu dengan cara yang sama seperti Anda akan melakukannya dalam proyek yang dibuat asli CLI
tetapi menciptakan proyek tetapi
sekarang setelah mengeluarkan dari alur kerja yang dikelola yang tentu saja berarti semua kode ini ditulis
dalam alur kerja yang dikelola dan sekarang saya menjalankannya dalam alur kerja yang tidak dikelola yang cukup manis.
Jadi mari kita tunggu sampai selesai dan lihat apakah aplikasi ini berfungsi sebagaimana mestinya.
Ini muncul pada emulator Android di sini yang merupakan emulator yang ingin saya gunakan untuk pengujian
karena di sana saya dapat menggunakan kamera emulator untuk pengujian dan sekali lagi, hanya untuk menekankan ini, ini sekarang tidak
menggunakan aplikasi klien
expo, kami juga tidak bisa t memindai barcode di sini karena tidak ada barcode
untuk dipindai, ini sekarang benar-benar sebuah aplikasi yang dibangun dengan Android Studio dan didorong ke aplikasi kami.
Jadi, inilah aplikasi kami dan sekarang mari kita coba menambahkan
tempat baru di sini, uji, ambil gambar, izinkan akses ke kamera, lalu ambil gambar ini
ya potong, pilih
lokasi di
peta mungkin, inilah peta yang
muncul, lokasi ini terlihat bagus untuk saya, simpan
ini, simpan tempat, di sini kita berada
dan
sekarang izinkan saya menutup aplikasi ini.
Di sana, Anda juga melihat bahwa ini adalah aplikasi mandiri
yang diinstal, jika saya membuka laci aplikasi di sini di perangkat, di sini di simulator, ini adalah aplikasi tempat
yang luar biasa yang Anda lihat di sini.
Jadi jika saya meluncurkan ini, ini sekarang meluncurkan kembali aplikasi yang baru saja kami kerjakan dan ada tempat kami
karena disimpan
di penyimpanan lokal, gambar jelas disimpan pada sistem file jika tidak
kita tidak akan melihatnya dan berfungsi seperti sebelumnya tapi sekarang bukan di dalam klien expo tetapi sebagai aplikasi
mandiri
tanpa bungkus expo, masih menggunakan beberapa API expo dan paket expo dengan bantuan paket unimodules ini yang
secara otomatis ditambahkan dan dikonfigurasikan ke alur kerja kosong yang kami dapatkan di sisi
lain dengan bantuan pengeluaran.
Banyak hal keren terjadi di sana.