Se dio a conocer hace poco el lanzamiento del proyecto TabFS, el cual es un desarrollo de un sistema de archivos que tiene como objetivo el mostrar el contenido de las pestaƱas abiertas en Chrome o Firefox como una jerarquĆa de archivos, que abarca los recursos del sitio con pestaƱas y las opciones del navegador.
Es decir, con TabFS todas las pestaƱas del navegador estĆ”n disponibles como un directorio de archivos que se pueden manipular directamente mediante el sistema operativo, incluidas las herramientas de lĆnea de comandos, y cuyo contenido afecta directamente la visualización de las pĆ”ginas en las pestaƱas del navegador.
El estado de los archivos en los directorios refleja directamente el estado de las pestaƱas en el navegador: TabFS se puede comparar con el pseudo-FS/proc, pero en lugar de los parƔmetros del sistema operativo actual, refleja el estado de las pestaƱas del navegador.
Por ejemplo, si elimina un directorio de pestañas, se cerrarÔ automÔticamente y los cambios en los archivos de estilo también afectarÔn la visualización de la pÔgina en el navegador. AdemÔs, puede cambiar la configuración general del navegador, como habilitar y deshabilitar complementos
Esto le da un montón de poder, porque ahora puede aplicar todas las herramientas existentes en su computadora que ya saben cómo manejar archivos (comandos de terminal, lenguajes de scripting, etc.) y usarlos para controlar y comunicarse con su navegador.
Ahora no se necesita codificar una extensión de navegador desde cero cada vez que quiera hacer algo. Puede escribir un script que se comunique con su navegador en, como, una mezcla de Python y bash, y puede guardarlo como un solo archivo ordinario que puede ejecutar en cualquier momento, y no es diferente de programar cualquier otra parte de su computadora.
TabFS consta de un módulo FUSE con una implementación de sistema de archivos de espacio de usuario y un complemento de navegador para exportar el contenido de las pestañas abiertas. El código se distribuye bajo la licencia GPLv3. Trabajo admitido en Linux y macOS.
Otro punto interesante de TabFS, es que permite al usuario poder utilizar varias utilidades de lĆnea de comandos existentes para trabajar con el contenido de pestaƱas abiertas como con archivos normales, asĆ como crear scripts para simplificar el procesamiento de datos en pestaƱas (puede escribir un controlador en cualquier lenguaje de programación familiar, sin la necesidad de crear un complemento de navegador). Al mismo tiempo, el acceso se proporciona no solo en modo de lectura, y dichos scripts se pueden utilizar para controlar e interactuar con el navegador.
Como tal, se menciona que el navegador tiene mucho potencial como entorno de programación interactivo, uno en el que los grĆ”ficos son tan naturales como la E/S de consola en la mayorĆa de los lenguajes de programación.
Creo que algo que lo frena y que estĆ” poco explorado es la falta de capacidad para simplemente ⦠arrastrar archivos y administrarlos con herramientas decentes muchos āIDEā basados āāen la web tienen que reinventar la administración de archivos, etc. desde cero, y es como un universo separado del resto de su computadora, y migrar entre uno y otro es un verdadero dolor (si desea usar alguna biblioteca de Python para recopilar algunos datos y luego tener una visualización basada en la web, por ejemplo, o si desea versionar archivos dentro de Ć©l, o hacer instantĆ”neas para que se sienta cómodo probando cosas, etc.).
AdemÔs de las pestañas, se puede cambiar la configuración general del navegador, por ejemplo, habilitar o deshabilitar complementos.
TodavĆa no se admite la navegación a travĆ©s de los nodos DOM y la edición de pĆ”ginas HTML sobre la marcha, pero los desarrolladores prometen implementar esta función en un futuro próximo. Los planes tambiĆ©n incluyen proporcionar la capacidad de conectar controladores a ciertas acciones en la pĆ”gina (por ejemplo, serĆ” posible realizar un seguimiento del desplazamiento y los clics).
Finalmente si estƔs interesado en conocer mƔs al respecto sobre TabFS, puedes consultar los detalles en el siguiente enlace.