Pengalaman Belajar React-Native Sebulan
Pada artikel ini semuanya berdasarkan pengalaman pribadi saya, jadi ada kemungkinan kalian akan merasakan perjalanan yang jauh berbeda. Namun saya menulis ini tujuannya adalah supaya kalian yang baru memulai tidak perlu melalui dari fase yang saya rasa tidak penting sama sekali ketika belajar sehingga dapat mempercepat kalian dalam menguasai React-Native atau teknologi serupa.
React-Native atau kita sebut saja RN ini merupakan sebuah library javascript yang memungkinkan penggunanya untuk menuliskan aplikasi mobile pada multiple platform (terutama IOS dan Android) hanya dengan satu code-base. Bagi yang belum tau, sesuai namanya RN dibuat oleh facebook menggunakan library React sebagai basis penulisannya. Sehingga jika seseorang sudah bisa menggunakan React dan ingin mempelajari RN seharusnya tidak akan memakan waktu lama menguasainya.
Mungkin diantara kalian ada yang bertanya-tanya,
Apakah harus belajar React terlebih dahulu?
Sebenarnya jawaban dari pertanyaan ini gampang-gampang susah. Jika dinalar, RN dibangun menggunakan React, bukankah sebaiknya bisa React terlebih dahulu? Lalu bukankah jika ingin membuat aplikasi mobile, bukankah sebaiknya harus bisa menggunakan pemrograman native mobile (java atau swift)?
Pertanyaan-pertanyaan ini juga selalu menghantui saya bahkan setelah memutuskan untuk belajar menggunakan RN. Namun jika diteruskan, pertanyaan ini tidak akan ada habisnya. Kita akan jatuh ke dalam rabit-hole semakin dalam tanpa menemukan jawaban yang memuaskan.
Disini saya akan mencoba menjelaskan pertanyaan diatas dengan analogi pendekatan top-down. Jika mengutip sedikit dari wikipedia:
Top-down and bottom-up are both strategies of information processing and knowledge ordering
Yang artinya kedua hal ini merupakan strategi untuk memahami informasi dan pengurutan sebuah ilmu pengetahuan. Mari kita bahas menjawab menggunakan pendekatan dari top-down.
Pendekatan Top-Down
Pendekatan ini secara sederhana melihat pertama kali dari garis besarnya. Jika digunakan pada kasus kita yaitu belajar RN, maka analoginya akan seperti berikut:
- Kita ingin membuat sebuah aplikasi mobile IOS dan Android.
- Maka kita memerlukan programmer Java dan Swift, namun biaya akan jadi masalah.
- Maka kita memerlukan teknologi yang bisa menuliskan program untuk keduanya, yaitu RN.
- Kemudian kembali ke pertanyaan awal, apakah harus mempelajari React terlebih dahulu?
- Menguasai React tentunya akan mempercepat proses belajar RN, tapi karena sama-sama menggunakan React, maka ketika mempelajari RN kita juga telah mempelajari React secara bersamaan.
- Lalu apakah harus bisa pemrograman native mobile? Jawabannya tergantung dari kebutuhan. Penggunaan native (Java maupun Swift) tentunya proses akan menjadi lebih cepat.
- Jika ada bagian dimana performa RN tidak memuaskan bagi kalian, RN memungkinkan kalian untuk menambahkan coding secara native kepada aplikasi.
Jika mengambil contoh dari perusahaan besar yang telah menggunakan RN seperti Airbnb, penggunaan react native ini cukup untuk mempercepat proses prototyping sebuah fitur. Setelah fitur tersebut dirilis, nantinya perlahan akan dibuat versi Nativenya oleh tim sesuai keahliannya.
Sejauh ini, dapat kita simpulkan bahwa RN sangat cocok jika kalian hanya memiliki sumber daya yang kecil, dan atau kalian ingin cepat-cepat merilis suatu aplikasi pada berbagai platform mobile.
Pertanyaan berikutnya,
Dimana tempat belajar React-Native terbaik ?
Saran saya sebelum belajar adalah
- Join dengan grup atau komunitas RN: Grup RN tersebar di berbagai platform, namu secara pribadi yang saya ikuti ada di Telegram dan Facebook. Dengan bergabung, kalian akan ditunjukkan bahwa ada banyak juga yang baru mulai belajar RN sehingga kalian akan merasa punya teman seperjuangan.
- Ikuti langkah getting started official: Ada dua cara utama ketika memulai RN, menggunakan expo ataupun create-react-app. Saya pribadi lebih memilih menggunakan expo karena telah dilengkapi tools yang mempermudah development.
- Siapkan device mobile: Tentunya kita membutuhkan perangkat mobile untuk mengembangkan aplikasi mobile. Saran saya, jika kalian keterbatasan RAM maka bisa menggunakan hanphone pribadi kalian. Saya pribadi menggunakan virtual device karena komputer saya memadai. Android Studio menyediakan AVD, namun hanya cocok digunakan pada processor intell. Komputer saya menggunakan processor AMD ryzen, saya lebih cocok menggunakan NOX. Setupnya pun tidak ribet.
- RAM laptop: Ram disini tentunya akan sangat mempengaruhi kenyamanan kalian ketika mengembangkan aplikasi. Dimana biasanya kalian dituntut untuk melakukan multitasking browsing tutorial, mencari fix error, melakukan run program, dan jika menggunakan virtual device juga membutuhkan RAM. Komputer saya menggunakan 8GB RAM sudah cukup untuk melakukan hal-hal tersebut. Bagi yang memiliki 4GB, belajar RN tentunya masih memungkinkan, tapi sulit untuk multitasking seperti dijelaskan.
Setelah kalian bisa menjalankan aplikasi “hello world” kalian, sumber belajar untuk ke tahap berikutnya pada saat artikel ini ditulis sudah sangat amat banyak baik bahasa inggris maupun bahasa Indonesia. Salah satu youtuber Indonesia yang memberikan tutorial terbaik (dan disarankan oleh banyak orang) yaitu oleh Prawito Hudoro. Beliau membahas secara lengkap dan bertahap proses belajar RN. Dan untuk bahasa inggris, saya lebih memilih tutorial oleh Ben Awad. Tentunya masih banyak channel youtube lain bisa kalian explore sendiri nanti.
Tentunya, kalian juga akan dituntut untuk setidaknya memahami bahasa inggris karena selain tutorial berbahasa inggris lebih banyak, error handling yang tersebar di github dan stackoverflow mayoritas menggunakan bahasa inggris. Jadi saran saya jangan takut dengan bahasa inggris, gunakan google translate jika perlu.
Mungkin itu saja untuk artikel ini, jika ada salah kata maka saya memohon maaf. Selamat belajar, Saya juga masih dalam proses belajar maka mari kita sama-sama berjuang untuk mencapai target kita masing-masing.