
Kürzlich veröffentlichte die norwegische Veröffentlichung Digi.no eine Geschichte darüber, wie die Entwickler des Vivaldi-Browsers mit Chromium-Code arbeiten. In einem Interview mit drei führenden Spezialisten des Unternehmens wurde erstmals öffentlich über diese wichtige Komponente des Vivaldi-Browserentwicklungsprozesses gesprochen.
Drei Mitarbeiter des Unternehmens nahmen an einem Interview mit der norwegischen Publikation teil - Ingve Pettersen, Jarle Antsen und Andre Schulz. Sie sprachen darüber, wie die Arbeit zur Integration des Vivaldi-Browsercodes und des im Browser verwendeten Chromium-Kernels geleistet wird - über die Vor- und Nachteile dieses Ansatzes sowie darüber, welche Probleme auftreten und wie mit ihnen umgegangen werden soll.
Unten finden Sie eine Übersetzung der interessantesten Fragen und Antworten ins Russische.
(Im Uhrzeigersinn von links nach rechts) Harald Brombach von Digi.no, Jarle Antonsen, Ingve Pettersen, Andre Schulz.
Ist das Problem des großen Volumens und der kurzen Häufigkeit der Aktualisierung des Chromium-Kernel-Codes?
Yngwe Pettersen (Lead Engineer) : Alle sechs Wochen wird eine neue Version von Chromium veröffentlicht, und wir müssen unseren eigenen Vivaldi-Code in den Code für diesen Kernel integrieren. Ich bin mit dieser Aufgabe beschäftigt und für die Browser-Codebasis verantwortlich. Und - ja, dies ist eine ziemlich komplizierte und zeitaufwändige Aufgabe, die mehrere Wochen dauert.
Gibt es Fortschritte bei dieser Arbeit?
Jarle Antensen (Projektmanager) : Früher dauerte der Integrationsprozess drei bis vier Wochen, aber die Vivaldi-Entwickler konnten die letzten beiden Versionen von Chromium (68 und 69) in weniger als zwei Wochen integrieren. Das Hauptproblem waren Regressionen - als unser Code nicht mehr mit dem Chromium-Code funktionierte und die Korrektur die Hauptzeit in Anspruch nahm.
Wie läuft die Arbeit mit der Chromium-Community?
Andre Schulz (UI-Entwickler) : Zu unserer Freude ist es sehr produktiv. Ich sende ständig Fragen an die Entwickler verschiedener Module und erhalte ziemlich detaillierte Antworten, manchmal sogar mit Vorschlägen, wie das Modul noch besser funktionieren kann.
Tragen Sie zur Entwicklung von Chrom bei?
Yngwe Pettersen : In den letzten sechs Monaten haben wir ein Dutzend Patches für den Chromium-Code gesendet. Dies sind hauptsächlich Vorschläge zum Bereinigen des Codes, aber es wurden auch Fehlerbehebungen vorgenommen. Im Moment bereiten wir einige weitere Patches vor, die an Chromium-Entwickler gesendet werden sollen.
Jarle Antonsen, Ingve Pettersen, Andre Schulz.Wie kompliziert und langwierig ist der Code-Integrationsprozess?
Ingve Pettersen : Nach der Veröffentlichung des nächsten Chromium-Updates erstelle ich einen neuen separaten Zweig und beginne damit zu arbeiten. Ich extrahiere den Chromium-Code und synchronisiere alle von uns verwendeten Submodule, während ich kleinere Änderungen vornehme. Dieser Teil des Prozesses ist bei uns ziemlich gut automatisiert.
Dann kopieren wir alle unsere Updates auf die Chromium-Codebasis. Seitdem gibt es viel handgemachte Arbeit Wir bekommen einige Regressionen und Konflikte beim Zusammenführen von Code. Früher war dies sehr problematisch, aber im Laufe der Zeit haben wir den Code gut von den Elementen befreit, die die Konflikte verursacht haben, und heute ist alles viel einfacher. Während des letzten Updates haben wir beispielsweise Änderungen an ungefähr 900 Dateien vorgenommen, und nur 80 Dateien mussten manuell bearbeitet werden. Ich brauchte ungefähr fünf bis sechs Stunden, um das zu tun - früher dauerte es mindestens eine Woche.
Nach dem Zusammenführen des Codes müssen Sie den Browsercode für verschiedene Plattformen kompilieren - Windows, Linux, Mac. Dies dauert in der Regel einen Tag oder sogar mehrere Stunden. Im Allgemeinen dauert das Zusammenführen von Code heute zwei bis drei Tage.
Wie werden neue Probleme identifiziert?
Ingve Pettersen : Tatsächlich treten bei der Integration des Codes bereits Fehler auf, für deren Korrektur Sie Änderungen am Code der Vivaldi-Module vornehmen müssen. Dies kann einige Zeit dauern.
Dann beginnen Andre, Jarle und andere Entwickler, die entdeckten Probleme sowie neue Probleme zu beheben, die bereits beim Testen des Vivaldi-Browsers identifiziert wurden.
Wie kompliziert ist dieser Prozess?
Andre Schulz : Ja, Änderungen an Chrom sind die schwierigsten in unserer Arbeit. Einige Male haben wir die Flags für einige Funktionen deaktiviert und parallel zu den Chromium-Funktionen gearbeitet, die tatsächlich aus den nächsten Kernel-Versionen entfernt wurden. Dies hat uns viele Probleme bereitet. Der schwierigste Fall trat während des Upgrades auf den Chromium 64-Kern auf und wir brauchten viel Zeit, um ihn zu beheben, was sich auf die Verlangsamung der Veröffentlichung neuer Builds des Vivaldi-Browsers auswirkte.
Yngwe Pettersen : Nachdem wir die Probleme
behoben haben, die während der Integration des neuen Kernels
aufgetreten sind , arbeiten wir weiter an der Fehlerbehebung und bis wir eine ausreichend stabile Version erhalten, die für die Veröffentlichung als fertiges Produkt geeignet ist.
Wie läuft es mit dem Hinzufügen neuer Funktionen zum Browser?
Yngwe Pettersen : Ja, wir hören nicht auf, an neuen Funktionen zu arbeiten, daher ändert sich der Vivaldi-
Hauptcode ständig und wird getestet. Jedes Mal, wenn einer der Entwickler Änderungen am Code hinzufügt, wird automatisch eine neue Assembly erstellt. Diese Baugruppen werden zuerst vom Unternehmen und von Drittanbietern von Sopranos und dann von Benutzern öffentlicher Testbaugruppen des Browsers aktiv getestet. Letztendlich entscheidet die QS-Abteilung, ob wir bereit sind, die endgültige Version zu veröffentlichen.
Vivaldi beschäftigt derzeit rund 20 Entwickler. Ich weiß nicht genau, wie viele Entwickler an der Entwicklung von Chromium beteiligt sind, aber natürlich gibt es viel mehr als wir. Sie können versuchen, die Anzahl der Änderungen im Code zu vergleichen, die beide Teams kürzlich vorgenommen haben.
In fünf Jahren haben wir über 17.000 Änderungen an unserem Kerncode vorgenommen. Im vergangenen Jahr haben wir mehr als 2.700 Änderungen vorgenommen. Zum Vergleich wurden zwischen Chrom 67 und 68 ungefähr 12.000 Änderungen am Chromium-Code vorgenommen, und zwischen den Versionen 68 und 69 waren es bereits ungefähr 15.000 Änderungen. Mit anderen Worten, das Chromium-Entwicklungsteam hat in wenigen Tagen so viele Änderungen vorgenommen wie in unserem Code im Laufe des Jahres. Daher schätze ich die Anzahl der aktiven Chromium-Entwickler auf etwa 600 Personen.
Jarle Antensen : In der Regel
brauchen wir ein wenig Zeit von der Idee bis zur Implementierung einer neuen Funktion. In einem kleinen Team ist es einfacher, übermäßige Bürokratie zu vermeiden. Gleichzeitig sind fast alle Teammitglieder aktiv am Testen neuer Funktionen beteiligt, einschließlich des Unternehmensleiters Jon von Techner. Und natürlich hängt das Hinzufügen neuer Funktionen stark von Benutzeranfragen ab - ihre Empfehlungen und Rückmeldungen sind für unsere Arbeit von entscheidender Bedeutung.
(Im Uhrzeigersinn von links nach rechts) Jarle Antonsen, Ingve Pettersen, Andre Schulz, Harald Brombach.Originalartikel