Código aberto e desenvolvedores são um caso de amor aberto que o código fechado não gosta. Para quem não gosta de declarações como essa, ↓ é um conjunto de métricas do Boston Consulting Group que deve começar a aquecê-lo.

Independentemente das estatísticas, se você escreve código para desenvolvedor web, você está se perguntando sobre o que há de melhor e mais recente em código aberto em 2023. Portanto, não se pergunte mais e mergulhe direto nas dez ferramentas que você deve apresentar ao seu chefe.

☝🏻 Fatores em consideração quando criei esta lista,

  • Popularidade

  • Contribuições da comunidade

  • Cadência de suporte

  • Velocidade de lançamentos

  • Desenvolvimento de novos recursos

  • Segurança

Como eles se saem em cinco para esta lista

  • ~16K GitHub ⭐

  • Valores para contribuições comunitárias: 4/5

  • Valores para desenvolvimento de novos recursos: 3/5

  • Velocidade de liberação: 3/5

  • Cadência de suporte: 5/5

Desenvolver uma camada de notificação é uma tarefa comum ao projetar um novo aplicativo. Normalmente começa com o envio de um simples e-mail, mas você pode gerenciar centenas de notificações em vários canais à medida que o aplicativo cresce. Este pode ser um processo demorado e complexo. É aí que entra o Novu. Novu é uma plataforma de desenvolvimento de infraestrutura que ajuda os desenvolvedores a construir e implantar aplicativos nativos da nuvem. Seu objetivo é tornar mais fácil para os desenvolvedores criarem uma comunicação transacional significativa entre seus produtos e seus usuários.

Prós

  • Fácil de configurar e integrar

  • API única para todos os provedores de mensagens (E-mail, SMS, Push, Chat)

Contras

  • Nenhuma configuração baseada em ORM

  • Sem planos de preços para serviços gerenciados em nuvem

Novu oferece uma API fácil de usar e foco na experiência do desenvolvedor. Isso significa que os desenvolvedores podem integrar facilmente notificações em seus aplicativos sem se preocupar com a infraestrutura subjacente.

Com Novu, você pode,

  • Conecte diferentes provedores: use uma coleção integrada de provedores populares — Sendgrid, Mailgun, Twilio e muitos mais. Adicione a chave de API e você estará pronto para começar.

  • Defina vários canais de notificação: Novu oferece suporte a muitas notificações, incluindo e-mail, SMS, notificações push e muito mais. Isso significa que você pode alcançar seus usuários por meio dos canais preferidos e garantir que suas mensagens sejam entregues.

  • Use modelos dinâmicos: selecione canais, adicione conteúdo com sintaxe {<!-- -->{dynamic}} e regras personalizadas para controlar a entrega de notificações.

  • Rastrear feed: Novu fornece um feed de atividades de notificação que monitora cada mensagem enviada associada aos seus metadados relevantes.

Alternativa de código fechado

  • Correio

  • Sino Mágico

🔎 Como eles se saem em cinco nesta lista

  • ~ 24,7 mil GitHub ⭐

  • Valores para contribuições comunitárias: 4/5

  • Valores para desenvolvimento de novos recursos: 4/5

  • Velocidade de lançamento: 5/5

  • Cadência de suporte: 5/5

Appsmith é uma plataforma de baixo código que permite aos desenvolvedores criar aplicativos de software sem escrever códigos extensos. Ele fornece uma interface visual para construir e conectar vários componentes, como formulários, botões e fontes de dados. Isso permite que os desenvolvedores criem protótipos e construam aplicativos funcionais rapidamente com o mínimo de esforço.

Prós

  • Vários widgets pré-construídos para construir qualquer interface de ferramenta interna em apenas alguns minutos.

  • Recursos empresariais – VCS avançado, registros de auditoria, marca personalizada, SSO.

  • Várias opções de implantação auto-hospedadas.

Contras

  • UI responsiva para dispositivos móveis (em breve no roteiro)

Com o Appsmith, você obtém,

  • Widgets pré-construídos: o Appsmith vem com uma biblioteca de widgets pré-construídos que você pode usar para construir seu aplicativo. Esses widgets incluem botões, tabelas, formulários e gráficos com propriedades avançadas como paginação, edição em linha e eventos.

  • Integrações nativas: o Appsmith facilita a conexão com seus bancos de dados e ferramentas preferidos com mais de 20 integrações nativas. Isso inclui opções populares como Postgres, MongoDB e Airtable, bem como a capacidade de conectar-se a quase todas as APIs usando a API RESTful ou o plugin GraphQL.

  • Suporte a código JavaScript. Você pode usar JavaScript dentro de {<!-- -->{ }} em qualquer lugar do Appsmith. Você pode referenciar cada entidade no Appsmith como uma variável JavaScript e executar todas as funções e operações JavaScript nelas.

  • Controle de versão com Git: este recurso no Appsmith permite que vários desenvolvedores adicionem seu trabalho em um branch git, gerem uma solicitação pull para revisões de código, integrem-se a pipelines de CI/CD e forneçam um histórico de commit para voltar a uma versão anterior, se algo acontecer. dessem errado.

Alternativa de código fechado

  • Reequipar

  • DroneHQ

  • Superblocos

🔎 Como eles se saem em cinco nesta lista

  • ~ 44K GitHub ⭐

  • Valores para contribuições comunitárias: 4/5

  • Valores para desenvolvimento de novos recursos: 4/5

  • Velocidade de lançamento: 5/5

  • Cadência de suporte: 4/5

Nos últimos tempos, a competição entre bancos de dados evoluiu. Após três décadas de crescimento e melhoria, o Postgres ganhou uma reputação de confiabilidade e alto desempenho, tornando-o uma escolha popular entre empresas de todos os tamanhos. A Oracle comprometeu a natureza de código aberto do MySQL e, com a crescente popularidade do armazenamento em nuvem, o Postgres tornou-se uma opção líder de banco de dados de código aberto. A ascensão do Supabase, uma alternativa baseada em Postgres ao Firebase do Google, reflete a tendência de opções de código aberto desafiando as proprietárias.

Prós

  • Banco de dados Postgres completo com REST instantâneo

  • Ele vem com autenticação de e-mail/social

Contras

  • Seu SDK só funciona com JS (o suporte para outras linguagens ainda está em beta)

  • As políticas de segurança são limitadas em tempo real

Com Supabase, você pode,

  • Definir banco de dados: o coração da maioria dos aplicativos é armazenar dados e fornecer aos usuários acesso rápido e fácil. Para conseguir isso, Supabase conta com PostgreSQL, um banco de dados relacional de código aberto. Essa tecnologia permite que a Supabase ofereça uma experiência perfeita de armazenamento, recuperação e gerenciamento de dados em seus aplicativos.

  • Configurar autenticação: o Supabase facilita a integração de todos os principais aplicativos sociais, oferecendo várias opções para autenticar os usuários do seu aplicativo. Mas se você preferir uma abordagem mais tradicional, o Supabase também oferece suporte à autenticação por e-mail e senha.

  • Write Edge Functions: às vezes, você precisa executar determinadas tarefas de forma assíncrona ou executar operações no back-end do seu aplicativo. Supabase oferece funções de ponta para lidar com esses tipos de casos de uso. A implantação de funções de borda é fácil e a Supabase as distribui globalmente para garantir que todos os usuários tenham uma experiência rápida e consistente.

  • Configure o armazenamento: como administrador, a plataforma Supabase permite que você gerencie arquivos do seu navegador facilmente. Você pode pesquisar, fazer upload, visualizar e excluir arquivos com apenas alguns cliques. O armazenamento Supabase integra-se perfeitamente ao PostgreSQL e fornece uma API JavaScript simples para você usar.

Alternativa de código fechado

🔎 Como eles se saem em cinco nesta lista

  • ~ 8K GitHub ⭐

  • Valores para contribuições comunitárias: 4/5

  • Valores para desenvolvimento de novos recursos: 4/5

  • Velocidade de liberação: 3/5

  • Cadência de suporte: 4/5

Supertokens é uma plataforma de autenticação de código aberto que fornece soluções seguras e escalonáveis ​​para gerenciar autenticação e autorização de usuários em aplicativos web e móveis. Um dos principais benefícios de usar uma biblioteca como supertokens para autenticação é que ela pode economizar tempo e esforço significativos para os desenvolvedores. Em vez de escrever todo o sistema de autenticação do zero, os desenvolvedores podem usar o código pré-existente e exaustivamente testado fornecido pelos supertokens. Isto pode reduzir o potencial de erros e vulnerabilidades de segurança no processo de autenticação. Além disso, a natureza de código aberto dos supertokens significa que os desenvolvedores têm acesso ao código-fonte, o que lhes permite personalizar e ampliar a biblioteca conforme necessário para atender às necessidades específicas de seu projeto.

Prós

  • A arquitetura modular simplifica a configuração.

  • Ele fornece um recurso de substituição que permite personalizar totalmente a autenticação e os fluxos no front-end e no back-end.

Contras

  • Não, não são compatíveis com muitas linguagens populares, como Java e Php, e não têm interface de usuário pré-construída para estruturas de front-end populares, como Angular e Vue.

  • Carece de recursos empresariais, como provisionamento SCIM, administração e suporte organizacional.

Além de seus principais recursos de autenticação, o SuperTokens também oferece uma solução abrangente e ponta a ponta para gerenciar sessões de usuários. Com esta solução, é fácil implementar recursos avançados, como sincronizar dados de sessão em vários dispositivos ou limitar o número de dispositivos nos quais um usuário pode fazer login. Esses recursos podem ajudá-lo a construir aplicativos mais seguros e funcionais, e o SuperTokens facilita sua implementação.

SuperTokens vem com,

  • UI totalmente personalizável para Auth: Supertokens vem com componentes de UI pré-construídos quando integrados, facilitando a implementação de autenticação em seu aplicativo. E a melhor parte é que esses componentes de UI são totalmente personalizáveis, para que você possa adaptá-los para combinar com a aparência do seu aplicativo.

  • Gerenciamento de sessões: fornece um sistema robusto de gerenciamento de sessões que permite criar, verificar, atualizar e revogar facilmente sessões de usuários com um alto nível de segurança.

  • Gerenciamento de funções: Supertokens também inclui um sistema de gerenciamento de funções que permite atribuir facilmente usuários a funções específicas e controlar quais ações eles podem realizar em seu aplicativo. Isso é feito atribuindo funções às sessões, para que você possa ajustar os níveis de acesso de diferentes usuários.

Alternativa de código fechado

  • Autor0

  • Okta

🔎 Como eles se saem em cinco nesta lista

  • ~ 28 mil GitHub ⭐

  • Valores para contribuições comunitárias: 4/5

  • Valores para desenvolvimento de novos recursos: 3,5/5

  • Velocidade de liberação: 3/5

  • Cadência de suporte: 4/5

Appwrite é uma plataforma popular de backend como serviço (BaaS) de código aberto que fornece várias ferramentas e recursos para a construção de aplicativos modernos e ricos em recursos. É uma excelente solução para desenvolvedores que procuram uma plataforma BaaS de código aberto e altamente personalizável. Com o Appwrite, você pode configurar facilmente um back-end para seu aplicativo e aproveitar recursos como bancos de dados em tempo real, armazenamento de arquivos, funções sem servidor e muito mais.

Prós

  • Melhor documentação para instâncias de auto-hospedagem.

  • Fácil de começar.

Contras

  • • Não há opção gerenciada, portanto não é totalmente sem servidor, mas ainda assim é uma opção melhor do que criar seu próprio back-end do zero se você tiver requisitos legais para hospedar o BaaS por conta própria.

  • Você tem que lidar com a segurança do servidor web

Com o Appwrite, você pode,

  • Configurar autenticação: o Appwrite fornece um sistema completo de gerenciamento de usuários que permite aos desenvolvedores adicionar facilmente autenticação e autorização aos seus aplicativos.

  • Gerencie o armazenamento de dados: o Appwrite oferece uma solução flexível e escalonável que permite aos desenvolvedores armazenar, recuperar e consultar dados com facilidade.

  • Funções de gravação: o Appwrite fornece um tempo de execução de função que permite aos desenvolvedores criar integrações e lógica de back-end personalizadas sem manutenção de servidores.

  • Configurar webhooks: você pode receber uma notificação por SMS quando um novo usuário se registrar em seu aplicativo. Você também pode usar webhooks para acionar ações como limpar o cache quando um dos documentos do seu aplicativo for atualizado.

Alternativa de código fechado

  • Base de fogo

🔎 Como eles se saem em cinco nesta lista

  • ~24K GitHub ⭐

  • Valores para contribuições comunitárias: 4/5

  • Valores para desenvolvimento de novos recursos: 4/5

  • Velocidade de liberação: 3/5

  • Cadência de suporte: 4/5

Astro é uma nova estrutura para construção de sites que permite usar uma estrutura JavaScript que gera um site estático sem JavaScript. Por padrão, o Astro não entrega JavaScript ao cliente e renderiza os componentes em HTML. Isso ajuda a acelerar o desempenho do site, pois mais JavaScript pode levar a tempos de carregamento mais lentos. Caso necessite utilizar JavaScript em seu site, o Astro oferece a opção de utilização de hidratação parcial por meio de diretivas do cliente. Essas diretivas permitem especificar quando e como um componente deve ser hidratado ou ter JavaScript adicionado a ele.

Prós

  • O Padrão oferece todos os benefícios da arquitetura baseada em componentes, como capacidade de reutilização e manutenção.

  • Os sites são otimizados para SEO porque todo o conteúdo estático é renderizado no servidor.

Contras

  • Não há muito debate sobre o assunto (arquitetura da Ilha do Astro).

  • Muitas estruturas afirmam apoiar o padrão, o que torna difícil escolher entre elas.

Uma das melhores coisas sobre o Astro é que ele oferece suporte a bibliotecas de componentes populares como React/Preact (JSX), Svelte, Vue e componentes da web, tornando mais fácil para os desenvolvedores que já estão familiarizados com essas ferramentas começarem a trabalhar rapidamente.

Astro se apresenta como,

  • Focado no conteúdo: o Astro foi projetado para construir sites ricos em conteúdo. Isso inclui a maioria dos sites de marketing, sites de publicação, sites de documentação, blogs, portfólios e alguns sites de comércio eletrônico.

  • Servidor em primeiro lugar: o Astro aproveita ao máximo a renderização do lado do servidor em vez da renderização do lado do cliente. Esta é a mesma abordagem que os frameworks tradicionais do lado do servidor – PHP, Ruby on Rails, etc. – vêm usando há décadas. Mas você não precisa aprender uma segunda linguagem do servidor para desbloqueá-lo.

  • Totalmente flexível: Astro é uma estrutura web completa com tudo que você precisa para construir um site. Astro inclui sintaxe de componente, roteamento baseado em arquivo, manipulação de ativos, processo de construção, agrupamento, otimizações, busca de dados e muito mais.

🔎 Como eles se saem em cinco nesta lista

  • ~24K GitHub ⭐

  • Valores para contribuições comunitárias: 4/5

  • Valores para desenvolvimento de novos recursos: 4/5

  • Velocidade de liberação: 3/5

  • Cadência de suporte: 4/5

Nos últimos anos, o GraphQL ganhou popularidade significativa como alternativa às APIs REST. GraphQL é uma linguagem de consulta que permite aos clientes solicitar dados com formatos específicos de um servidor, levando a uma comunicação mais eficiente e flexível entre cliente e servidor.

Nhost é uma plataforma de back-end baseada em nuvem que utiliza GraphQL para permitir que os desenvolvedores criem e implantem aplicativos sem servidor com mais rapidez. O Nhost oferece uma variedade de recursos que facilitam a construção de aplicativos escalonáveis ​​e ricos em recursos, incluindo gerenciamento de usuários, armazenamento de dados, funções sem servidor, comunicação em tempo real e muito mais.

Prós

  • Fornece API GraphQL em tempo real instantânea com base em suas tabelas e colunas no banco de dados.

  • Suporta funções sem servidor.

Contras

  • As opções em tempo real são limitadas.

Um dos principais benefícios de usar o Nhost é que ele permite que os desenvolvedores aproveitem o GraphQL sem se preocupar com as complexidades de configurar e manter seu próprio servidor GraphQL.

Com Nhost, você pode configurar,

  • Auth: Nhost fornece um sistema completo de gerenciamento de usuários que adiciona facilmente autenticação e autorização à sua aplicação. Isso inclui suporte para métodos de autenticação populares, como e-mail/senha, login social e muito mais.

  • Funções sem servidor: Nhost permite que você crie lógica e integrações de back-end personalizadas sem a necessidade de manter servidores. Isso torna mais fácil adicionar funcionalidades personalizadas ao seu aplicativo e dimensioná-lo conforme necessário.

  • API GraphQL em tempo real: Nhost inclui um mecanismo de comunicação em tempo real que permite gerenciar assinaturas para sincronizar dados em tempo real.

Alternativa de código fechado

🔎 Como eles se saem em cinco nesta lista

  • ~ 49 mil GitHub ⭐

  • Valores para contribuições comunitárias: 4/5

  • Valores para desenvolvimento de novos recursos: 4/5

  • Velocidade de liberação: 3/5

  • Cadência de suporte: 4/5

Hoppscotch é uma ferramenta de teste de API de código aberto que ajuda os desenvolvedores a testar e depurar suas APIs de maneira rápida e fácil. É uma ferramenta leve que pode ser usada para enviar solicitações HTTP e analisar as respostas da API.

Prós

  • Leve e rápido.

  • Gerador de documentação.

  • O suporte para WebSocket também permite SSE, Socket.IO e MQTT

Contras

  • Pouca documentação

  • Recursos ausentes para automação de testes

  • Precisa adicionar alguns recursos por CLI.

Uma das características críticas do Hoppscotch é sua simplicidade. Possui uma interface simples e intuitiva que facilita aos desenvolvedores o início dos testes de API. Ele também inclui vários recursos que facilitam a personalização e a automatização de testes de API, incluindo suporte para variáveis, gerenciamento de ambiente e muito mais.

Amarelinha vem com,

  • Suporte REST e GraphQL: Hoppscotch oferece suporte a APIs REST e GraphQL, tornando-o uma ferramenta versátil que pode ser usada para testar APIs construídas usando uma ampla gama de tecnologias.

  • Plataforma em tempo real: Hoppscotch inclui uma plataforma em tempo real que permite aos desenvolvedores testar e depurar suas conexões de soquete ou canal. Isso torna mais fácil identificar e corrigir problemas à medida que surgem.

  • Documentação da API: Hoppscotch permite que os desenvolvedores criem documentação abrangente da API de forma rápida e fácil. Isso pode ser especialmente útil para ajudar outros desenvolvedores a entender e usar sua API.

  • Suporte PWA: Hoppscotch inclui suporte para Progressive Web Apps (PWAs), tornando mais fácil para os desenvolvedores testar e depurar as APIs usadas por seus PWAs.

Alternativa de código fechado

🔎 Como eles se saem em cinco nesta lista

  • ~ 33 mil GitHub ⭐

  • Valores para contribuições comunitárias: 4/5

  • Valores para desenvolvimento de novos recursos: 5/5

  • Velocidade de lançamento: 5/5

  • Cadência de suporte: 4/5

NocoDB é um projeto de código aberto que fornece uma plataforma baseada na web para construção e gerenciamento de bancos de dados online. Ele foi projetado para ser fácil e flexível, permitindo aos usuários criar bancos de dados e fluxos de trabalho personalizados para atender às suas necessidades específicas.

Prós

  • Atribua e rastreie tarefas, integração de terceiros disponível

  • Transforme seu banco de dados SQL em uma planilha inteligente

Contras

  • Sem versão em nuvem (aberto em beta privado)

Um dos principais recursos do NocoDB é seu modelo de dados personalizável. Os usuários podem criar tabelas de banco de dados personalizadas e definir os campos e relacionamentos entre elas. Isso permite que os usuários modelem seus dados de uma forma que faça sentido para seu caso de uso específico.

Com NocoDB, você pode

  • Interface de planilha avançada de configuração: vem com diversas operações que permitem a configuração de um recurso completo de planilha, incluindo operações CRUD, tipos de permissão de visualização e a capacidade de compartilhar bases e visualizações.

  • Automações de configuração: NocoDB inclui suporte para automações, o que permite automatizar tarefas e fluxos de trabalho repetitivos. Isso pode ajudar você a economizar tempo e melhorar a eficiência ao trabalhar com seus dados.

  • Configurar API Headless: o NocoDB inclui uma API headless que permite acessar e manipular programaticamente seus dados. Isso pode ser especialmente útil para desenvolvedores que desejam construir integrações personalizadas ou aplicativos que funcionem com NocoDB.

Alternativa de código fechado

Como eles se saem em cinco para esta lista

  • ~ 51 mil GitHub ⭐

  • Valores para contribuições comunitárias: 4/5

  • Valores para desenvolvimento de novos recursos: 5/5

  • Velocidade de lançamento: 5/5

  • Cadência de suporte: 4/5

Strapi é um sistema de gerenciamento de conteúdo (CMS) de código aberto que permite aos desenvolvedores construir e gerenciar APIs para aplicativos ricos em conteúdo. Ele foi projetado para ser fácil e flexível, permitindo que os desenvolvedores criem e implantem APIs rapidamente para seus aplicativos.

Prós

  • Rápido e escalável

  • Sistema de autenticação integrado

  • Vários fluxos de trabalho para automações

Contras

  • Difícil migrar APIs existentes

  • O suporte TypeScript é limitado

Um dos principais recursos do Strapi é sua arquitetura baseada em plugins. Strapi inclui uma variedade de plug-ins que permitem aos desenvolvedores adicionar facilmente funcionalidades às suas APIs, como suporte para upload de arquivos, envio de e-mail e muito mais. Esses plug-ins podem ser facilmente instalados e configurados, facilitando a personalização da funcionalidade da sua API.

Além de sua arquitetura de plugins, Strapi também inclui um painel de administração amigável que permite aos desenvolvedores e editores de conteúdo gerenciar seu conteúdo facilmente. Isso inclui suporte para criação e gerenciamento de tipos de conteúdo e visualização e publicação de conteúdo.

Com Strapi, você obtém,

  • GraphQL ou RESTful: Strapi permite que os desenvolvedores escolham usar APIs GraphQL ou RESTful, dependendo de suas necessidades. Isso o torna uma plataforma flexível que pode ser usada para construir APIs para vários aplicativos.

  • Webhooks: Strapi inclui suporte a webhooks, permitindo que os desenvolvedores acionem eventos e ações personalizadas com base em determinadas condições. Isso pode ser especialmente útil para criar integrações e automatizar fluxos de trabalho.

  • Autenticação e permissões: Strapi inclui um sistema de gerenciamento de usuários que permite aos desenvolvedores adicionar facilmente autenticação e autorização às suas APIs. Isso inclui suporte para métodos de autenticação populares, como e-mail/senha, login social e muito mais.

  • Internacionalização: Strapi inclui suporte para internacionalização, o que permite aos desenvolvedores construir APIs que suportam vários idiomas facilmente. Isso pode ser especialmente útil para criar aplicativos que atendam a um público global.

Alternativa de código fechado

  • Contente

Obrigado por ler este! Eu adoraria ouvir sua opinião e sua lista de projetos de código aberto.