React Native: supported by Facebook, driven by Community. Terus mengalami perkembangan pesat dari awal pertama keluar.
Besar banget harapan buat jadi framework untuk hybrid mobile apps terbaik 2020. 'kalo Google ga terus genjot Flutter :v'
React Native di tahun 2020 worth it untuk dipelajari? |
Assalamu’alaikum Warahmatullahi Wabarakatuh.
Bertemu lagi dengan gue di Blognya Alvian Kosim. Hari ini gue akan bahas tentang “React Native”.
Wah sudah lama-lama banget sekali yaa saya sudah tidak ngepost di blog ini. Ada banyak alasan yang menyebabkan hal ini terjadi gaes. Salah satunya gue sudah mulai aktif bekerja. Mungkin Kalian bisa langsung search nama Gue di LinkedIn buat tau kantor gua dimana haha.
FYI, gua dalam satu tahun ini lagi cukup tertarik dengan Javascript nih. Javascript yang gue maksud sebenarnya lebih kepada NodeJS atau Javascript yang sifatnya Backend.
Nah itu juga alasan kenapa gue bahas tentang React Native ini. Gue juga lagi belajar banget buat pakai React Native dan implementasiin itu di karya-karya gua (anjay hahaha). Yaa biar pelajaran yang gue dapet bisa lebih dimengerti dan dipakai, jadi setiap belajar sesuatu, harus langsung di-aplikasiin. Istilahnya diamalin lah ilmunya :).
Oke langsung lanjut yaaa….
Greetings
React Native ? Apatuh? Apakah itu sama kayak react? Eh wait, emang react apasi? Eh kenapa logonya kayak gitu? Sstt..
Oke temen-temen React yang kita bicarain ini, konteksnya adalah Programming yaa, jadi jangan mikir jauh-jauh :).
Oke temen-temen React yang kita bicarain ini, konteksnya adalah Programming yaa, jadi jangan mikir jauh-jauh :).
Nah, kalo menurut wikipedia, untuk definisi dari React Native, mereka nyebutinnya kayak gini nih:
React Native is an open-source mobile application framework created by Facebook. It is used to develop applications for Android, iOS, Web and UWP by enabling developers to use React along with native platform capabilities
Simpelnya dari gue, React Native itu framework javascript dari Facebook buat develop aplikasi mobile Android/IOS dengan satu codebase.
* Berarti gue bisa bikin apps android dan IOS sekaligus dong? Betulls.* Gue juga bikinnya pakai Javascript dong?
Yupp.* Cuman satu kodingan aja?
Betul, satu codebase aja.* Halah, paling webview!!??
Big no, that’s why there is ‘native’ inside it.* Kalo ada tulisan React disitu, berarti cara kerjanya ngikutin React dong? harus belajar React ya?
Hmm, ya bisa dibilang gitu sih
Perkembangan
Nah, dari pertama kalinya rilis, di tanggal 26 Maret 2015, React Native udah banyak banget nih perubahannya. Perubahan yang dilakukan juga bikin React Native makin kaya akan fitur, optimasi, dan juga kestabilan.
Banyak banget sih perubahannya, dan memang segala perubahan di dunia IT itu cepat banget sampe susah buat disebutin satu-satu haha.
Banyak banget sih perubahannya, dan memang segala perubahan di dunia IT itu cepat banget sampe susah buat disebutin satu-satu haha.
React Native Hybrid Mobile Apps Framework |
Yang masih hangat juga ada, yakni penambahan React Hooks dimana kita bisa bikin functional based component yang nambah opsi buat kita dalam pembuatan komponen.
Nah selain perkembangan fitur, perkembangan lain yang cukup bagus adalah perkembangan di sisi komunitas. Alhamdulillah nih, komunitas untuk React Native sudah banyak sekali.
Yaa, walaupun begitu, React Native terus berkembang menjadi framework yang `dewasa` sih.
Build cepat dan mudah
Cannot Beat Native Performance
Nah selain perkembangan fitur, perkembangan lain yang cukup bagus adalah perkembangan di sisi komunitas. Alhamdulillah nih, komunitas untuk React Native sudah banyak sekali.
Dukungan untuk library React Native yang terus ter-maintenance juga banyak. Dari hal yang simple seperti image slider, sampe yang advance seperti React Navigation. Itu semua udah tersedia, ready to use.
Ketertarikan orang-orang terhadap React Native juga sangat banyak, bisa dilihat di grafik di bawah. Ini menunjukkan trend pencarian React Native dari awal muncul, sampai tahun 2019 yang naik jauh melebihi pencarian IOS dan Android Development. (Memang sih gabisa jadi tolak ukur, tapi bisa jadi salah satu faktor kan haha)
Hal yang cukup menambah reliability dari React Native, yaitu perusahaan yang menggunakan React Native sudah banyak. Pertama banget, si pembuatnya, Facebook sendiri, yang build Instagram dan Facebook pakai React Native, disusul perusahaan lainnya seperti, Bloomberg, Pinterest, Uber, Discord, dan banyak perusahaan lainnya.
Namun, ada juga perusahaan yang awalnya menggunakan React Native, kemudian beralih menjadi Native. Alasannya? Kalian bisa temukan di link bawah ini yaa
Ya memang hanya AirBNB yang `ketahuan` berhenti menggunakan React Native. Namun, ini cukup menggoyah reliability dari React Native. Soalnya, di versi-versi sampai sekitar 0.54 itu, React Native selalu menyuarakan,
`Hey, React Native dipakai Instagram loh, dipakai AirBNB lohh`.
Yaa, walaupun begitu, React Native terus berkembang menjadi framework yang `dewasa` sih.
Sampai tulisan ini ditulis, versi stable dari React Native sudah mencapai 0.60.5 . Sudah banyak issue yang dibenahi oleh community. Banyak juga fitur dari React yang seiring berjalannya waktu dia berubah, cara kerja React Native juga mengikuti versi React tersebut.
Kelebihan dan Kekurangan
Kelebihan dan kekurangan React Native |
Ini tahap yang pasti dan harus banget dibahas buat React Native. Sebagai salah satu framework hybrid-mobile-apps, pasti aja tuh dibandingin sama `native`. Yaa bagus sih buat tau sejauh apa performanya.
Cuma menurut gue sih yang namanya dia framework Javascript, jalannya gak diatas native-thread, yang mana udah gak adil buat dibandingin.
Cuma menurut gue sih yang namanya dia framework Javascript, jalannya gak diatas native-thread, yang mana udah gak adil buat dibandingin.
Masa iya dibandingin :(. Mungkin kalo React Native jalannya betul-betul di main-native-thread, baru deh seimbang, bisa dibandingin.
Tapi, gue gak juga ngebela React Native, tapi gue lebih memaklumi aja, karena seperti yang kita tau, umurnya terbilang muda (5 tahun muda ga sih? haha). Tingkatannya juga udah beda sama native. Jadi kalopun ada kekurangan dari React Native, ya bisa dimaklumi, malah kalo Kalian bisa, ikut buat memperbagus React Native.
Salah satu hal yang pernah terbesit di pikiran gue, mungkin juga dengan nempelnya Javacript atau React disini, bikin penyelesaian masalah dan kekurangan dari React Native menjadi semakin variatif.
Misal kita jadi bisa manfaatin async/await dari Javascript, state-management dari React dll.
Misal kita jadi bisa manfaatin async/await dari Javascript, state-management dari React dll.
Nah, langsung aja ke bagian Pros and Cons dari React Native. Semua hal yang dicantumin di bawah adalah opini dari gue berdasarkan pengalaman gue pakai React Native.
Pros
- (karena pada dasarnya, dia gabutuh IDE khusus dan required-environment-nya juga terbilang mudah. 'emang yaa easy to say hard to do. Haha kidding' )
Multiple Platform
- (karena satu codebase React Native, bisa buat build dua platform mobile sekaligus)
Fast Refresh
- (bisa langsung liat perubahan kecil yang dilakuin di codingan, tanpa harus build seluruhnya)
Exactly not a Webview
- (yepp, ini bukan webview gakayak ionic atau sejenisnya, tapi beneran native)
Two in One Man
- (ngehire satu orang React Native Programmer, bisa dapet apps buat dua platform sekaligus, mantapp)
Simplified UI
- (karena dia pakai React, jadi untuk UI managementnya juga terbilang mudah (for serious, no kidding), karena buat bikin sebuah screen dengan beberapa komponen ya mudah aja, terus penulisan komponennya pakai JSX)
Cons
- (karena dia jalan di JS Thread, ya performanya terikat sama JSnya. Agak sulid buat nyamain performa aplikasi native, khususnya kalo aplikasinya sudah besar)
Lack of Custom Module and Libraries
- (yaa untuk sekarang masih banyak kurang modul atau library pelengkap sih, tapi kedepannya seharusnya seiring bertambahnya usia React Native, harusnya makin berkembang juga buat penambahan modul dan library-nya)
Still Need Native Knowledge
- (yaa betul, gasemuanya JS. Ada beberapa hal yang emang harus kita lakuin pakai cara `native`, jadi Kalian tetep harus tau cara kerja dari kedua platformnya :( )
Pain in Development
- (ini sih dari pengalaman gue, ada aja masalahnya tiap hari. Entah dari packager-nya, dari cache gradle-nya, dari network ke hp nya, dari adb, dari node-modules-nya. YaAllah emang harus sabar banget, kalo pengen dapet dua hasil dari satu usaha yaa hahaha)
Gimana di 2020 ini?
Setelah baca beberapa paragraf di atas, mungkin di pikiran Kalian sudah mulai banyak bermunculan kemungkinan-kemungkinan tentang React Native di 2020 ini. Kalo dari gue sendiri, gue optimis banget di 2020 ini pengembangan React Native ini bisa mencapai versi stable 1.0 (karena dari 2015 belum sampe angka satu juga hehe).
Kalian juga gaboleh lupa untuk coba Hybrid Mobile Framework lainnya, seperti Flutter yang bisa ditulis dengan bahasa .dart. Sebagai anak dari Google, dia bisa dibilang bagus banget lohh karena umurnya masih lebih tua React Native. Mungkin karena ya... karena itu dari Google haha.
Kalian bisa lihat nih ada beberapa perbandingan antara React Native dan Flutter di Internet. Contohnya artikel dari Hackernoon satu ini
Kalo dari gue sendiri, gue tetep berharap React Native bisa lebih baik dan terus berkembang cepat di tahun ini. Satu hal yang bikin gue seneng sih ya karena dia bisa ditulis pakai JS. Jadi gue belajar JS, terus bisa dipake di mana aja kan.
Di Backend bisa, di Frontend bisa, di Mobile bisa, bahkan sekarang udah ada Proton ( React Native untuk buat aplikasi Desktop, walaupun masih awal bangat ).
Di Backend bisa, di Frontend bisa, di Mobile bisa, bahkan sekarang udah ada Proton ( React Native untuk buat aplikasi Desktop, walaupun masih awal bangat ).
Nah, sekian artikel dari gue tentang React Native di tahun 2020 ini. Semoga bisa bermanfaat buat Kalian.
Ingat selalu yaa, gue bukan yang jago banget di bidang ini kok. Semua hal yang gue tulis di atas berdasarkan pengalaman dan pengetahuan gue yang terbatas. Jangan sungkan untuk mengoreksi dengan berkomentar yang baik yaa. See ya guys
Ingat selalu yaa, gue bukan yang jago banget di bidang ini kok. Semua hal yang gue tulis di atas berdasarkan pengalaman dan pengetahuan gue yang terbatas. Jangan sungkan untuk mengoreksi dengan berkomentar yang baik yaa. See ya guys
Wassalamu’alaikum Warahmatullahi Wabarakatuh.
2komentar
Sama Flutter worth-it-an mana bang?
tergantung... muehehehe
flutter menjanjikan banyak hal yang cerah untuk kedepannya, tapi support library-nya masih kurang nih dan masih banyak breaking changes dari tiap library-nya, itu yang cukup annoying
react native is slightly easy buat webdev, easy to code, easy to install, tapi kadang hard to debug and hard to scale (apalagi soal performance, mesti pandai"). Tapi, dia udah hampir 6 tahun lho, community-nya juga udah pesat banget dengan banyak numpang di JSConf dan sebagainya.
ya tapi akhirnya balik lagi sih, tergantung...
Tanyakanlah tanpa ada rasa ragu di sini :)