8 puntos por GN⁺ 16 일 전 | 2 comentarios | Compartir por WhatsApp
  • El motor web Servo, basado en Rust, se publica en crates.io como el crate v0.1.0, ofreciendo una alternativa ligera y de alto rendimiento para incrustar tecnologías web en aplicaciones
  • Con este lanzamiento, ahora es posible integrar Servo directamente como biblioteca, y el navegador de demostración servoshell no se distribuye por separado
  • Desde el primer lanzamiento en GitHub en octubre de 2025, el proceso de lanzamiento ha llegado a una etapa de estabilización tras cinco despliegues
  • La versión actual no es todavía la 1.0 estable, y el aumento gradual de versión continúa en función de la estabilidad de la API y de satisfacer las necesidades de los usuarios
  • También se ofrece una versión LTS, para que incluso en entornos de incrustación a largo plazo se pueda recibir soporte de actualizaciones de seguridad y migración

Lanzamiento de Servo 0.1.0 y publicación en crates.io

  • El equipo de Servo publicó la versión v0.1.0 del crate servo, distribuida por primera vez a través de crates.io
    • Con este lanzamiento, ahora se puede incrustar Servo en aplicaciones en forma de biblioteca
    • El navegador de demostración servoshell no se publica en crates.io
  • Desde el primer lanzamiento en GitHub en octubre de 2025, tras cinco despliegues, el proceso de lanzamiento ha alcanzado una etapa de estabilización
    • Actualmente, el mayor cuello de botella es la publicación mensual del blog, y esta vez el lanzamiento se realizó sin esperar por ella
    • La actualización mensual se publicará por separado más adelante
  • Esta versión no es la versión final 1.0, y continúa la discusión sobre cómo definir exactamente la 1.0
    • El aumento de versión refleja una mayor confianza en la estabilidad de la API de incrustación y en cubrir las necesidades de los usuarios
  • En esta ocasión, Servo también ofrece una versión con soporte a largo plazo (LTS)
    • Como en los lanzamientos mensuales puede haber cambios incompatibles, algunos integradores pueden optar por actualizaciones importantes cada seis meses
    • La versión LTS ofrece actualizaciones de seguridad y guías de migración; los detalles están especificados en la sección de LTS del Servo Book

2 comentarios

 
click 16 일 전

Rust nació para crear Servo, pero al final Servo apenas va por la v0.1.0 y Rust tuvo un éxito enorme.
Parece que eso muestra lo difícil que es desarrollar un motor de navegador.

 
GN⁺ 16 일 전
Comentarios en Hacker News
  • Organicé algunas notas de referencia
    La documentación en docs.rs todavía se está compilando, pero la documentación de la versión RC reciente ya se puede ver
    El ejemplo de integración de Servo del proyecto Slint muestra muy bien cómo usar la embedding API, y se puede aplicar fácilmente a otros frameworks GUI basados en wgpu
    Stylo y WebRender también están publicados en crates.io y pueden usarse de forma útil por separado
    En adelante planean actualizar con un ciclo de lanzamientos mensual

    • Slint es un proyecto realmente genial. Pero en mi caso de uso fue una lástima que no se puedan insertar widgets dinámicamente desde el código
  • Probé hacer una herramienta CLI para renderizar páginas web como imágenes usando este crate: "servo-shot"
    Después de cargo build, se puede ejecutar con el comando ./target/debug/servo-shot https://news.ycombinator.com/
    La imagen generada se puede ver aquí

    • Viendo el código, parece que incluso los LLM prefieren un estilo de Rust simple y de alto nivel. Usan tipos por valor como String, smart pointers con conteo de referencias y hacen clone libremente, en vez de pelearse con el borrow checker. Para quienes vienen de Python, TypeScript o Java, este enfoque también resulta mucho más productivo
    • Es un ejemplo genial. Pero me pregunto si habría que ajustar aparte cosas como el manejo de cookies. No me queda claro si bastaría con pasar el puntero del cookiejar
    • Es realmente útil. Parece algo que podría usar de inmediato. Me da curiosidad si Servo está hecho 100% en Rust y no depende de sistemas externos (por ejemplo, si basta con rustls). También quiero saber si puede renderizar JavaScript o WebGL. En particular, el soporte para apps 3D como ThreeJS encaja justo con mi caso de uso
  • El verdadero benchmark de la capacidad de programación con IA es qué tan rápido puede construir infraestructura segura y moderna que todo el mundo necesita pero nadie financia
    Si Anthropic quiere promocionar Mythos, estaría bien que publicara algo como un registro de contribuciones a Servo. Eso sí estaría alineado con un objetivo real de seguridad de infraestructura
    Sería más significativo dar acceso ilimitado al modelo a colaboradores clave de Servo o Rust y ver cuánto avanzan en cada lanzamiento

    • No necesitamos infraestructura vibe-coded
    • Pero Servo tiene una política que prohíbe contribuciones de IA, así que puede no ser adecuado para ese tipo de experimento
    • El problema real de esta infraestructura no es el desarrollo inicial, sino la sostenibilidad del mantenimiento. Los LLM son fuertes para prototipos rápidos, pero débiles para mantener de forma consistente proyectos grandes y antiguos
    • ¿Qué tal usar como benchmark replicar Chromium? Replicar Rust mismo también sería interesante. Si hubiera más lenguajes cercanos a Rust, sería de gran ayuda para la humanidad
    • Al final, lo importante es financiar proyectos importantes. Más aún si grandes empresas están obteniendo ganancias sobre ellos
  • Si usas un navegador para generar PDFs, puede valer la pena echarle un vistazo a Typst en Rust
    Se puede usar como CLI sin importar el lenguaje, y aunque toma algo de tiempo acostumbrarse a la sintaxis DSL, hoy en día con ayuda de la IA puedes adaptarte rápido

    • Hoy lo usé para automatización de reportes y Claude Code ayudó bastante bien. A veces tuve que indicarle directamente documentación de Typst, pero en general estuvo bien
    • A menudo lo mencionan como reemplazo de LaTeX, así que esta vez sí debería revisarlo bien
    • Hace poco desplegué con Typst un sistema automático de generación de cartas PDF. Viniendo de (La)TeX, me sorprendió la velocidad. Es lo bastante rápido incluso dentro del ciclo de una petición HTTP. La sintaxis también fue fácil de aprender. No es tan refinado como TeX, pero es suficientemente práctico. Eso sí, parece que todavía no hay un reemplazo para funciones gráficas como TikZ
  • Me preguntaba si existe una tabla para ver la lista de RFC implementados en Servo al estilo de caniuse.com. Está la página de “experimental features”, pero le faltan detalles

  • Me preguntaba qué puede hacer Servo exactamente. Si dice “tecnologías web”, ¿significa que se puede integrar un navegador web dentro de una app de escritorio?

    • Es un motor de navegador alternativo, como Ladybird
    • Sí. Servo es un motor de webview integrable, como Chromium Embedded Framework (CEF).
      Electron = Node.js + CEF
      Tauri = Rust + webview
      Tauri mantiene una rama experimental que usa Servo como webview integrado. Actualmente depende del webview del sistema (Edge en Windows, Safari en macOS, webkit-gtk en Linux)
  • Al ver la frase “todavía no es 1.0 y se sigue discutiendo su significado”, me pregunté si este crate realmente podría llegar a la versión 1.0

    • El problema central del versionado en Rust es el significado de las versiones 0.x. La 0.3.5 es compatible con la 0.3.6, pero no con la 0.4.0 ni con la 1.0.0. Es decir, cuando el major es 0, el minor hace el papel de major. Por eso muchos proyectos se quedan en 0.x. Es un problema causado porque Cargo no sigue esa parte de semver. Personalmente es una de mis mayores quejas, pero en la comunidad Rust generalmente no lo ven como un problema
    • Muchas librerías de Rust adoptan el 0-based versioning. Ese enlace lo explica mejor
    • ¿Quieres migrar apps de Microsoft a Servo? Fácil: solo sube el uso base de RAM a 5GB. Así lo adoptarán de inmediato (tono de broma)
  • Busqué si había integración con Tauri por curiosidad, y existe algo llamado tauri-runtime-verso. Pero todavía no sé cómo se compara con Electron en tamaño o rendimiento. Me podría servir al distribuir mi app en Linux/flathub

  • Me pregunto para qué se puede usar este crate

  • Cuando Servo esté listo, planeo integrarlo en mi querido qutebrowser