Entwicklung Firefox

  • Das Thema Scrollverhalten ist komplex und ich fürchte, es ist sogar noch komplexer als dass es "nur" Unterschiede zwischen Betriebssystemen gibt. Wie gesagt, bei mir auf macOS gibt es absolut gar keine Probleme. Und wenn ich es an meinem privaten MacBook Pro mit Chrome vergleiche, gibt es auch dazu keinen feststellbaren Unterschied, beide Browser scrollen ziemlich perfekt. Nehme ich hingegen meinen Arbeits-Computer (ein iMac, also auch mit macOS), gibt es auch hier überhaupt keine Probleme mit Firefox und Chrome zeigt ein eher furchtbares Scroll-Verhalten. Ich nutze übrigens auch keine Maus.


    ---


    Es gibt nun kein System-Add-on für die e10s-Auslieferung mehr. Das heißt: endlich e10s und zwar e10s mit vier Content-Prozessen für alle! :)


    ---


    Es gibt nun einen Plan zur Entfernung von XBL aus Firefox. XBL ist ja neben XUL eine der zwei großen proprietären Mozilla-Technologien, welche keinem Standard entspricht, der über Mozilla-Projekte hinaus genutzt wird, und XBL geht praktisch Hand in Hand mit XUL.


    https://mozilla.github.io/fire…design-review-packet.html


    Die Arbeiten an der XBL-Entfernung aus Firefox werden noch in diesem Quartal beginnen und im ersten Quartal 2018 richtig losgehen.


    Aktuelle XBL-Komponenten werden durch Web Components ersetzt, einem richtigen Webstandard.

  • Gut dass man XBL/XUL nun endlich angehen kann. Hoffentlich entschlackt das die Codebasis so weit, dass auch das Thema Sicherheit wieder überschaubarer wird.

  • Zum Beispiel ist der Style der Buttons im native Look des jeweiligen OS und während ich das eigentlich immer begrüsse ist das nicht so wie sich Firefox mit Photon entwickeln sollte; Konsistenz über alle Plattformen.

  • Ich schreibe nicht immer alle meine Gedanken aus :)
    Ich nehme aufgrund des Prototyps (https://mozilla.invisionapp.co…BK0F9U#/screens/229252107) an, dass die Leiste welche unten dargestellt wird noch nicht aktualisiert wurde.
    Ich habe die Buttons nur als Beispiel genommen um es zu veranschaulichen und besser zu erklären. Ich müsste mich genauer mit dem UI Richtlinien befassen um sagen zu können was den genau aktualisiert werden müsste.

  • Das ist nur ein Mockup, kein Prototyp. Aber wie genau verleitet dich ein Design-Entwurf zu der Annahme, dass eine bestimmte Leiste nicht aktualisiert worden wäre? Nur, weil die Leisten alle oben positioniert sind und die von dir gemeinte Leiste unten ist? Ich kann dir mit Sicherheit sagen, dass auch unten positionierte Leisten ihr Aussehen in Firefox 57 verändert haben.


    Du solltest dir allerdings klar darüber werden, was genau du überhaupt anders haben willst, denn wenn du es selbst nicht weißt, hat das Bugzilla-Ticket keinen großen Wert. Mozilla weiß ja auch nicht, was du doof findest. ;)

  • Ein Linter stellt die Einhaltung eines bestimmten Code-Stils sicher. Es gibt eine Datei mit Regeln und wenn man den Linter ausführt, wird alles bemängelt, was diesen Regeln widerspricht. Ich nutze für meine Erweiterung New Tab Override (genau wie Mozilla für Firefox) ESLint für JavaScript-Dateien. Vor jeder Veröffentlichung einer neuen Version führe ich das aus und stelle sicher, dass genau null Fehler gemeldet werden, ansonsten bessere ich den Code aus. Hier ist meine Regel-Datei:


    https://github.com/cadeyrn/new…lob/master/.eslintrc.json


    Und hier findest du Erklärungen zu allen Regeln:
    https://eslint.org/docs/rules/


    Das sind ganz unterschiedliche Regeln. Es kann um rein optische Regeln wiefür Leerzeichen und Einrückungen gehen, aber auch darum, wie man etwas umsetzt, z.B. dass man Arrow-Funktionen nutzt, dass man keine Callbacks im Code verwendet usw.


    Ich verwende außerdem htmllint für HTML-Dateien und Stylelint für CSS-Dateien. Meine Regeln dafür sind https://github.com/cadeyrn/new…b/master/.htmllintrc.json und https://github.com/cadeyrn/new…/master/.stylelintrc.json.

  • Danke für die ausführliche Erläuterung. Was bedeutet das bei einem Projekt in der Größe von Firefox, wenn Lint jetzt zB für /chrome verfügbar ist? Dass die Codequalität im Chrome dann automatisch steigt? Dass man Zeit spart, weil man schon vor dem Kompilieren Fehler vermeidet?

  • Der Code von Firefox ist in Ordnern organisiert, einer davon heißt "chrome". Was du geschrieben hast, bedeutet, dass in diesem Ordner nun der Linter ausgeführt werden kann und vermutlich auch, dass bei Nicht-Einhaltung der Regeln Code-Änderungen abgewiesen werden.


    Es mag einem kleinlich vorkommen, und erst einmal erhöht das auch den Aufwand auf Entwickler-Seite, aber aus eigener Erfahrung kann ich sagen, dass so etwas die Code-Qualität steigert. Wenn aller Code einheitlichen Regeln folgt, macht das Code besser lesbar und dann wiederum werden die Entwickler auch effizienter und der Code besitzt eine geringere Fehlerwahrscheinlichkeit. Wenn 100 Entwickler mit ihren jeweils eigenen Stilen an einem Teil von Firefox arbeiten, kommt da teilweise ein Mischmasch heraus, was nicht gut ist. Das wird dadurch verhindert.


  • Das ist nur ein Mockup, kein Prototyp. Aber wie genau verleitet dich ein Design-Entwurf zu der Annahme, dass eine bestimmte Leiste nicht aktualisiert worden wäre? Nur, weil die Leisten alle oben positioniert sind und die von dir gemeinte Leiste unten ist? Ich kann dir mit Sicherheit sagen, dass auch unten positionierte Leisten ihr Aussehen in Firefox 57 verändert haben.


    Nein natürlich nicht nur die Position, ganz doof bin auch nicht :) Ich habe die Leiste diese Woche einmal gesehen (in FF58) und leider vergessen ein Screenshot zu erstellen. Für mein Geschmack war da das Design noch das gleiche wie in Zeiten von FF38 oder 40 weshalb ich zuerst hier nachgefragt habe und nun ein Ticket erstellt habe.
    Kennst du eine Möglichkeit die Leiste zu triggern so dass ich sie mir erneut ansehen kann?

  • Noch ein Grund, wieso Firefox 57 ein guter Release wird:


    Zitat

    "overall stability picture for 57.0b looking very good - browser process crash rate is still the lowest we ever recorded on any channel (& a third of those browser crashes are happening during shutdown)"


    https://trello.com/c/0gZPc3oz/…-59f08bd076766573bfb106f9


    … oder anders formuliert: historisch wenige Abstürze.

  • Gut zu hören. Woher kommts, e10s für alle User und keine Legacy-Addons mehr?


    Das einzige was noch Sorgen bereitet, sind die vermehrten Berichte über hohe CPU- und RAM-Belastung mit 56 und 57. Aber das sind natürlich nur anekdotische Beweise, die ich da habe, nichts messbares.

  • Wie ich finde kommen diese höhere RAM-Nutzungen scheinbar bei 16GB Systemen unter Windows vor. Hier und da, ggf. nur da, wohl auch in Verbindung mit einer abgeschalteten Pagefile (möglicher Grund.... eine vorhandene SSD schonen) und dann aber auch bei weniger als 16GB RAM. Aber dies sind auch nur lose Erkenntnisse die ich von Fragestellern hier gedanklich gesammelt habe ;)
    Sprich bei Systemen wo Windows nicht mehr die normale Standard System Konfiguration hat bzw. sich selber alleinig verwaltet.

    Chromebook Lenovo IdeaPad Flex 5 - chromeOS 114 (Stable Channel) - Linux Debian Bullseye: Firefox Unstable Debian-Channel ( Sid, pending), ESR 102.14.0, Firefox Stable via Flatpak - Android 11: Firefox Nightly und Firefox (Main Release)

    Smartphone - Firefox Main Release, Firefox Nightly, Firefox Klar (Main Release)