Chromium Chronicle #28: Mulai menggunakan Chrome di iOS

Episode 28: oleh Mark Cogan di Paris, Prancis (Januari 2022)
Episode sebelumnya

Pada tahun 2022, Chrome di iOS akan merayakan hari jadinya yang ke-10. Chrome adalah salah satu aplikasi iOS yang paling banyak digunakan—saat ini Chrome merupakan aplikasi Utilitas nomor 2 di App Store AS.

Chrome di iOS menyediakan semua fitur Chrome hebat yang disukai pengguna kami, termasuk Sinkronisasi, Terjemahan, Samaran, Pengelola Sandi, Isi Otomatis, dan banyak lagi. Chrome di iOS juga terintegrasi dengan fitur iOS native seperti isi otomatis sandi multi-aplikasi dan seluruh perangkat.

Namun, ada satu hal utama yang membuat Chrome di iOS sangat berbeda dari semua penerapan platform Chrome lainnya.

Chrome di iOS tidak menggunakan Blink.

Karena aturan App Store Apple, Chrome di iOS harus menggunakan API platform iOS untuk mengambil dan merender konten web. Jadi, Chrome di iOS menggunakan WebKit, Nitro, dan CFNetwork tempat platform Chrome lainnya menggunakan Blink, V8, dan //net. Oleh karena itu, dan API terbatas yang tersedia bagi aplikasi iOS untuk berinteraksi dengan konten halaman web, banyak fitur Chrome yang menggunakan //content API diimplementasikan di Chrome di iOS menggunakan injeksi JavaScript.

Fitur lintas platform di //components disusun untuk membagikan kode sebanyak mungkin di semua platform dengan tetap memisahkan dependensi //content:

ls components/some_component

content/        # code with dependencies on //content.
core/           # cross-platform code with no //content dependencies.
ios/            # iOS implementation using JavaScript injection.

Perbedaan penting lainnya antara Chrome di iOS dan platform lainnya meliputi:

  • Aplikasi iOS harus dalam satu proses, sehingga Chrome di iOS tidak dapat fork().
  • Chrome di iOS ditulis dalam Objective-C++ (campuran C++ dan Objective-C), bersama dengan beberapa Swift.
  • Meskipun Anda dapat mengompilasi dan menjalankan Chrome di iOS secara langsung di perangkat iOS, Anda juga dapat melakukan banyak pengembangan fitur dalam simulator perangkat cukup mumpuni yang disediakan Apple.

Mulai menggunakan Chrome di iOS

Yang Anda butuhkan:

  • Komputer macOS, 64-bit, yang menjalankan macOS 11.3 atau yang lebih baru. Apple Silicon didukung.
  • Xcode, IDE untuk platform Apple, versi 13.0 atau yang lebih baru.
  • Versi terbaru JDK.

Lihat petunjuk build untuk informasi selengkapnya.

Mengambil sumber sama seperti platform lain:

mkdir ${HOME}/chromium-ios
cd ${HOME}/chromium-ios
fetch ios

Setelah itu, Anda dapat membangun dari baris perintah (atau dari Xcode):

autoninja -C out/Debug-iphonesimulator chrome

Pelajari lebih lanjut pengembangan fitur Chrome di iOS

Sebaiknya baca panduan gaya Chromium. Baca dokumentasi developer Apple untuk mempelajari lebih lanjut Swift, xCode, dan resource khusus iOS lainnya.

Jika Anda biasanya adalah developer iOS dan baru mengenal Chromium, baca dokumentasi tentang abstraksi dan struktur data penting.