izin ngequote kebetulan mainan RN dari zaman baheula, mungkin bakal agak panjang
narasi "react native lemot karena JS bridge bottleneck" itu technically benar, tapi lebih relevan untuk arsitektur RN generasi lama
di RN dkarang, terutama new arch, komunikasi JS - native...
Sedikit membedah terkait lemot-nya performa aplikasi mobile dari Bank Digital "Jenius by SMBC" (@JeniusConnect) berdasarkan sudut pandang Penulis Kode 🙃
Bicara soal performa yang Lemot pada sebuah aplikasi, akar masalahnya biasanya berasal dari dua hal kalau tidak Front-end (Sisi Client) ya Back-end (Sisi Server), atau bisa keduanya.
Berdasarkan beberapa sumber yang saya dapat, setidaknya hingga tahun 2025 (bisa jadi 2026 masih menggunakan Stack yang sama), stack teknologi yang digunakan Jenius adalah "React Native" untuk mobile dan Node.js dengan arsitektur microservices untuk back-end.
1. Sisi Front-end
Pilihan menggunakan React Native (RN) sangat masuk akal bagi perusahaan untuk mempercepat pengembangan lintas platform (iOS & Android).
Mungkin ada yang mikir seperti ini: "Wah pakai React Native, React-kan teknologi Web, pantas saja Lemot!"
FYI, React Native (RN) sebenarnya bukanlah sekadar "teknologi web yang ditarik ke mobile" (seperti WebView). RN tetap me-render komponen native sungguhan.
Masalah performanya terletak pada JavaScript Bridge, jalur komunikasi antara logika JavaScript dan komponen native di sistem operasi.
Penyebab Lemotnya sendiri disebabkan karena semakin kompleks sebuah aplikasi (banyak animasi, daftar transaksi panjang, integrasi pihak ketiga), jembatan komunikasi ini bisa mengalami antrean (bottleneck). Jika kode tidak dioptimalkan dengan sangat ketat, Frame Per Second (FPS) akan turun drastis, membuat aplikasi terasa berat dan tidak semulus aplikasi Native murni (Kotlin/Swift).
2. Sisi Back-end
Di dunia perbankan, standar core system memang didominasi oleh Java (seperti Spring Boot). Java unggul karena sistem multithreading yang kuat dan ekosistem keamanan tingkat enterprise yang sudah sangat matang. Di sisi lain, bank digital lain mulai melirik bahasa modern super cepat seperti Rust (yang juga menopang infrastruktur backend Discord) atau Go.
Menggunakan Node.js untuk perbankan bukannya salah, tapi cukup tricky. Node.js berjalan pada arsitektur Single-Threaded.
Node.js sangat brilian dan cepat untuk menangani ribuan request ringan secara bersamaan. Namun, untuk kalkulasi finansial berat atau pemrosesan transaksi yang kompleks, Node.js bisa tersendat jika arsitektur microservices-nya tidak dikelola dengan sangat hati-hati.
---
Kesimpulan
Isu lemotnya aplikasi seperti ini kemungkinan besar bukan disebabkan oleh satu titik saja, melainkan gabungan dari keduanya. Beban antrean data pada jembatan komunikasi React Native (Front-end) yang bertemu dengan tantangan orkestrasi banyak microservices di sisi Back-end, bisa menciptakan efek domino yang membuat pengalaman pengguna terasa kurang enak.
🚨Sebagai catatan (disclaimer), postingan ini hanya bersifat analisa pribadi, informasi mengenai penggunaan Node.js di sini murni berdasarkan referensi yang saya temukan secara publik. Mengingat standar keamanan dan kompleksitas perbankan, sangat mungkin di dapur belakang mereka juga ditopang oleh teknologi yang lebih Tangguh (seperti Java). Namun, dari berbagai sumber yang dapat diakses publik, memang hanya React Native & Node.js yang disebutkan secara eksplisit sebagai stack mereka.
CMIIW 🙃
---
Referensi:
- https://t.co/pf02BBkIhR
- Profile Experience dari beberapa Tim Developer Jenius di Linkedin
If you want to release the anxiety that holds you back so the assertiveness you know is within finally shows itself, listen carefully:
You're far superior to them.
You'd never admit it, but deep down, you know I'm right.
More intelligent. Better skills. More competent.
You've put in the work, refined your abilities, and you know you're capable of so much more.
Yet they glide through the ranks without the weight of anxiety holding them back.
No constant overthinking. No crippling stress.
And that fills you with jealousy and envy.
It's hard not to wonder why they have it so easy when you know you've earned your success.
You're frustrated to always carry the weight of the world on your shoulders.
However, ask yourself these questions:
What is this trying to evoke within you?
Why would it produce these feelings?
Why would comparison create frustration?
The truth is:
You feel anger because you know you've experienced the carefreeness they showcase.
You just hold yourself back from it.
Which is the source.
As you let that sink in, allow yourself to recall your own flashes of assertiveness.
Picture the moments of creative genius that came through you.
Remember how carefree you've felt before because you have.
Let it linger.
The subconscious has never once compared you to someone it believed you could not become.
Give yourself permission to be this version of you.
The one YOU forgot was already there.
Cogito Ergo Sum
Masih ada banget kok ada yang merasa sebel sama orang2 yang berisik mengkritisi pemerintah di medsos. I shared this on my IG, fully aware that a lot of friends will skip it and prefer padel related posts.
Share it if you feel like to. No artwork. No credit needed.
Gila polusinya pagi ini @nafasidn
Di China, aktivitas luar ruangan TK/SD akan dibatalkan di atas AQI 180
Kok polusi berbahaya untuk anak kita? 👶👧
Kok bisa polusi paling tinggi di waktu anak main di pagi hari? 🏃
Mau nominasi sekolah Anda utk host sensor?
Saya jelaskan
👇👇
@NiaEric216@kopiganja Orang kalo gak mau hamil, pake kondom. Bukan testpack tiap abis ena ena.
Sama, orang kalo gak mau kena covid, patuhi 3M. Bukan swab test setiap saat kapanpun mereka mau.
Swab test gak bikin penyebaran virus berhenti. Hadeu.