Creatividad
Construye software como Lego con esta nueva y inteligente herramienta de desarrollo
Los desarrolladores sólo deben implementar una funcionalidad particular dentro de un proyecto una vez. Hacer lo contrario es malo, porque introduce la deuda técnica y las inconsistencias potenciales.
Pero sólo se aplica realmente dentro del alcance de un proyecto. Si pasa a otra cosa, es inevitable que escriba algo que había usado anteriormente en diferentes proyectos, lo que obviamente es muy ineficiente.
Esto es algo que Ran Mizrahi, cofundador de Bit, está íntimamente familiarizado con. Al trabajar en el equipo de desarrollo de Wix, escaneó la totalidad de su gran cantidad de sistemas de software para una pieza particular de funcionalidad, y se dio cuenta de que había sido creado más de 90 veces. “Esto era un problema porque cada vez que actualizábamos la API, alguien se olvidaría de actualizar su código, y algo se rompería.”
Esto lo llevó a pensar en la forma en que creamos software. ¿No sería todo mucho más fácil si pudiéramos importar el código de otras personas para las cosas triviales, dejando a los desarrolladores centrarse en los desafíos divertidos e interesantes? ¿No sería genial si pudiéramos construir software con decenas - si no cientos - de componentes pequeños y consistentes, un poco como Lego?
Esto permite a los desarrolladores importar y utilizar fácilmente bibliotecas creadas por otras personas. Python tiene PIP. Node tiene el Administrador de paquetes de nodos. Ruby tiene RubyGems.
Los paquetes descargados a través de estos sistemas son complejos, grandes cuerpos de código. Es poco probable encontrar uno, por ejemplo, que hace algo tan simple como una operación aritmética, o la codificación de una cadena en BASE64.
Bit pisa un camino diferente. Este servicio es un híbrido de una plataforma de alojamiento de código (creo GitHub Gist), casado con el gestor de paquetes, pero sólo para el pequeño material.
Los desarrolladores pueden compartir fragmentos de código que consideren útiles a través de la plataforma Bit. Otros codificadores pueden descargarlos y usarlos en sus proyectos ejecutando un solo comando en el terminal. Y a diferencia de otros gestores de paquetes, Bit ejecuta fragmentos a través de una fascinante capa de virtualización (más sobre eso más adelante).
Algunos de los proyectos de la plataforma Bit son, literalmente, de una sola línea. Todos ellos son pequeños. Una buena regla es que si se puede medir el proyecto en decenas de líneas, y se necesita una entrada simple y devuelve una salida simple, entonces es un buen ajuste.
Además de la plataforma, Bit también viene con una herramienta de línea de comandos para la creación e instalación de paquetes. Mizrahi me mostró cómo, en literalmente menos de cinco minutos, podría crear una función “bit” y subirla a la plataforma.
El código no hizo mucho. Simplemente comprobó si una variable de entrada era de un tipo de cadena. Es simple, pero también es emblemático de lo que Bit es para.
Bit creó un directorio de proyecto, que contiene dos archivos. El primero contenía el propio código. Esto ya había sido parcialmente pre-llenado con una plantilla de esqueleto, que incluía una función vacía y algunos JSDoc en blanco.
El objetivo de Bit es convertir la programación en un juego con Lego. En última instancia, esto significa permitir que los desarrolladores usen bloques de código en un contexto completamente agnóstico del lenguaje. Por lo tanto, si tienes un paquete de bits escrito en Python, deberías ser capaz de integrarlo en un programa de JavaScript.
Ahí es donde entra la capa de virtualización. El objetivo de esto es desplazar el foco del lenguaje, sino más bien a lo que la entrada y salida del código cortó.
Ahora mismo, son los primeros días para Bit. Hasta ahora, el sistema de virtualización del servicio sólo admite JavaScript, aunque los controladores para otros idiomas son próximos.