8 Punkte von GN⁺ 16 일 전 | 2 Kommentare | Auf WhatsApp teilen
  • Die Rust-basierte Web-Engine Servo wurde als Crate v0.1.0 auf crates.io veröffentlicht und bietet eine leichtgewichtige, leistungsstarke Alternative zum Einbetten von Web-Technologien in Anwendungen
  • Mit diesem Release lässt sich Servo direkt in Form einer Bibliothek integrieren; der Demo-Browser servoshell wird nicht separat verteilt
  • Seit dem ersten GitHub-Release im Oktober 2025 hat der Release-Prozess nach fünf Veröffentlichungen eine stabile Phase erreicht
  • Die aktuelle Version ist noch keine offizielle 1.0, und die Versionsnummer wird schrittweise erhöht, basierend auf API-Stabilität und der Erfüllung von Nutzeranforderungen
  • Es wird auch eine LTS-Version bereitgestellt, damit langfristige Embedding-Umgebungen Sicherheitsupdates und Unterstützung bei Migrationen erhalten können

Release von Servo 0.1.0 und Veröffentlichung auf crates.io

  • Das Servo-Team hat Version v0.1.0 des Crates servo veröffentlicht, das erstmals über crates.io verteilt wird
    • Mit diesem Release kann Servo als Bibliothek in Anwendungen eingebettet werden
    • Der Demo-Browser servoshell wird nicht auf crates.io veröffentlicht
  • Seit dem ersten GitHub-Release im Oktober 2025 hat der Release-Prozess nach fünf Veröffentlichungen eine stabile Phase erreicht
    • Der größte Engpass ist derzeit der monatlich verfasste Blogpost; diesmal wurde das Release durchgeführt, ohne darauf zu warten
    • Das monatliche Update soll später separat veröffentlicht werden
  • Diese Version ist keine offizielle 1.0-Version, und es laufen Diskussionen darüber, wie 1.0 definiert werden soll
    • Die steigende Versionsnummer spiegelt wachsendes Vertrauen in die Stabilität der Embedding-API und in die Erfüllung von Nutzeranforderungen wider
  • Servo stellt diesmal auch eine Long-Term-Support-(LTS)-Version bereit
    • Da es in monatlichen Releases zu Breaking Changes kommen kann, können sich einige Embedders für größere Upgrades im Halbjahresrhythmus entscheiden
    • Die LTS-Version bietet Sicherheitsupdates und Migrationsleitfäden; Details stehen im LTS-Abschnitt des Servo Book

2 Kommentare

 
click 16 일 전

Rust entstand, um Servo zu bauen, aber Servo ist gerade erst bei v0.1.0, während Rust enorm erfolgreich geworden ist.
Daran sieht man wohl, wie schwierig eine Browser-Engine ist.

 
GN⁺ 16 일 전
Hacker-News-Kommentare
  • Ich habe ein paar Hinweise zusammengestellt
    Die docs.rs-Dokumentation wird noch gebaut, aber die Dokumentation der letzten RC-Version ist bereits verfügbar.
    Das Servo-Embedding-Beispiel des Slint-Projekts zeigt die Verwendung der Embedding-API sehr gut und lässt sich leicht auch auf andere GUI-Frameworks auf Basis von wgpu übertragen.
    Stylo und WebRender sind ebenfalls auf crates.io veröffentlicht und lassen sich auch unabhängig nützlich einsetzen.
    Künftig sollen Updates in einem monatlichen Release-Zyklus erscheinen.

    • Slint ist wirklich ein großartiges Projekt. Für meinen Anwendungsfall war es nur schade, dass man im Code Widgets nicht dynamisch einfügen kann.
  • Mit diesem Crate habe ich ein CLI-Tool zum Rendern von Webseiten als Bilder gebaut: "servo-shot".
    Nach cargo build kann man es mit ./target/debug/servo-shot https://news.ycombinator.com/ ausführen.
    Das erzeugte Bild ist hier zu sehen.

    • Dem Source nach zu urteilen scheinen auch LLMs einen einfachen, High-Level-Rust-Stil zu bevorzugen. Sie vermeiden Kämpfe mit dem Borrow Checker, indem sie Werttypen wie String, referenzgezählte Smart Pointer und freizügiges Clonen verwenden. Auch aus Sicht von jemandem, der von Python, TypeScript oder Java kommt, ist dieser Ansatz deutlich produktiver.
    • Tolles Beispiel. Ich frage mich nur, ob man Dinge wie Cookie-Verarbeitung separat anpassen muss. Ich bin mir nicht sicher, ob es reicht, einfach einen Cookiejar-Pointer zu übergeben.
    • Wirklich nützlich. Das könnte ich direkt verwenden. Ich frage mich, ob Servo zu 100 % nur aus Rust besteht und keine externen Systemabhängigkeiten hat, also ob zum Beispiel rustls allein genügt. Ich würde auch gern wissen, ob JavaScript- oder WebGL-Rendering möglich ist. Vor allem Unterstützung für 3D-Apps wie ThreeJS würde genau zu meinem Anwendungsfall passen.
  • Der echte Benchmark für AI-Coding-Fähigkeiten ist, wie schnell sich sichere und moderne Infrastruktur aufbauen lässt, die alle brauchen, aber niemand finanzieren will.
    Wenn Anthropic Mythos bewerben will, wäre es gut, etwas wie ein Servo-Beitragsprotokoll zu veröffentlichen. Das würde wirklich zu dem Ziel sicherer Infrastruktur passen.
    Es wäre sinnvoller, Servo- oder Rust-Kernbeitragenden unbegrenzten Modellzugang zu geben und dann pro Release zu sehen, wie weit es vorangeht.

    • Vibe-coded Infrastruktur brauchen wir nicht.
    • Allerdings hat Servo eine Richtlinie, die AI-Beiträge verbietet, daher ist es für solche Experimente womöglich nicht geeignet.
    • Das eigentliche Problem solcher Infrastruktur ist nicht die Anfangsentwicklung, sondern die Dauerhaftigkeit der Wartung. LLMs sind stark bei schnellem Prototyping, aber schwach darin, alte große Projekte langfristig konsistent zu pflegen.
    • Wie wäre es, das Klonen von Chromium als Benchmark zu nehmen? Auch das Klonen von Rust selbst wäre interessant. Mehr Rust-nahe Sprachen würden der Menschheit sehr helfen.
    • Am Ende geht es darum, wichtige Projekte zu finanzieren. Vor allem dann, wenn große Unternehmen auf ihrer Basis Gewinne machen.
  • Wer für die PDF-Erzeugung einen Browser nutzt, sollte sich Rusts Typst ansehen.
    Es lässt sich unabhängig von der Sprache per CLI verwenden, und obwohl es etwas dauert, sich an die DSL-Syntax zu gewöhnen, geht das heutzutage dank AI ziemlich schnell.

    • Ich habe es heute für Report-Automatisierung verwendet, und Claude Code hat ziemlich gut geholfen. Manchmal musste ich ihm Typst-Dokumente direkt zeigen, aber insgesamt war es okay.
    • Es wird oft als LaTeX-Ersatz genannt, also sollte ich es mir diesmal wirklich genauer ansehen.
    • Ich habe kürzlich mit Typst ein automatisches System zur Erzeugung von PDF-Briefen ausgerollt. Aus Sicht von jemandem, der mit (La)TeX vertraut ist, war ich von der Geschwindigkeit überrascht. Es ist sogar innerhalb eines HTTP-Request-Zyklus schnell genug. Die Syntax war auch leicht zu lernen. Nicht so ausgefeilt wie TeX, aber vollkommen praktisch. Nur einen Ersatz für Grafikfunktionen wie TikZ scheint es noch nicht zu geben.
  • Ich habe mich gefragt, ob es eine Tabelle gibt, in der sich die in Servo implementierten RFCs ähnlich wie auf caniuse.com ansehen lassen. Es gibt zwar eine Seite für „experimental features“, aber dort fehlen Details.

  • Ich habe mich gefragt, was Servo konkret kann. Bedeutet „Web-Technologien“, dass man einen Webbrowser in Desktop-Apps einbetten kann?

    • Es ist eine alternative Browser-Engine, ähnlich wie Ladybird.
    • Genau. Servo ist eine einbettbare Webview-Engine wie das Chromium Embedded Framework (CEF).
      Electron = Node.js + CEF
      Tauri = Rust + Webview
      Tauri betreibt einen Experiment-Branch, der Servo als eingebettete Webview verwendet. Aktuell ist es noch auf System-Webviews angewiesen (Edge unter Windows, Safari unter macOS, webkit-gtk unter Linux).
  • Als ich den Satz sah, dass „1.0 noch nicht erreicht ist und die Bedeutung noch diskutiert wird“, fragte ich mich, ob es überhaupt möglich ist, dass die Crate-Version jemals 1.0 erreicht.

    • Das Kernproblem bei Rust-Versionierung ist die Bedeutung von 0.x-Versionen. 0.3.5 ist mit 0.3.6 kompatibel, aber nicht mit 0.4.0 oder 1.0.0. Wenn die Major-Version also 0 ist, übernimmt die Minor-Version die Rolle der Major-Version. Deshalb bleiben viele Projekte bei 0.x stehen. Das ist ein Problem, das dadurch entstanden ist, dass Cargo diesem Teil von semver nicht folgt. Für mich persönlich ist das einer der größten Kritikpunkte, aber die Rust-Community sieht das überwiegend nicht als Problem.
    • Viele Rust-Bibliotheken verwenden 0-based versioning. Der Link erklärt es besser.
    • Wenn man Microsoft-Apps auf Servo umstellen will? Ganz einfach — den Basis-RAM-Verbrauch auf 5 GB erhöhen. Dann wird es sofort übernommen (halb scherzhaft gemeint).
  • Ich habe nach einer Tauri-Integration gesucht und tauri-runtime-verso gefunden. Wie es im Vergleich zu Electron bei Größe oder Performance aussieht, weiß ich aber noch nicht. Für die Verteilung meiner App auf Linux/Flathub könnte es nützlich sein.

  • Ich frage mich, wofür diese Crate verwendet werden kann.

  • Wenn Servo bereit ist, plane ich, es in mein geliebtes qutebrowser zu integrieren.