Aplikasi Gojek telah menjadi tulang punggung ekosistem digital di Indonesia, menawarkan layanan mulai dari transportasi daring, pengiriman makanan, hingga pembayaran digital. Di balik antarmuka yang mulus dan responsif tersebut, terdapat infrastruktur teknologi yang kompleks yang dibangun menggunakan berbagai bahasa pemrograman. Pertanyaan mengenai aplikasi Gojek dibuat dengan bahasa pemrograman apa sering muncul, mengingat skalabilitas dan performa tinggi yang dibutuhkan oleh platform sekelas Gojek.
Tidak seperti aplikasi sederhana yang mungkin hanya menggunakan satu bahasa utama, Gojek, layaknya perusahaan teknologi besar lainnya, mengadopsi arsitektur layanan mikro (microservices). Ini berarti berbagai fitur dan fungsi dipecah menjadi layanan-layanan independen. Setiap layanan ini bisa dikembangkan menggunakan bahasa pemrograman yang paling optimal untuk tugas spesifik tersebut.
Secara umum, pengembangan aplikasi modern yang membutuhkan kecepatan, konkurensi tinggi, dan kemampuan menangani jutaan permintaan per detik melibatkan kombinasi dari beberapa bahasa kunci.
Sisi backend—yang mengelola logika bisnis, database, pemrosesan pesanan, dan integrasi mitra—adalah area di mana bahasa pemrograman berperan paling vital dalam hal performa dan skalabilitas.
Salah satu bahasa yang sangat dominan digunakan oleh Gojek di infrastruktur backendnya adalah Go (Golang). Pemilihan Golang bukan tanpa alasan. Diciptakan oleh Google, Go sangat efisien dalam menangani konkurensi (kemampuan menjalankan banyak tugas secara bersamaan) melalui goroutines. Ini sangat krusial untuk sistem seperti Gojek di mana ribuan permintaan dari pengemudi dan pelanggan harus diproses hampir seketika. Golang juga dikenal memiliki waktu kompilasi yang cepat dan jejak memori yang relatif kecil, menjadikannya ideal untuk layanan mikro yang harus beroperasi dengan latensi rendah.
Selain Go, bahasa pemrograman lain seperti Java dan terkadang Kotlin (yang interoperable dengan Java) juga sangat mungkin digunakan, terutama untuk layanan-layanan warisan (legacy) atau layanan yang membutuhkan ekosistem yang sudah matang dan stabil untuk pemrosesan data yang intensif. Python mungkin juga berperan dalam bagian analisis data, machine learning (untuk rekomendasi harga atau rute), dan skrip otomatisasi internal.
Pengalaman pengguna (UX) di aplikasi Gojek sangat bergantung pada bahasa yang digunakan untuk mengembangkan aplikasi seluler itu sendiri. Karena Gojek adalah platform mobile-first, fokus utama adalah pada pengembangan aplikasi native atau cross-platform yang efisien.
Beberapa perusahaan besar juga mulai mengeksplorasi solusi cross-platform seperti React Native atau Flutter (yang menggunakan Dart). Jika Gojek menggunakan solusi ini untuk mempercepat pengembangan fitur baru di kedua platform, maka JavaScript/TypeScript (untuk React Native) atau Dart (untuk Flutter) juga akan masuk dalam daftar bahasa yang digunakan. Namun, untuk layanan yang sangat sensitif terhadap performa (seperti peta real-time), pengembangan native seringkali tetap menjadi pilihan utama.
Tentu saja, bahasa pemrograman aplikasi hanyalah sebagian kecil dari keseluruhan teknologi. Gojek memerlukan basis data yang kuat (seperti PostgreSQL, MongoDB, atau Cassandra) dan layanan orkestrasi (seperti Kubernetes). Meskipun ini bukan bahasa pemrograman aplikasi secara langsung, konfigurasi dan interaksi dengan infrastruktur ini sering melibatkan bahasa skrip seperti Bash atau penggunaan konfigurasi berbasis YAML/JSON, yang semuanya menjadi bagian integral dari proses pengembangan dan deployment aplikasi Gojek.
Kesimpulannya, menjawab aplikasi Gojek dibuat dengan bahasa pemrograman apa adalah mengakui adanya sebuah orkestra teknologi. Go (Golang) kemungkinan besar menjadi tulang punggung performa backend, didukung oleh Java/Kotlin untuk Android, Swift untuk iOS, dan Python untuk analisis data. Keberhasilan Gojek terletak pada kemampuan mereka memilih alat (bahasa pemrograman) yang tepat untuk setiap masalah spesifik dalam arsitektur layanan mikro mereka yang masif.