Saltar al contenido principal

Proyecto de la Semana: Navegador Beaker

· 4 lectura mínima

Esta semana hemos centrado nuestra atención en Paul Frazee, creador de Beaker Browser. Beaker es un navegador web de igual a igual (peer-to-peer) experimental que utiliza el protocolo Dat para alojar sitios desde los dispositivos de los usuarios.


¿Qué es Beaker y por qué lo creaste?

Beaker es un navegador participativo. Es un navegador para hackers independientes.

La web es de código cerrado. Si quieres influir en cómo funcionan las redes sociales, tienes que trabajar en Facebook o Twitter. Para búsqueda, Google. El control está en manos de las empresas, y no de los propios usuarios.

Con Beaker, tenemos un nuevo protocolo Web: el Transporte de archivos descentralizados (Decentralized Archive Transport). "Dato". Crea sitios bajo demanda, de forma gratuita, y luego los comparte desde el dispositivo. No se requieren servidores. Esa es nuestra innovación.

Protocols de Beakers

Cuando visitas un sitio de Dat en Beaker, descargas los archivos. El sitio es tuyo, para siempre. Puedes guardarlo, bifurcarlo, modificarlo y compartir gratis tu nueva versión. Todo es de código abierto.

De eso se trata: Estamos creando un navegador para sitios web de código abierto. Queremos que sea un conjunto de herramientas para el hacking social.

¿Quién debería usar Beaker?

Hackers. Modders. Tipos creativos. A la gente a la que le gusta jugar.

¿Cómo puedo crear un nuevo proyecto que utilice Dat?

Tenemos una herramienta de línea de comandos llamada bkr que es como git + npm. Creando el sitio:

$ bifurcación bkr dat://0ff7d4c7644d0aa19914247dc5dbf502d6a02ea89a5145e7b178d57db00504cd/ ~/my-fork
$ cd ~/my-fork
$ echo "Mi bifurcación no tiene en cuenta el índice anterior. tml!" > index.html
$ bkr publicar

Haciendo fork del sitio:

$ bkr fork dat://0ff7d4c7644d0aa19914247dc5dbf502d6a02ea89a5145e7b178d57db00504cd/ ~/my-fork
$ cd ~/my-fork
$ echo "Mi bifurcación no tiene en cuenta el anterior index.html!" tml!" > index.html
$ bkr publicar

Estos sitios son alojados fuera de su navegador. Es un poco como BitTorrent; usted comparte los sitios en una malla P2P.

Si quieres una interfaz de usuario tenemos algunas herramientas básicas incorporadas en el navegador pero estamos trabajando para incorporarlas en userland. Todo va a ser aplicaciones de usuario modulables.

¿Por qué elegiste construir Beaker en Electron?

Era evidente para este proyecto. Si yo mismo bifurcara Chrome, ¡estaría escribiendo C++ ahora mismo! Nadie quiere hacerlo. Conozco la pila web, y puedo trabajar rápidamente con ella. Es obvio.

La verdad es que no estoy seguro de que hubiera podido hacer nada de esto sin Electron. Es una gran software.

¿Cuáles son algunos de los desafíos a los que se enfrenta mientras construye Beaker?

La mitad es hurgar en las herramientas y averiguar cuánto puedo conseguir.

Hacer el navegador en sí mismo fue bastante fácil. Electron es prácticamente un conjunto de herramientas para hacer navegadores. ...Excepto por las pestañas del navegador; eso me llevó bastante hacerlo bien. Finalmente me derrumbé y aprendí a hacer SVG. Se ve mucho mejor, pero me costó 3 o 4 veces antes de hacerlo bien.

¿En qué áreas debe mejorarse Electron?

Sería realmente genial si pudiera acoplar las herramientas de desarrollo dentro de una vista web.

¿Qué es lo siguiente en Beaker?

Nombres DNS seguros para sitios Dat. Un esquema de URL socialmente configurable, llamado el "esquema de aplicación". Más API Dat.

¿Para la gente que puede estar interesada en contribuir al proyecto, en qué áreas necesita ayuda Beaker?

Tenemos muchas cuestiones abiertas. No tengas miedo de hacerme un ping. #beakerbrowser en freenode. Mantenemos una página para los colaboradores y te agregaremos a ella. Y si visitas Austin, te invitaré a una cerveza.

¿Algún consejo sobre Electron que pueda ser útil para otros desarrolladores?

  1. Utilice las herramientas de compilación disponibles. No quieres luchar con tus propias soluciones, créeme. Usar electron-builder. Utilice un repositorio repetitivo.
  2. Si necesita abrir un problema en el repositorio de Electron, haga un esfuerzo adicional para que sea fácil de reproducir. Recibirás una respuesta mucho más rápida, y el equipo lo apreciará. Aún mejor, intente arreglarlo usted mismo. En realidad, es bastante interesante ver las entrañas.
  3. Lee todas las guías y documentos avanzados al menos una vez.
  4. No construya un navegador, es un mercado saturado.