14 poin oleh velopert 2021-12-22 | 11 komentar | Bagikan ke WhatsApp

Kisah tentang pengalaman yang dialami Ridibooks saat beralih dari aplikasi native ke React Native

  1. 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

  1. 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

  1. 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)
  1. 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

  1. 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.

  1. 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

 
ugotme 2021-12-24

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.

 
kernel0 2021-12-23

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.

 
lux1024 2021-12-23

Semoga versi desktop bisa diberi fitur highlight sedikit... entah ini tidak bisa karena masalah hak cipta atau semacamnya, hmm.

 
functor 2021-12-23

Tolong juga perhatikan aplikasi desktop, bukan cuma aplikasi mobile.. sedih

 
lifthrasiir 2021-12-23

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)

 
kernel0 2021-12-23

Saya benar-benar sering mendengar banyak keluhan tentang masalah aplikasi desktop dari orang-orang di sekitar saya..

 
nicewook 2021-12-23

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.

 
deokim 2021-12-23

Native berkembang dengan sangat cepat, jadi kuncinya adalah apakah RN bisa mengikuti kecepatan itu.

 
nicewook 2021-12-23

Bagaimana dengan Flutter dalam konteks pertanyaan ini?

 
deokim 2021-12-23

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.

 
ruinnel 2021-12-22

Dulu saya mengembangkan dan meluncurkannya dengan React Native sekitar 2~3 tahun lalu...

Secara pribadi saya merasa kekurangannya lebih banyak daripada kelebihannya..

  • Setelah melihat tulisan tentang Airbnb yang menyerah dan mundur (+ bisa dibilang salah satu pilar lini produksi pustaka pihak ketiga ikut hilang..)

https://m.blog.naver.com/PostView.naver/…

Saya sudah banyak kehilangan minat terhadapnya... tetapi popularitasnya masih tetap tinggi.