Integrasi kode Vivaldi. Pengembang kami memberi tahu

gambar

Baru-baru ini, publikasi Norwegia Digi.no menerbitkan sebuah cerita tentang bagaimana pengembang peramban Vivaldi bekerja dengan kode Chromium. Dalam sebuah wawancara dengan tiga spesialis terkemuka perusahaan untuk pertama kalinya secara terbuka berbicara tentang komponen penting dari proses pengembangan browser Vivaldi ini.

Tiga karyawan perusahaan mengambil bagian dalam sebuah wawancara dengan publikasi Norwegia - Ingve Pettersen, Jarle Antsen, dan Andre Schulz. Mereka berbicara tentang bagaimana pekerjaan sedang dilakukan untuk mengintegrasikan kode browser Vivaldi dan kernel Chromium yang digunakan dalam browser - tentang kelebihan dan kekurangan dari pendekatan ini, serta masalah apa yang muncul dan bagaimana cara menanganinya.

Di bawah ini adalah terjemahan dari bahasa Rusia ke pertanyaan dan jawaban paling menarik.

gambar
(Searah jarum jam dari kiri ke kanan) Harald Brombach dari Digi.no, Jarle Antonsen, Ingve Pettersen, Andre Schulz.

Apakah masalah volume besar dan frekuensi pendek memperbarui kode kernel Chromium?


Yngwe Pettersen (Insinyur Utama) : Versi baru Chromium dirilis setiap enam minggu, dan kita perlu mengintegrasikan kode Vivaldi kita sendiri dengan kode untuk kernel ini. Saya terlibat dalam tugas ini, bertanggung jawab atas basis kode browser. Dan - ya, ini adalah pekerjaan yang agak rumit dan memakan waktu yang memakan waktu beberapa minggu.

Apakah ada kemajuan dalam pekerjaan ini?


Jarle Antensen (manajer proyek) : Sebelumnya, proses integrasi memakan waktu tiga hingga empat minggu, tetapi pengembang Vivaldi berhasil mengintegrasikan dua versi terakhir Chromium (68 dan 69) dalam waktu kurang dari dua minggu. Masalah utama adalah kemunduran - ketika kode kami berhenti bekerja dengan kode Chromium, dan koreksi mereka yang mengambil waktu utama.

Bagaimana cara kerja komunitas Chromium?


Andre Schulz (pengembang UI) : Sangat menyenangkan bagi kami. Saya terus-menerus mengirim pertanyaan kepada pengembang berbagai modul dan mendapatkan jawaban yang cukup rinci, kadang-kadang bahkan dengan saran tentang cara membuat modul bekerja lebih baik.

Apakah Anda berkontribusi pada pengembangan Chromium?


Yngwe Pettersen : Selama enam bulan terakhir kami telah mengirim selusin tambalan untuk kode Chromium. Ini sebagian besar saran untuk membersihkan kode, tetapi ada juga perbaikan bug. Saat ini kami sedang mempersiapkan beberapa tambalan lagi untuk dikirimkan ke pengembang Chromium.

gambar
Jarle Antonsen, Ingve Pettersen, Andre Schulz.

Seberapa rumit dan panjang proses integrasi kode?


Ingve Pettersen : Setelah rilis pembaruan Chromium berikutnya, saya membuat cabang terpisah baru dan mulai bekerja dengannya. Saya mengekstrak kode Chromium dan menyinkronkan semua submodul yang kami gunakan, sambil membuat perubahan kecil. Bagian dari proses ini cukup otomatis dengan kami.

Lalu kami menyalin semua pembaruan kami di atas basis kode Chromium. Ada banyak pekerjaan tangan sejak itu kami mendapatkan beberapa regresi dan konflik penggabungan kode. Ini dulunya sangat bermasalah, tetapi seiring waktu, kami membersihkan kode dengan baik dari elemen yang menyebabkan konflik, dan hari ini semuanya jauh lebih sederhana. Misalnya, selama pembaruan terakhir, kami membuat perubahan ke sekitar 900 file, dan hanya 80 file yang memerlukan pengeditan kode manual. Butuh sekitar lima hingga enam jam untuk melakukan ini - biasanya butuh setidaknya seminggu.

Setelah menggabungkan kode, Anda perlu mengkompilasi kode browser untuk berbagai platform - Windows, Linux, Mac. Sebagai aturan, ini membutuhkan satu hari atau bahkan beberapa jam. Secara umum, proses penggabungan kode membutuhkan dua hingga tiga hari hari ini.

Bagaimana masalah baru diidentifikasi?


Ingve Pettersen : Sebenarnya, dalam proses mengintegrasikan kode, kesalahan sudah muncul, untuk koreksi yang diperlukan untuk membuat perubahan pada kode modul Vivaldi. Ini bisa memakan waktu cukup lama.

Kemudian Andre, Jarle dan pengembang lainnya mulai memperbaiki masalah yang ditemukan, serta yang baru yang telah diidentifikasi selama pengujian browser Vivaldi.

Seberapa rumit proses ini?


Andre Schulz : Ya, perubahan pada Chromium adalah yang paling sulit dalam pekerjaan kami. Beberapa kali kami mematikan flag untuk beberapa fungsi dan bekerja secara paralel dengan fungsi Chromium, yang sebenarnya dihapus dari versi kernel selanjutnya. Ini menciptakan banyak masalah bagi kami. Kasing paling sulit terjadi selama pemutakhiran ke inti Chromium 64 dan kami butuh banyak waktu untuk memperbaikinya, yang memengaruhi perlambatan pelepasan versi baru peramban Vivaldi.

Yngwe Pettersen : Setelah memperbaiki masalah yang muncul selama integrasi kernel baru, kami terus bekerja pada pemecahan masalah dan sampai kami mendapatkan versi yang cukup stabil yang cocok untuk dirilis sebagai produk akhir.

Bagaimana kabar menambahkan fitur-fitur baru ke browser?


Yngwe Pettersen : Ya, kami tidak berhenti bekerja pada fitur-fitur baru, sehingga kode Vivaldi utama terus berubah dan diuji. Setiap kali salah satu pengembang menambahkan perubahan pada kode, perakitan baru dibuat secara otomatis. Rakitan ini diuji secara aktif terlebih dahulu oleh perusahaan dan penguji pihak ketiga dari Sopranos, dan kemudian oleh pengguna rakitan uji publik browser, dan pada akhirnya itu adalah departemen QA yang memutuskan apakah kami siap untuk merilis rilis final.

Vivaldi saat ini mempekerjakan sekitar 20 pengembang. Saya tidak tahu persis berapa banyak pengembang yang terlibat dalam pengembangan Chromium, tetapi tentu saja ada lebih banyak dari kami. Anda dapat mencoba membandingkan jumlah perubahan dalam kode yang dibuat oleh kedua tim baru-baru ini.

Dalam lima tahun, kami telah membuat lebih dari 17.000 perubahan pada kode inti kami. Selama tahun lalu, kami telah melakukan lebih dari 2.700 perubahan. Sebagai perbandingan, antara Chromium 67 dan 68, sekitar 12.000 perubahan dilakukan pada kode Chromium, dan antara versi 68 dan 69 angka ini sudah sekitar 15.000 perubahan. Dengan kata lain, tim pengembangan Chromium membuat banyak perubahan dalam beberapa hari seperti yang kami lakukan dalam kode kami sepanjang tahun. Karenanya, saya memperkirakan jumlah pengembang Chromium aktif sekitar 600 orang.

Jarle Antensen : Sebagai aturan, kami membutuhkan sedikit waktu mulai dari ide hingga penerapan fungsi baru. Dalam tim kecil, lebih mudah untuk menghindari birokrasi yang berlebihan. Pada saat yang sama, hampir semua anggota tim terlibat aktif dalam pengujian fitur baru, termasuk direktur perusahaan Jon von Techner. Dan, tentu saja, proses penambahan fitur baru sangat tergantung pada permintaan pengguna - rekomendasi dan umpan balik mereka sangat penting untuk pekerjaan kami.

gambar
(Searah jarum jam dari kiri ke kanan) Jarle Antonsen, Ingve Pettersen, Andre Schulz, Harald Brombach.

Artikel asli

Source: https://habr.com/ru/post/id423319/


All Articles