Una gran ventaja de los proyectos de código abierto reside en su capacidad para fomentar un entorno de aprendizaje diverso y colaborativo. Permiten a desarrolladores de distintas procedencias comparar y contrastar metodologías y, lo que es más importante, aprender unos de otros. Una de estas iniciativas de código abierto, que está cambiando nuestra forma de ver las aplicaciones de demostración, es el proyecto Proyecto RealWorld.

The mother of all demo apps: RealWorld

Presentación del proyecto RealWorld

El proyecto RealWorld es una especificación de código abierto para un clon de medium.com llamado 'Conduit'. Permite a cualquier desarrollador crear implementaciones tanto backend como frontend de la especificación. A través de esta plataforma, se puede ver cómo se construye exactamente la misma aplicación utilizando diferentes lenguajes, frameworks y bases de datos.

Aunque las aplicaciones de demostración desempeñan un papel crucial para comprender las funcionalidades de los marcos de trabajo y las bases de datos, sus implementaciones a menudo carecen de sentido práctico. Estas aplicaciones están dispersas por todas partes, lo que dificulta su localización y comparación. El proyecto RealWorld pretende mejorar el panorama y facilitar a los desarrolladores sus primeros pasos.

Conduit medium clone with Couchbase

¿Qué es Conduit?

El proyecto ha desarrollado una especificación para aplicaciones frontend y backend. Esta especificación crea un clon de Medium.com, un sitio de blogs sociales, conocido como "Conduit".

conduit: specification for both frontend and backend applications.

Los colaboradores pueden implementar frontends o backends en los lenguajes, frameworks y bases de datos de su elección. Dado que todos se adhieren a la misma especificación, los frontends y backends pueden intercambiarse.

En la actualidad, hay unos 100 ejemplos de backend disponibles en el sitio, que emplean 20 idiomas y multitud de frameworks.

Mi contribución: Construyendo con ASP.NET + Couchbase

Inspirado por esta iniciativa, me embarqué en un viaje para construir un ASP.NET + implementación de Couchbase. Una vez finalizado, este proyecto se enviará al sitio de índice RealWorld, ofreciendo a los desarrolladores .NET un sólido punto de partida para crear sus propias aplicaciones con Couchbase.

ASP.NET + Couchbase implementation

Este proyecto incluirá un conjunto de pruebas automatizadas que garantizarán su mantenimiento y actualización. Otra característica única es su construcción: se está construyendo en vivo y en público, en Twitch.tv.

Construcción en directo en Twitch.tv

¿Por qué Twitch? Es el hogar de un considerable "comunidad "live coding. Las sesiones de codificación en directo permiten a otras personas participar, mirar, charlar, contribuir e incluso colaborar. Sin embargo, estoy considerando la posibilidad de utilizar otras plataformas de vídeo en directo como YouTube y LinkedIn en breve.

Twitch: The Live Coders

Como ventaja añadida, estoy utilizando herramientas LLM como ChatGPT y Chat de GitHub Copilot para experimentar con formas de construir este proyecto más rápido. Mi objetivo es ayudar a los desarrolladores a entender los pros y los contras de estas herramientas.

Todas las retransmisiones en directo se graban y posteriormente publicado en YouTubecreando así un rico repositorio de recursos para desarrolladores de todo el mundo. También se están creando vídeos resumidos más breves. Puede consultar el lista de reproducción de vídeos de síntesis o navegar por una colección de enlaces de vídeo en el LÉEME de GitHub.

Un plan para futuras contribuciones

Este proyecto pretende establecer un modelo para futuras contribuciones que utilicen otros lenguajes y marcos de trabajo. Podemos empezar con la especificación Conduit y añadir todos los detalles específicos de Couchbase y las opciones arquitectónicas. Por ejemplo, para los nuevos en Couchbase, no siempre está claro cómo modelar datos (¿incrustar? ¿referir?) y qué operaciones de datos utilizar (clave-valor? SQL?)

Buenas noticias para los desarrolladores que no utilizan .NET

Los que no construyan con .NET, ¡no se preocupen! Ya hay dos proyectos terminados que utilizan otros lenguajes y marcos de trabajo.

    • Node.js (creado por Laurent Doguin)

Este proyecto utiliza Node.js (JavaScript), junto con el framework web Express.js, el Ottoman.js ODMy Couchbase.

    • Java (creado por Marlo Aquino y jericho161616)

Este proyecto utiliza Java, con Spring Boot, Datos de primaveray Couchbase.

Para empezar a ejecutar estas aplicaciones Conduit, recomiendo en primer lugar inscribirse en Couchbase Capella. Es la forma más directa y sencilla de iniciarse en el mundo de las bases de datos.

Si tienes alguna pregunta o quieres compartir tu estado por el camino, únete a la discusión en el Couchbase Discord.

Autor

Publicado por Matthew Groves

A Matthew D. Groves le encanta programar. No importa si se trata de C#, jQuery o PHP: enviará pull requests para cualquier cosa. Lleva codificando profesionalmente desde que escribió una aplicación de punto de venta en QuickBASIC para la pizzería de sus padres, allá por los años noventa. Actualmente trabaja como Director de Marketing de Producto para Couchbase. Su tiempo libre lo pasa con su familia, viendo a los Reds y participando en la comunidad de desarrolladores. Es autor de AOP in .NET, Pro Microservices in .NET, autor de Pluralsight y MVP de Microsoft.

Dejar una respuesta