Google berkomitmen untuk mendorong terwujudnya keadilan ras bagi komunitas Kulit Hitam. Lihat caranya.

Tinder memecahkan masalah aplikasi kencan dengan Komponen Arsitektur Android

Tinder adalah aplikasi terpopuler di dunia untuk bertemu orang-orang baru. Dikenal karena mengubah cara orang bertemu dan berkencan, aplikasi ini memberdayakan pengguna untuk langsung terhubung dan mengobrol dengan orang lain. Tinder memicu lebih dari 26 juta pencocokan sehari, dan telah membuat lebih dari 20 miliar pencocokan sejak diluncurkan pada tahun 2012.

Perusahaan ini perlu memperluas skala aplikasinya dengan cepat, berdasarkan permintaan pengguna. Tapi, implementasi database mereka masih merupakan sisa-sisa dari peluncuran awal sehingga sulit untuk diperluas. Mereka juga memiliki arsitektur view-heavy untuk mengurangi kompleksitas siklus proses, tapi perlu mengetahui peristiwa siklus proses mana yang spesifik untuk suatu aktivitas. Mereka tidak memiliki framework yang konsisten untuk menangani tugas-tugas seperti mengarahkan Cursor ke objek domain, membuat migrasi database, atau menjalankan kueri secara konsisten.

Apa yang mereka lakukan

Gambar 1: Foto seorang fotografer di Tinder

Tinder memilih Komponen Arsitektur Android untuk solusi upgrade kode mereka. Mereka menggunakan Lifecycle untuk memungkinkan View mengamati siklus proses aktivitas host-nya, dan menerapkan LifecycleObserver untuk memfasilitasi arsitektur plugin terdesentralisasi dan mencegah penggelembungan pada Presenter, Activity, dan View. Library persistensi Room menyediakan metode siap pakai untuk menentukan, mengelola, dan mengkueri database lokal.

Tim developer Tinder mampu mengimplementasikan LifecycleObserver dan arsitektur plugin hanya dalam 2 minggu, sementara pengimplementasian Room untuk Ads SDK internal hanya memerlukan waktu 2 hari.

"Kami tidak perlu lagi mencurahkan banyak waktu untuk mengelola Siklus Proses Aktivitas di dalam plugin atau tampilan," kata Andy Lawton, Head of Android di Tinder. "Desain Room dipikirkan dengan matang dan memudahkan implementasi lapisan persistensi kami. Menggunakan Room untuk Ads SDK internal menghemat waktu seminggu dalam pengembangan di muka."

Hasil

Tinder sangat puas dengan hasil Ads SDK sehingga mereka memigrasikan seluruh lapisan database-nya ke Room. Pengujian dapat dilakukan dengan mudah, dan perlindungan Room dari lupa untuk membatalkan pendaftaran sesuatu mengurangi kebocoran memori. Komponen Arsitektur Android juga membantu menghasilkan jejak memori yang lebih kecil.

"Komponen Arsitektur Android memberikan resep untuk memecahkan banyak masalah yang dihadapi developer pada berbagai skala," kata Lawton. "Melalui penggunaan komponen yang memperhatikan siklus proses, Tinder dapat meningkatkan produktivitas developer serta testabilitas dan modularitas kode, dengan tetap mempertahankan lingkungan yang kondusif untuk arsitektur view-first. Room menghilangkan kebutuhan akan solusi lain untuk mengelola SQLite, dan mengubah pengelolaan database serta pembuatan kueri menjadi latihan mengonfigurasi."

Metrik

Lebih dari 500 baris kode dihapus dari MainActivity melalui LifecycleObserver / arsitektur plugin

Memulai

Komponen Arsitektur Android tersedia untuk semua developer sebagai bagian dari Android Jetpack. Mulai gunakan Komponen Arsitektur Android.