Vivaldi-Code-Integration. Unsere Entwickler erzählen es

    Bild

    Kürzlich hat die norwegische Ausgabe von Digi.no eine Geschichte darüber veröffentlicht, wie Browser-Entwickler von Vivaldi mit dem Chromium-Code arbeiten. In einem Interview berichteten die drei führenden Spezialisten des Unternehmens erstmals öffentlich über diesen wichtigen Bestandteil des Entwicklungsprozesses des Vivaldi-Browsers.

    In einem Interview mit der norwegischen Ausgabe nahmen drei Mitarbeiter des Unternehmens teil - Yngve Pettersen, Jarle Antonsen und Andre Schultz. Sie sprachen darüber, wie an der Integration des Vivaldi-Browsercodes und des im Browser verwendeten Chromium-Kerns gearbeitet wird - die Vor- und Nachteile dieses Ansatzes sowie die auftretenden Probleme und der Umgang mit ihnen.

    Nachfolgend finden Sie eine Übersetzung der interessantesten Fragen und Antworten in Russisch.

    Bild
    (Im Uhrzeigersinn von links nach rechts) Harald Brombach von Digi.no, Jarle Antonsen, Yngve Pettersen, Andre Schulz.

    Ist das Problem ein großes Volumen und eine kurze Periodizität der Aktualisierung des Chromium-Kerncodes?


    Ingwe Pettersen (Lead Engineer) : Alle sechs Wochen erscheint eine neue Version von Chromium, und wir müssen unseren eigenen Vivaldi-Code mit dem Code für diesen Kernel integrieren. Ich bin an dieser Aufgabe beteiligt und für die Codebasis des Browsers verantwortlich. Und - ja, das ist eine recht schwierige und zeitraubende Arbeit, die mehrere Wochen dauert.

    Gibt es Fortschritte bei dieser Arbeit?


    Jarle Antonsen (Projektleiter) : Früher hat der Integrationsprozess drei bis vier Wochen gedauert, aber mit der Integration der letzten beiden Versionen von Chromium (68 und 69) gelang den Vivaldi-Entwicklern weniger als zwei Wochen. Das Hauptproblem waren Regressionen - als unser Code nicht mehr mit dem Chromium-Code funktionierte und ihre Korrektur die meiste Zeit in Anspruch nahm.

    Wie funktioniert die Chromium Community?


    Andre Schulz (UI-Entwickler) : Zu unserer Freude sehr produktiv. Ich sende ständig Fragen an die Entwickler verschiedener Module und bekomme recht detaillierte Antworten, manchmal sogar Vorschläge, wie das Modul noch besser funktionieren kann.

    Tragen Sie zur Entwicklung von Chrom bei?


    Ingwe Pettersen : In den letzten sechs Monaten haben wir ein Dutzend Patches für den Chromium-Code geschickt. Dies sind hauptsächlich Vorschläge zum Löschen des Codes, es wurden jedoch auch Fehler behoben. Im Moment bereiten wir einige weitere Patches vor, die an die Entwickler von Chromium gesendet werden sollen.

    Bild
    Jarle Antonsen, Yngve Pettersen, Andre Schultz.

    Wie komplex und langwierig ist der Code-Integrationsprozess?


    Ingwe Pettersen : Nach der Veröffentlichung des nächsten Chromium-Updates erstelle ich einen neuen Zweig und beginne damit zu arbeiten. Ich extrahiere den Chromium-Code und synchronisiere alle Submodule, die wir verwenden, und nimmt dabei kleine Änderungen vor. Dieser Teil des Prozesses ist bei uns ziemlich gut automatisiert.

    Dann kopieren wir alle unsere Updates über die Chromium-Codebasis. Es gibt viel Handarbeit, weil Wir haben viele Regressionen und Konflikte bei der Zusammenführung von Codes. Früher war das sehr problematisch, aber mit der Zeit haben wir den Code gut von den Elementen gesäubert, die Konflikte verursacht haben, und heute ist alles viel einfacher. Im letzten Update haben wir beispielsweise Änderungen an ungefähr 900 Dateien vorgenommen, und nur 80 Dateien erforderten die manuelle Bearbeitung des Codes. Dafür brauchte ich fünf bis sechs Stunden - früher dauerte es mindestens eine Woche.

    Nach Abschluss der Code-Zusammenführung muss der Browser-Code für verschiedene Plattformen - Windows, Linux, Mac - kompiliert werden. In der Regel dauert es einen Tag oder sogar mehrere Stunden. Im Allgemeinen dauert das Zusammenführen von Code heute zwei oder drei Tage.

    Wie werden neue Probleme identifiziert?


    Ingwe Pettersen : Tatsächlich treten bei der Integration des Codes bereits Fehler auf, um diese zu korrigieren, müssen Sie Änderungen am Code der Vivaldi-Module vornehmen. Dies kann viel Zeit in Anspruch nehmen.

    Dann beginnen Andre, Jarle und andere Entwickler, die erkannten Probleme zu beheben, sowie neue, die bereits während des Testvorgangs des Vivaldi-Browsers erkannt werden.

    Und wie schwierig ist dieser Prozess?


    Andre Schulz : Ja, die Veränderungen bei Chromium sind die schwierigsten in unserer Arbeit. Ein paar Mal haben wir die Flags für einige Funktionen deaktiviert und parallel zu den Chromium-Funktionen gearbeitet, die eigentlich aus den folgenden Kernel-Versionen entfernt wurden. Dies bereitete uns viele Probleme. Der schwierigste Fall trat bei einem Upgrade auf den Chromium 64-Kern auf, und es dauerte viel Zeit, um das Problem zu beheben, was sich auf die Verringerung der Freigaberate der neuen Vivaldi-Browser-Assemblies auswirkte.

    Ingwe Pettersen : Nachdem wir die Probleme behoben haben, die während der Integration des neuen Kernels aufgetreten sind, arbeiten wir weiter an der Suche und Korrektur von Fehlern, bis wir eine relativ stabile Version erhalten, die sich für die Veröffentlichung als Endprodukt eignet.

    Wie sieht es mit dem Hinzufügen neuer Funktionen im Browser aus?


    Ingwe Pettersen : Ja, wir arbeiten nicht an neuen Funktionen, daher ändert sich der Hauptcode von Vivaldi ständig und wird ständig getestet. Jedes Mal, wenn einer der Entwickler Änderungen am Code vornimmt, wird automatisch eine neue Assembly erstellt. Diese Baugruppen werden zunächst im Unternehmen und von Drittanbieter-Testern von Sopranos und dann von Benutzern öffentlicher Browser-Testbaugruppen aktiv getestet. Letztendlich entscheidet die QA-Abteilung, ob die endgültige Version veröffentlicht werden soll.

    Mittlerweile arbeiten rund 20 Entwickler für Vivaldi. Ich weiß nicht genau, wie viele Entwickler an der Entwicklung von Chrom beteiligt sind, aber es gibt natürlich viel mehr als wir. Sie können versuchen, die Anzahl der Änderungen zu überprüfen, die kürzlich von beiden Teams vorgenommen wurden.

    Seit fünf Jahren haben wir mehr als 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 betrug diese Zahl etwa 15.000. Mit anderen Worten, das Chromium-Entwicklungsteam hat in wenigen Tagen so viele Änderungen vorgenommen, wie wir es in einem Jahr in unserem Code gemacht haben. Daher schätze ich die Anzahl der aktiven Chromium-Entwickler auf etwa 600 Personen.

    Jarle AntonsenA: In der Regel haben wir etwas Zeit von der Idee bis zur Realisierung einer neuen Funktion. In einem kleinen Team ist es einfacher, übermäßige Bürokratie zu vermeiden. Gleichzeitig sind fast alle Teammitglieder aktiv an der Erprobung neuer Funktionen beteiligt, einschließlich des Direktors des Unternehmens, Jon von Tachner. Natürlich hängt das Hinzufügen neuer Funktionen stark von den Anforderungen der Benutzer ab. Ihre Empfehlungen und Rückmeldungen sind für unsere Arbeit von entscheidender Bedeutung.

    Bild
    (Im Uhrzeigersinn von links nach rechts) Jarle Antonsen, Yngve Pettersen, Andre Schulz, Harald Brombach.

    Originalartikel

    Jetzt auch beliebt: