Hay un puñado de desafíos que a muchos desarrolladores les gusta abordar como un rito de paso para demostrar su valor de codificación.
Uno está creando un compilador. Ese componente fundamental de muchos lenguajes de programación traduce el código más comprensible humano en algo que entiende una computadora.
Otro desafío mucho más ambicioso es construir un sistema operativo. El alcance es casi ilimitado. Puede crear una distribución de Linux, que a menudo requiere menos codificaciónpero más ensamblaje de paquetes y dependencias preexistentes. Puede crear un sistema operativo de línea de comando que funcione en hardware limitado o en una máquina de bajo nivel. O puede crear un sistema operativo gráfico de todo el ciclo y baile en un intento de enfrentar el oligopolio de Windows, MacOS y Linux.
Finalmente, hay un navegador. En la superficie, esto no parece tan difícil como un sistema operativo, pero piense en cuán complejos se han vuelto los sitios web y las miles de cosas que un navegador necesita manejar. Al igual que crear una distribución de Linux, puede tomar un motor de renderizado de código abierto, la parte que convierte el código Detrás de las páginas web a lo que ve e interactúa, y agregue una interfaz. Este es el enfoque que toman muchos navegadores. Alternativamente, podría crear todo desde cero y desafiar el duopolio de Chromium (Google Chrome, Edge, Brave y más) y WebKit (Safari y otros). Una batalla que incluso el venerable Firefox está perdiendo lentamente.
Webinar: Nutrición del éxito de la escala
Únase a nosotros el 18 de febrero para una discusión sobre el papel vital de los ecosistemas para fomentar nuevas empresas y escamas y fomentar un panorama empresarial dinámico.
O podrías hacer los tres. Andreas Kling es una de las personas que intentan hacer eso.
Kling salió a una atención pública más amplia alrededor de 2018, cuando comenzó a trabajar en Serenitésun sistema operativo de inspiración retro construida completamente desde cero como un proyecto para ayudar a Kling a superar un programa de recuperación de drogas.
«Traté de descubrir qué hacer después de la rehabilitación, que era como seis horas al día, todos los días», recuerda el programador sueco. “Y cuando eso terminó, ¿qué se suponía que debía hacer? Ahora tenía estos días vacíos completos sin nada que hacer y toda esta energía. Y solo necesitaba algo que hacer. Entonces, comencé a programar, que es lo que siempre hago. Y comencé a construir un sistema operativo porque pensé que sería divertido ”.
De serenidad a la mariquita
Serenitios encontró el éxito por dos razones principales: fue un proyecto perfecto para hackers experimentados y llamó la atención gracias a Regular de Kling Codificación de transmisiones en vivo donde trabajó en el sistema operativo.
La base de código serenités es un monorepo, lo que significa que los contribuyentes pueden encontrar el código para toda la funcionalidad en un solo lugar. Esto significa que podrían comenzar con el interés en trabajar en el editor de texto, pero obtener experiencia al cavar y involucrarse con el código que interactúa con el hardware del host. Uno de los componentes más populares de Serenityos fue el navegador de mariquitas. Más sobre eso más tarde.
Con el tiempo, las transmisiones en vivo de Kling atrajeron a miles que lo verían codificar y luchar para resolver problemas en la base de código serenidad. Esto ayudó a los espectadores a aprender y ayudó a Kling a superar la timidez y surgir de un estilo de vida solitario para responsabilizar a un grupo de personas cada vez más grande.
En un momento, casi el mismo número de contribuyentes estuvo involucrado con Ladybird que Serenity. Esta situación creó desafíos para los diferentes grupos de colaboradores y llevó a Kling a darse cuenta de que la web podría hacer con un nuevo navegador y motor de navegador. La gente estaba ansiosa por trabajar en esto y, lo que es más importante, financiar su desarrollo.
Mientras que Kling había recibido donaciones razonables pero pequeñas a lo largo de la vida útil de Serenity y Ladybird, en 2023, Ladybird atrajo donaciones más grandes de Shopify y Chris Wandsworth, un cofundador de Github.
“Me puse en contacto con Wandsworth y le pregunté: ‘Oye, ¿te gusta Serenity? ¿Te gustan también los navegadores? ”, Dice Kling. «Nos conectamos sobre esta idea de construir un navegador de código abierto y tratar de evitar los errores que otros navegadores de código abierto han estado cometiendo, especialmente sobre cómo pagan las cosas».
La unidad del navegador
Esta no es la primera experiencia de Kling construyendo navegadores. Durante dos años, trabajó en la construcción de navegadores para el QT equipo en Nokia. QT es un conjunto de herramientas multiplataforma para construir aplicaciones nativas utilizadas en varios casos de uso, algunos de los cuales probablemente use diariamente. A principios de la década de 2000, QT fue presionado como una opción para contrarrestar el aumento de Android e iOS. Esos intentos fallaron, pero el proyecto continúa, y puede encontrar muchos ingenieros de esa época repartidos entre la tecnología europea.
Los navegadores QT utilizados Webkitque tiene una historia larga y dispersa, pero ahora es principalmente el motor de representación en el safari de Apple, lo que llevó a que Kling trabajara en el equipo WebKit de Apple. Trabajar para una empresa estadounidense desde Suecia durante casi seis años, lo que llevó a su problema, lo que llevó al problema de las drogas mencionado anteriormente y donde comenzó nuestra historia sobre Ladybird.
Entonces, ¿por qué construir un nuevo navegador?
Es un momento interesante para el mercado del navegador. Hay docenas de competidores intrigantes al dominio de Google Chrome y el safari de Apple, pero apenas se mueven su cuota de mercado combinada del 85%. Incluso Safari representa solo el 17% de ese número. Microsoft’s Edge comprende alrededor del 5%, Firefox es de alrededor del 2.5%y «todo el resto» registra porcentajes tan pequeños que apenas puede hacerlos en los gráficos. A pesar de esto, 1 o 2% de 5 mil millones de usuarios de Internet siguen siendo decenas de millones de personas y un negocio de tamaño decente, por lo que los navegadores como Corajudo, Arcoy Duckduckgomientras que apenas se registra en los gráficos de uso, están haciendo un progreso decente.
Sin embargo, sin el peso de los ingresos publicitarios de Google (aunque, en la era de los chatbots de IA, esto es menos seguro) o las ganancias de hardware y servicios de Apple detrás de ellos, tienen que encontrar alguna forma de financiar sus operaciones. Las personas no esperan tener que pagar por un navegador, así que pueden convencer a suficientes usuarios para suscribirse (arc) o usar anuncios centrados en la privacidad (Corajudo y Duckduckgo) o tokens (Corajudo de nuevo)?
Dinero para la mariquita
Kling planea que Ladybird sea apoyada por la donación, lo que es un desafío para las plataformas con el objetivo de convertirse en líderes del mercado. Podría señalar sobrevivir solo en donaciones si su base de usuarios se escala desde la corriente 70 millones a Whatsapp’s 2 mil millones por mes? ¿Podría Mastodon sobrevivir si se escala desde es 10 millones usuarios a el 3 mil millones por mes de Facebook? Sería un desafío.
Pero nuevamente, no necesita una gran parte de usuarios para ser viables y hacer algo significativo. Como dice Kling:
“Creemos que debería haber un navegador que no esté en deuda con la industria de la publicidad o cualquier otra persona por fondos. Las donaciones no están adjuntas de cadenas, por lo que no puede hacer que hagamos nada además de poner su logotipo en nuestro sitio web.
«El mundo debería tener un navegador que, incluso si no podemos lanzar mil ingenieros en el rendimiento, creemos que podemos construir algo que sea útil para las personas y que funcione lo suficientemente bien como para que a la gente le gustaría».
Normas de navegador
Otra razón para construir un nuevo navegador y un motor de representación son los estándares. Si bien fue durante los días nacientes de la Web, cualquier persona lo suficientemente mayor como para recordar el dominio de Internet Explorer recordará cuántos sitios web no funcionarían en nada más que Internet Explorer. Con la cantidad de sitios web que encuentro que parecen haber sido probados para trabajar en Cromo-Las navegadores basados (el núcleo de código abierto de Google Chrome y muchos otros navegadores), a veces se siente muy parecido hoy.
El cuerpo de estándares sueltos de la web, el W3Cpublica especificaciones y estándares en muchas características web. Ninguno de ellos es vinculante, y los motores del navegador pueden interpretarlos de manera diferente, en absoluto, o usar sus alternativas. Con los navegadores de cromo tan dominantes, los usuarios pueden esperar que las páginas web funcionen de cierta manera, incluso si no es la forma «estándar». Y tan frustrante que esto podría ser para el espíritu de la web abierta y conforme, con una participación de mercado del 70%, ¿por qué los diseñadores y desarrolladores deberían pasar el tiempo construyendo objetivos distintos de cromo?
Kling espera que Ladybird se apegará e implementa las especificaciones W3C tanto como sea posible.
“Se queda con la especificación es una gran razón por la que a las personas les gusta lo que estamos haciendo. Y es una gran parte de por qué queremos hacer un navegador. Queremos hacer uno que siga las especificaciones, y eso demuestre que las especificaciones son implementables «.
A pesar de sus primeras etapas, Ladybird ya tiene representantes en grupos de trabajo W3C que contribuyen al proyecto.
«Incluso tenemos personas del W3C que ahora pasan el rato activamente en nuestra comunidad y contribuyen activamente a Ladybird», dice Kling. «Y esto (planee quedarse con especificaciones) es una especie de lo que los interesó».
Edificio para el impacto
Kling y el proyecto Ladybird apuntan a un lanzamiento alfa a mediados de 2026, lo que suena como mucho tiempo, pero el proyecto tiene siete ingenieros a tiempo completo que comienzan desde cero. En comparación, si bien no hay figuras exactas, esa es una pequeña fracción del tamaño probable del equipo de Chrome, y el proyecto de Chromium solo tiene casi tantas líneas de código como el núcleo de Linux.
En Ladybird, Kling tiene como objetivo priorizar los mayores impactos.
«No tengo una imagen completa de todo lo necesario, pero es bastante complicado», dice. “Un problema que estamos teniendo es que tenemos que averiguar qué da el mayor beneficio en todos los ámbitos.
«Podríamos pasar un montón de tiempo que los juegos funcionen bien en el navegador, pero tal vez eso no beneficie a la mayoría de los sitios web, a pesar de que es divertido hacer ese tipo de cosas. Queremos una amplia compatibilidad con una fidelidad reducida con una gran parte de la Web Popular ”.
Liberando a la mariquita
Los intereses y el entusiasmo de la comunidad de contribuyentes guiarán gran parte del desarrollo de características. Como dice Kling, a veces esto conduce a decisiones menos populares.
“Estamos diferiendo un montón de cosas que no son populares. Así que estamos diferiendo en Windows y Mobile. IOS fuera de Europa está básicamente bloqueado en cuanto al navegador de todos modos «.
Contribuir a un navegador no es la tarea más simple, incluso como desarrollador experimentado, pero si Ladybird y lo que representa le interesa, una tarea que cualquiera (en MacOS y Linux) puede involucrarse es probar sitios web para ver si funcionan, Y si no, ¿por qué no?
La web y cómo interactuamos con ella está en un estado de cambio. Un cambio del que podemos ser una parte activa si lo queremos.
«Todos hemos sido guiados en esta realidad donde una gran empresa de publicidad controla la web», dice Kling. «Tenemos aceptado eso eso es justo como son las cosas. Y luego la idea de que tal vez no tenga que ser así. Creo que eso atrae a la gente «.