Mengalihkan Aplikasi Native Berusia 13 Tahun ke React Native
(ridicorp.com)Kisah tentang pengalaman yang dialami Ridibooks saat beralih dari aplikasi native ke React Native
- Alasan memilih React Native
-
Sebelumnya, penjelajahan konten dan pembayaran dilakukan di web, sementara aplikasi digunakan sebagai viewer. Namun kemudian diputuskan untuk menghadirkan fitur penjelajahan dan pembayaran juga di dalam aplikasi. Untuk merespons perubahan dengan cepat dan mencapai target dalam tenggat waktu yang diberikan, mereka memutuskan mengadopsi teknologi yang memungkinkan pengembangan lintas platform
-
Saat mempertimbangkan Flutter / React Native, akhirnya memilih React Native karena komunitasnya dinilai sedikit lebih matang dan aktif
- Berbasis native vs berbasis React Native
-
Mereka mempertimbangkan apakah akan menambahkan React Native di atas aplikasi native, atau sebaliknya menambahkan native di atas React Native
-
Jika React Native diletakkan di atas native, endpoint akan berbeda untuk tiap layar dan pengelolaan siklus hidup aplikasi menjadi lebih rumit
-
Jika native diletakkan di atas React Native, kode native yang ada perlu sekali disesuaikan agar kompatibel dengan React Native. Di masa depan, pada akhirnya juga harus ditulis ulang sepenuhnya dengan React Native
-
Karena sebagian besar fitur memang pada akhirnya akan dipindahkan ke React Native, mereka memutuskan mengambil arah menempatkan native di atas React Native
- Penggunaan ulang layar native
- Agar dapat merespons perubahan dengan cepat dalam waktu yang diberikan, diputuskan bahwa layar baru ditulis dengan React Native, sementara layar lama tetap dipertahankan sebagai layar native (layar native akan secara bertahap dikonversi ke React Native)
- Penggunaan ulang kode native
-
Bisakah esensi native yang dibangun dan dipelihara Ridibooks selama 13 tahun diwujudkan di React Native? Mereka menggunakan Swift dan Kotlin di aplikasi native yang ada, sehingga perlu diverifikasi apakah itu bisa dipakai apa adanya di React Native
-
Dengan membuat bridge, kode tersebut dapat digunakan seperti sebelumnya
- Kendala dalam proses penerapan
-
Ukuran bundle dan penggunaan memori meningkat
-
Ukuran bundle masih sesuai perkiraan, tetapi memori sangat buruk. Mereka harus memberi banyak perhatian pada optimasi.
-
Sulit untuk sepenuhnya mempercayai library pihak ketiga
-
Baik native maupun front-end tidak bisa diabaikan. Developer native perlu mempelajari pengembangan front-end, dan developer front-end perlu mempelajari pengembangan native. Pertukaran pengetahuan antar keduanya menjadi kunci keberhasilan.
- Inilah yang membuat React Native bagus
-
Produktivitas tinggi
-
Platform yang baik untuk kolaborasi
Berkat React Native, mereka berhasil mencapai roadmap produk dalam tenggat waktu yang diberikan, sekaligus memperoleh lingkungan dan produktivitas untuk merespons perubahan dengan cepat. Ke depannya, mereka berencana secara serius mengganti area native dengan React Native. Namun, untuk viewer, karena ada know-how yang telah dibangun selama 13 tahun, bagian itu akan tetap dipertahankan untuk terus memberikan pengalaman pengguna terbaik.
11 komentar
Saya tidak tahu apakah Anda pernah mencoba mencari kata kunci di Google Trends, tetapi ekosistem RN hampir mati. Sebaliknya, Flutter sedang tumbuh secara eksplosif. Sebagai catatan, saya adalah pengembang native.
Dari sudut pandang pengguna, rasanya performa aplikasi desktop menurun dibanding versi sebelumnya. Dulu saya tidak merasakan jeda saat berpindah halaman, tetapi belakangan ini terus terasa tersendat-sendat.
Semoga versi desktop bisa diberi fitur highlight sedikit... entah ini tidak bisa karena masalah hak cipta atau semacamnya, hmm.
Tolong juga perhatikan aplikasi desktop, bukan cuma aplikasi mobile.. sedih
Dari sudut pandang sebagai pengguna lama aplikasi desktop Ridibooks, keputusan ini terasa agak disayangkan karena terkesan dibuat dengan hanya memikirkan mobile secara menyeluruh. Dan bukan cuma saya yang merasa begitu—semua orang yang saya tahu memakai aplikasi desktop terus-menerus dibuat pusing oleh bug yang berkelanjutan... (Bahkan lebih parah daripada aplikasi lama berbasis Qt)
Saya benar-benar sering mendengar banyak keluhan tentang masalah aplikasi desktop dari orang-orang di sekitar saya..
Saya juga bukan orang yang terjun langsung dalam pengembangan, tetapi setelah melihat banyak pujian untuk Flutter di komunitas yang saya ikuti, saya sempat membicarakannya dengan pengembang aplikasi di perusahaan saya, dan ternyata beliau lebih menyukai React. Katanya basis penggunanya dan pasar rekrutmen juga lebih baik. Saya juga ingin mendengar pendapat orang lain.
Native berkembang dengan sangat cepat, jadi kuncinya adalah apakah RN bisa mengikuti kecepatan itu.
Bagaimana dengan Flutter dalam konteks pertanyaan ini?
Android mungkin akan baik-baik saja, tetapi saya tidak yakin apakah bisa mengikuti iOS.
Menurut saya, kita tidak boleh meremehkan biaya entropi yang timbul akibat integrasi.
Dulu saya mengembangkan dan meluncurkannya dengan React Native sekitar 2~3 tahun lalu...
Secara pribadi saya merasa kekurangannya lebih banyak daripada kelebihannya..
https://m.blog.naver.com/PostView.naver/…
Saya sudah banyak kehilangan minat terhadapnya... tetapi popularitasnya masih tetap tinggi.