Launch HN: Diversion (YC S22), una alternativa a Git nativa de la nube
(news.ycombinator.com)- Diversion es un sistema de control de versiones orientado a repositorios grandes y colaboración en la era de la nube; sus primeros usuarios son desarrolladores de videojuegos que buscan simplicidad y escalabilidad
- Git fue creado en 2005, en un entorno de redes lentas, proyectos pequeños y sin nube, por lo que consideran que tiene límites frente a las escalas actuales de repositorios, tamaños de archivo y usuarios concurrentes
- Los sistemas de control de versiones internos de Google y Meta, y el uso de SVN y Perforce por parte de algunas empresas de desarrollo de videojuegos, semiconductores y servicios financieros, se usan como evidencia de que Git no se adapta a todas las organizaciones
- Diversion procesa operaciones de repositorio como commit, branch y merge mediante llamadas de API sobre almacenamiento distribuido, bases de datos, REST API e infraestructura cloud serverless
- Actualmente se ofrece en beta abierta; los equipos pequeños pueden empezar gratis, y se están mejorando la velocidad, la integración con CI, los plugins para IDE y motores de videojuegos, y la usabilidad
Las limitaciones de Git a las que apunta Diversion
- Diversion es un sistema de control de versiones nativo de la nube disponible en diversion.dev
- Hay una demo rápida disponible en un video de YouTube
- Sus primeros usuarios son desarrolladores de videojuegos, que valoran su simplicidad y escalabilidad
- Git ha tenido un papel clave en la evolución del desarrollo de software durante los últimos 18 años, pero fue creado para el entorno de 2005 y no es una herramienta perfecta para todos los usuarios
- Su mayor desventaja se ve en la escalabilidad limitada frente al tamaño de los repositorios, el tamaño de los archivos y la cantidad de usuarios concurrentes
- Por eso Google y Meta crearon sus propios sistemas de control de versiones
- Algunas grandes empresas de desarrollo de videojuegos, semiconductores y servicios financieros siguen usando herramientas legacy como SVN y Perforce
- La complejidad de Git también puede derivar en pérdida real de trabajo
- En una startup anterior, hubo un caso en el que una científica de datos usó un comando incorrecto de Git y el equipo perdió un mes de trabajo
- Unas horas después, pudieron recuperarlo desde un clon del repositorio que no había sido actualizado
- Aun así, las funciones de branching y merge de Git contribuyeron mucho a prácticas modernas de desarrollo como feature branch y CI/CD, además de mejorar la velocidad de los desarrolladores
Funcionamiento basado en la nube
- Diversion busca ser un sistema de control de versiones más fácil, rápido y escalable, manteniendo las funciones de branching de Git
- Aplica al control de versiones el concepto de colaboración en tiempo real de las herramientas modernas en la nube
- Permite compartir el estado del trabajo en curso, como Google Docs y Figma
- Aunque los desarrolladores no siempre quieren mostrar en qué están trabajando, puede ser útil para recibir feedback antes del commit, detectar y evitar conflictos de merge, o ver qué partes del codebase está modificando otra persona
- Su arquitectura interna se basa en almacenamiento distribuido, bases de datos, REST API e infraestructura cloud serverless
- Todas las operaciones de repositorio, como commit, branch y merge, se procesan como llamadas de API
- El cliente de escritorio sincroniza en tiempo real con la nube incluso el estado del trabajo en curso antes del commit
- Los usuarios pueden acceder mediante una CLI interactiva, Web UI y plugins para IDE
- Actualmente el plugin para IDE soporta JetBrains, y se agregarán más
- La Web UI permite realizar la mayoría de las operaciones básicas sin instalar el cliente de escritorio
- Es compatible con Git y puede sincronizarse con repositorios Git existentes
- Los nuevos commits de Diversion entran a Git, y los nuevos commits de Git también entran a Diversion
Planes de publicación y condiciones de uso de la beta
- Planean publicarlo como open source cuando el codebase madure y esté implementado en el sitio web el directorio de repositorios open source
- El código de Diversion también se gestiona en Diversion
- Actualmente se puede usar en beta abierta, y es posible empezar en modalidad self-service haciendo clic en Get Started
- Se puede usar sin necesidad de hablar con nadie
- Es gratis para equipos pequeños, y la información de precios está en pricing
- Las mejoras en curso incluyen velocidad, integración con CI, plugins para IDE y motores de videojuegos, y otras mejoras de usabilidad
1 comentarios
Comentarios de Hacker News