Um grande benefício dos projetos de código aberto está em sua capacidade de incentivar um ambiente de aprendizado diversificado e colaborativo. Eles permitem que desenvolvedores de diferentes origens comparem e contrastem metodologias e, o mais importante, aprendam uns com os outros. Uma dessas iniciativas de código aberto, que está mudando a forma como vemos os aplicativos de demonstração, é o Projeto no mundo real.
Apresentando o Projeto RealWorld
O projeto RealWorld é uma especificação de código aberto para um clone do medium.com chamado 'Conduit'. Ele permite que qualquer desenvolvedor crie implementações de back-end e front-end da especificação. Por meio dessa plataforma, você pode ver como exatamente o mesmo aplicativo é construído usando diferentes linguagens, estruturas e bancos de dados.
Embora os aplicativos de demonstração desempenhem um papel fundamental na compreensão das funcionalidades de estruturas e bancos de dados, suas implementações geralmente carecem de praticidade. Esses aplicativos estão espalhados por toda parte, o que torna difícil localizá-los e compará-los. O projeto RealWorld tem o objetivo de melhorar o cenário e facilitar o início dos desenvolvedores.
O que é Conduit?
O projeto desenvolveu uma especificação para aplicativos de front-end e back-end. Essa especificação cria um clone do Medium.com, um site de blog social, conhecido como "Conduit".
Os colaboradores podem implementar frontends ou backends nas linguagens, estruturas e bancos de dados de sua escolha. Como todos eles seguem a mesma especificação, os frontends e backends podem ser intercambiados.
No momento, há aproximadamente 100 exemplos de back-end disponíveis no site, empregando 20 idiomas e várias estruturas.
Minha contribuição: Criação com ASP.NET + Couchbase
Inspirado por essa iniciativa, embarquei em uma jornada para criar um Implementação do ASP.NET + Couchbase. Após a conclusão, esse projeto será enviado ao site de índice do RealWorld, oferecendo aos desenvolvedores de .NET um ponto de partida sólido para a criação de seus próprios aplicativos com o Couchbase.
Esse projeto incluirá um conjunto de testes automatizados, garantindo que o projeto permaneça sustentável e atualizado. Outro recurso exclusivo é sua construção: ele está sendo desenvolvido ao vivo e em público, em Twitch.tv.
Construção ao vivo no Twitch.tv
Por que a Twitch? É o lar de uma considerável "comunidade de "codificação ao vivo. As sessões de codificação ao vivo permitem que outras pessoas participem, assistam, conversem, contribuam e até colaborem. No entanto, estou pensando em expandir para outras plataformas de vídeo ao vivo, como YouTube e LinkedIn em breve.
Como um bônus adicional, estou usando ferramentas de LLM como ChatGPT e Chat do Copiloto do GitHub para experimentar maneiras de desenvolver este projeto mais rapidamente. Meu objetivo é ajudar os desenvolvedores a entender os prós e os contras dessas ferramentas ao longo do caminho.
Todas as transmissões ao vivo são gravadas e posteriormente postado no YouTubecriando assim um rico repositório de recursos para desenvolvedores de todo o mundo. Vídeos mais curtos e resumidos também estão sendo criados. Você pode conferir o Lista de reprodução de vídeos de resumo ou navegue por uma coleção de links de vídeo na seção LEIAME do GitHub.
Um plano para contribuições futuras
O objetivo deste projeto é estabelecer um modelo para futuras contribuições usando outras linguagens e estruturas. Podemos começar com a especificação do Conduit e adicionar todos os detalhes e escolhas arquitetônicas específicos do Couchbase. Por exemplo, para quem é novo no Couchbase, nem sempre fica claro como modelar dados (embed? refer?) e quais operações de dados usar (valor-chave? SQL++?)
Boas notícias para os desenvolvedores que não trabalham com NET!
Para aqueles que não estão construindo com .NET, não se preocupem! Já existem dois projetos concluídos que usam outras linguagens e estruturas.
-
- Node.js (criado por Laurent Doguin)
Este projeto usa o Node.js (JavaScript), juntamente com a estrutura da Web Express.js, o Ottoman.js ODMe Couchbase.
-
- Java (criado por Marlo Aquino e jericho161616)
Este projeto usa Java, com Spring Boot, Dados do Springe Couchbase.
Para começar a executar esses aplicativos do Conduit, recomendo primeiro Inscrevendo-se no Couchbase Capella. É a maneira mais direta e fácil de começar sua jornada no banco de dados.
Se tiver alguma dúvida ou quiser compartilhar seu status ao longo do caminho, participe da discussão na página Discórdia do Couchbase.