L’open source et les développeurs sont une histoire d’amour ouverte que le fermé n’aime pas. Pour ceux d’entre vous qui n’aiment pas de telles déclarations, ↓ est un ensemble de mesures du Boston Consulting Group qui devraient commencer à vous réchauffer.

Quelles que soient les statistiques, si vous écrivez du code pour le développement Web, vous vous interrogez sur les dernières et meilleures nouveautés open source en 2023. Alors, ne vous posez plus la question et plongez directement dans les dix outils que vous devriez proposer à votre patron.

☝🏻 Facteurs pris en compte lorsque j'ai établi cette liste,

  • Popularité

  • Contributions communautaires

  • Cadence de soutien

  • Rapidité des sorties

  • Développement de nouvelles fonctionnalités

  • Sécurité

Comment ils font sur cinq pour cette liste

  • ~16 000 GitHub ⭐

  • Valeurs pour les contributions de la communauté : 4/5

  • Valeurs pour le développement de nouvelles fonctionnalités : 3/5

  • Vitesse de libération : 3/5

  • Cadence d'assistance : 5/5

Le développement d'une couche de notification est une tâche courante lors de la conception d'une nouvelle application. Cela commence généralement par l'envoi d'un simple e-mail, mais vous pouvez gérer des centaines de notifications sur plusieurs canaux à mesure que l'application se développe. Cela peut être un processus long et complexe. C'est là qu'intervient Novu. Novu est une plateforme de développement d'infrastructure qui aide les développeurs à créer et à déployer des applications cloud natives. Son objectif est de permettre aux développeurs de créer plus facilement une communication transactionnelle significative entre leur produit et ses utilisateurs.

Avantages

  • Facile à configurer et à intégrer

  • API unique pour tous les fournisseurs de messagerie (Email, SMS, Push, Chat)

Les inconvénients

  • Aucune configuration basée sur ORM

  • Aucun plan tarifaire sur le service géré dans le cloud

Novu propose une API facile à utiliser et met l'accent sur l'expérience des développeurs. Cela signifie que les développeurs peuvent facilement intégrer des notifications dans leurs applications sans se soucier de l'infrastructure sous-jacente.

Avec Novu, vous pouvez,

  • Connectez différents fournisseurs : utilisez une collection intégrée de fournisseurs populaires : Sendgrid, Mailgun, Twilio et bien d'autres. Ajoutez la clé API et vous êtes prêt à partir.

  • Définir plusieurs canaux de notification : Novu prend en charge de nombreuses notifications, notamment les e-mails, les SMS, les notifications push, etc. Cela signifie que vous pouvez atteindre vos utilisateurs via leurs canaux préférés et garantir que vos messages sont transmis.

  • Utilisez des modèles dynamiques : sélectionnez des chaînes, ajoutez du contenu avec la syntaxe {<!-- -->{dynamic}} et des règles personnalisées pour contrôler l'envoi des notifications.

  • Suivi du flux : Novu fournit un flux d'activité de notification qui surveille chaque message sortant associé à ses métadonnées pertinentes.

Alternative à source fermée

  • Courrier

  • Cloche magique

🔎 Comment ils s'en sortent sur cinq pour cette liste

  • ~24,7K GitHub ⭐

  • Valeurs pour les contributions de la communauté : 4/5

  • Valeurs pour le développement de nouvelles fonctionnalités : 4/5

  • Vitesse de sortie : 5/5

  • Cadence d'assistance : 5/5

Appsmith est une plate-forme low-code qui permet aux développeurs de créer des applications logicielles sans écrire de code volumineux. Il fournit une interface visuelle pour créer et connecter divers composants, tels que des formulaires, des boutons et des sources de données. Cela permet aux développeurs de prototyper et de créer rapidement des applications fonctionnelles avec un minimum d'effort.

Avantages

  • Plusieurs widgets prédéfinis pour créer n'importe quelle interface d'outil interne en quelques minutes seulement.

  • Fonctionnalités d'entreprise : VCS avancé, journaux d'audit, personnalisation de la marque, SSO.

  • Plusieurs options de déploiement auto-hébergées.

Les inconvénients

  • Interface utilisateur réactive pour les appareils mobiles (à venir sur leur feuille de route)

Avec Appsmith, vous obtenez :

  • Widgets prédéfinis : Appsmith est livré avec une bibliothèque de widgets prédéfinis que vous pouvez utiliser pour créer votre application. Ces widgets incluent des boutons, des tableaux, des formulaires et des graphiques avec des propriétés avancées telles que la pagination, l'édition en ligne et les événements.

  • Intégrations natives : Appsmith facilite la connexion à vos bases de données et outils préférés avec plus de 20 intégrations natives. Celles-ci incluent des options populaires telles que Postgres, MongoDB et Airtable, ainsi que la possibilité de se connecter à presque toutes les API à l'aide de l'API RESTful ou du plugin GraphQL.

  • Prise en charge du code JavaScript. Vous pouvez utiliser JavaScript dans {<!-- -->{ }} n'importe où dans Appsmith. Vous pouvez référencer chaque entité dans Appsmith en tant que variable JavaScript et y exécuter toutes les fonctions et opérations JavaScript.

  • Contrôle de version avec Git : cette fonctionnalité sur Appsmith permet à plusieurs développeurs d'ajouter leur travail dans une branche Git, de lancer une pull request pour les révisions de code, de s'intégrer aux pipelines CI/CD et de fournir un historique de validation pour revenir à une version précédente le cas échéant. devait se tromper.

Alternative à source fermée

  • Réoutiller

  • QG de Drone

  • Superblocs

🔎 Comment ils s'en sortent sur cinq pour cette liste

  • ~44 000 GitHub ⭐

  • Valeurs pour les contributions de la communauté : 4/5

  • Valeurs pour le développement de nouvelles fonctionnalités : 4/5

  • Vitesse de sortie : 5/5

  • Cadence d'assistance : 4/5

Ces derniers temps, la concurrence entre les bases de données a évolué. Après trois décennies de croissance et d'amélioration, Postgres a acquis une réputation de fiabilité et de hautes performances, ce qui en fait un choix populaire parmi les entreprises de toutes tailles. Oracle a compromis la nature open source de MySQL et, avec la popularité croissante du stockage dans le cloud, Postgres est devenu l'une des principales options de base de données open source. La montée en puissance de Supabase, une alternative basée sur Postgres à Firebase de Google, reflète la tendance des options open source à défier les options propriétaires.

Avantages

  • Base de données Postgres complète avec Instant REST

  • Il est livré avec une authentification e-mail/sociale

Les inconvénients

  • Son SDK ne fonctionne qu'avec JS (le support des autres langages est encore en version bêta)

  • Les politiques de sécurité sont limitées en temps réel

Avec Supabase, vous pouvez,

  • Définir la base de données : le cœur de la plupart des applications est le stockage des données et la fourniture aux utilisateurs d'un accès rapide et facile. Pour y parvenir, Supabase s'appuie sur PostgreSQL, une base de données relationnelle open source. Cette technologie permet à Supabase d'offrir une expérience transparente de stockage, de récupération et de gestion des données au sein de vos applications.

  • Configurer Auth : Supabase facilite l'intégration de toutes les principales applications sociales, en vous offrant diverses options pour authentifier les utilisateurs de votre application. Mais si vous préférez une approche plus traditionnelle, Supabase prend également en charge l'authentification par mot de passe par courrier électronique.

  • Fonctions Write Edge : parfois, vous devez effectuer certaines tâches de manière asynchrone ou exécuter des opérations sur le backend de votre application. Supabase propose des fonctions Edge pour gérer ces types de cas d'utilisation. Le déploiement de fonctions Edge est simple et Supabase les distribue à l'échelle mondiale pour garantir que tous les utilisateurs bénéficient d'une expérience cohérente et rapide.

  • Configuration du stockage : en tant qu'administrateur, la plate-forme Supabase vous permet de gérer facilement les fichiers depuis votre navigateur. Vous pouvez rechercher, télécharger, afficher et supprimer des fichiers en quelques clics. Le stockage Supabase s'intègre parfaitement à PostgreSQL et fournit une API JavaScript simple à utiliser.

Alternative à source fermée

🔎 Comment ils se comportent sur cinq pour cette liste

  • ~8 000 GitHub ⭐

  • Valeurs pour les contributions de la communauté : 4/5

  • Valeurs pour le développement de nouvelles fonctionnalités : 4/5

  • Vitesse de libération : 3/5

  • Cadence d'assistance : 4/5

Supertokens est une plateforme d'authentification open source qui fournit des solutions sécurisées et évolutives pour gérer l'authentification et l'autorisation des utilisateurs dans les applications Web et mobiles. L’un des principaux avantages de l’utilisation d’une bibliothèque telle que les supertokens pour l’authentification est qu’elle peut faire gagner beaucoup de temps et d’efforts aux développeurs. Au lieu d'écrire l'intégralité du système d'authentification à partir de zéro, les développeurs peuvent utiliser le code préexistant et minutieusement testé fourni par les supertokens. Cela peut réduire le risque d'erreurs et de failles de sécurité dans le processus d'authentification. De plus, la nature open source des supertokens signifie que les développeurs ont accès au code source, ce qui leur permet de personnaliser et d'étendre la bibliothèque selon leurs besoins pour répondre aux besoins spécifiques de leur projet.

Avantages

  • L'architecture modulaire simplifie la configuration.

  • Il fournit une fonctionnalité de remplacement qui vous permet de personnaliser entièrement l'authentification et les flux à la fois sur votre front-end et votre back-end.

Les inconvénients

  • Non, ils ne prennent pas en charge de nombreux langages populaires tels que Java et Php, et ils ne disposent pas d'interface utilisateur prédéfinie pour les frameworks frontend populaires tels que Angular et Vue.

  • Manque de fonctionnalités d'entreprise telles que le provisionnement SCIM, l'administration et la prise en charge de l'organisation.

En plus de ses fonctionnalités d'authentification de base, SuperTokens propose également une solution complète de bout en bout pour gérer les sessions utilisateur. Avec cette solution, il est facile de mettre en œuvre des fonctionnalités avancées telles que la synchronisation des données de session sur plusieurs appareils ou la limitation du nombre d'appareils auxquels un utilisateur peut se connecter. Ces fonctionnalités peuvent vous aider à créer des applications plus sécurisées et fonctionnelles, et SuperTokens facilite leur mise en œuvre.

Les SuperTokens sont livrés avec,

  • Interface utilisateur entièrement personnalisable pour l'authentification : les Supertokens sont livrés avec des composants d'interface utilisateur prédéfinis une fois intégrés, ce qui facilite la mise en œuvre de l'authentification dans votre application. Et le meilleur, c’est que ces composants d’interface utilisateur sont entièrement personnalisables, vous pouvez donc les adapter à l’apparence de votre application.

  • Gestion de session : il fournit un système de gestion de session robuste qui vous permet de créer, vérifier, actualiser et révoquer facilement des sessions utilisateur avec un niveau de sécurité élevé.

  • Gestion des rôles : Supertokens comprend également un système de gestion des rôles qui vous permet d'attribuer facilement des utilisateurs à des rôles spécifiques et de contrôler les actions qu'ils sont autorisés à effectuer au sein de votre application. Ceci est accompli en attribuant des rôles aux sessions, afin que vous puissiez affiner les niveaux d'accès des différents utilisateurs.

Alternative à source fermée

  • Auth0

  • Okta

🔎 Comment ils s'en sortent sur cinq pour cette liste

  • ~28 000 GitHub ⭐

  • Valeurs pour les contributions de la communauté : 4/5

  • Valeurs pour le développement de nouvelles fonctionnalités : 3,5/5

  • Vitesse de libération : 3/5

  • Cadence d'assistance : 4/5

Appwrite est une plateforme open source Backend-as-a-Service (BaaS) populaire qui fournit divers outils et fonctionnalités pour créer des applications modernes et riches en fonctionnalités. C'est une excellente solution pour les développeurs à la recherche d'une plateforme BaaS open source et hautement personnalisable. Avec Appwrite, vous pouvez facilement configurer un backend pour votre application et profiter de fonctionnalités telles que des bases de données en temps réel, le stockage de fichiers, des fonctions sans serveur, etc.

Avantages

  • Meilleure documentation pour les instances auto-hébergées.

  • Facile à démarrer.

Les inconvénients

  • • Aucune option gérée, ce n'est donc pas entièrement sans serveur, mais cela reste une meilleure option que de créer votre propre backend à partir de zéro si vous avez des exigences légales pour héberger vous-même le BaaS.

  • Vous devez gérer la sécurité du serveur Web

Avec Appwrite, vous pouvez,

  • Configuration de l'authentification : Appwrite fournit un système complet de gestion des utilisateurs qui permet aux développeurs d'ajouter facilement une authentification et une autorisation à leurs applications.

  • Gérer le stockage des données : Appwrite offre une solution flexible et évolutive qui permet aux développeurs de stocker, récupérer et interroger facilement des données.

  • Fonctions d'écriture : Appwrite fournit un environnement d'exécution de fonction qui permet aux développeurs de créer une logique backend et des intégrations personnalisées sans entretenir les serveurs.

  • Configurer les webhooks : vous pouvez recevoir une notification par SMS lorsqu'un nouvel utilisateur s'inscrit à votre application. Vous pouvez également utiliser des webhooks pour déclencher des actions telles que la purge du cache lorsqu'un des documents de votre application est mis à jour.

Alternative à source fermée

  • Base de feu

🔎 Comment ils s'en sortent sur cinq pour cette liste

  • ~24 000 GitHub ⭐

  • Valeurs pour les contributions de la communauté : 4/5

  • Valeurs pour le développement de nouvelles fonctionnalités : 4/5

  • Vitesse de libération : 3/5

  • Cadence d'assistance : 4/5

Astro est un nouveau framework de création de sites Web qui vous permet d'utiliser un framework JavaScript qui génère un site statique sans JavaScript. Par défaut, Astro ne fournit aucun JavaScript au client et restitue les composants en HTML. Cela contribue à accélérer les performances du site Web, car davantage de JavaScript peut entraîner des temps de chargement plus lents. Si vous devez utiliser JavaScript sur votre site Web, Astro offre la possibilité d'utiliser l'hydratation partielle via les directives du client. Ces directives vous permettent de spécifier quand et comment un composant doit être hydraté ou auquel JavaScript doit être ajouté.

Avantages

  • Le modèle offre tous les avantages d'une architecture basée sur des composants, tels que la réutilisabilité et la maintenabilité.

  • Les sites Web sont optimisés pour le référencement car tout le contenu statique est rendu sur le serveur.

Les inconvénients

  • Il n’y a pas beaucoup de débat sur le sujet (architecture de l’île Astro).

  • De nombreux frameworks prétendent prendre en charge ce modèle, ce qui rend difficile le choix entre eux.

L'un des avantages d'Astro est qu'il prend en charge les bibliothèques de composants populaires telles que React/Preact (JSX), Svelte, Vue et les composants Web, ce qui permet aux développeurs déjà familiarisés avec ces outils d'être opérationnels rapidement.

Astro se présente comme,

  • Axé sur le contenu : Astro a été conçu pour créer des sites Web riches en contenu. Cela inclut la plupart des sites de marketing, des sites de publication, des sites de documentation, des blogs, des portefeuilles et certains sites de commerce électronique.

  • Le serveur d'abord : Astro exploite autant que possible le rendu côté serveur par rapport au rendu côté client. Il s'agit de la même approche que les frameworks côté serveur traditionnels (PHP, Ruby on Rails, etc.) utilisent depuis des décennies. Mais vous n’avez pas besoin d’apprendre une deuxième langue côté serveur pour le déverrouiller.

  • Entièrement flexible : Astro est un framework Web tout-en-un avec tout ce dont vous avez besoin pour créer un site Web. Astro comprend une syntaxe de composant, un routage basé sur des fichiers, une gestion des actifs, un processus de construction, un regroupement, des optimisations, une récupération de données, etc.

🔎 Comment ils s'en sortent sur cinq pour cette liste

  • ~24 000 GitHub ⭐

  • Valeurs pour les contributions de la communauté : 4/5

  • Valeurs pour le développement de nouvelles fonctionnalités : 4/5

  • Vitesse de libération : 3/5

  • Cadence d'assistance : 4/5

Ces dernières années, GraphQL a gagné en popularité en tant qu'alternative aux API REST. GraphQL est un langage de requête qui permet aux clients de demander des données spécifiquement formées à un serveur, conduisant à une communication plus efficace et plus flexible entre le client et le serveur.

Nhost est une plate-forme backend basée sur le cloud qui utilise GraphQL pour permettre aux développeurs de créer et de déployer plus rapidement des applications sans serveur. Nhost fournit une gamme de fonctionnalités qui facilitent la création d'applications évolutives et riches en fonctionnalités, notamment la gestion des utilisateurs, le stockage de données, les fonctions sans serveur, la communication en temps réel, etc.

Avantages

  • Fournit une API GraphQL en temps réel instantanée basée sur vos tables et colonnes dans la base de données.

  • Prend en charge les fonctions sans serveur.

Les inconvénients

  • Les options en temps réel sont limitées.

L'un des principaux avantages de l'utilisation de Nhost est qu'il permet aux développeurs de profiter de GraphQL sans se soucier des complexités liées à la configuration et à la maintenance de leur propre serveur GraphQL.

Avec Nhost, vous pouvez configurer,

  • Auth : Nhost fournit un système complet de gestion des utilisateurs qui ajoute facilement une authentification et une autorisation à votre application. Cela inclut la prise en charge des méthodes d'authentification courantes telles que l'e-mail/mot de passe, la connexion sociale, etc.

  • Fonctions sans serveur : Nhost vous permet de créer une logique backend et des intégrations personnalisées sans avoir besoin de maintenir des serveurs. Cela facilite l'ajout de fonctionnalités personnalisées à votre application et sa mise à l'échelle selon vos besoins.

  • API GraphQL en temps réel : Nhost comprend un moteur de communication en temps réel qui vous permet de gérer les abonnements pour synchroniser les données en temps réel.

Alternative à source fermée

🔎 Comment ils s'en sortent sur cinq pour cette liste

  • ~49 000 GitHub ⭐

  • Valeurs pour les contributions de la communauté : 4/5

  • Valeurs pour le développement de nouvelles fonctionnalités : 4/5

  • Vitesse de libération : 3/5

  • Cadence d'assistance : 4/5

Hoppscotch est un outil de test d'API open source qui aide les développeurs à tester et déboguer leurs API rapidement et facilement. Il s'agit d'un outil léger qui peut être utilisé pour envoyer des requêtes HTTP et analyser les réponses de l'API.

Avantages

  • Léger et rapide.

  • Générateur de documentation.

  • La prise en charge de WebSocket autorise également SSE, Socket.IO et MQTT

Les inconvénients

  • Peu de documentation

  • Fonctionnalités manquantes pour l'automatisation des tests

  • Besoin d'ajouter quelques fonctionnalités par CLI.

L'une des caractéristiques essentielles de Hoppscotch est sa simplicité. Il possède une interface simple et intuitive qui permet aux développeurs de se lancer facilement dans les tests d'API. Il comprend également diverses fonctionnalités qui facilitent la personnalisation et l'automatisation des tests d'API, notamment la prise en charge des variables, la gestion de l'environnement, etc.

La marelle est livrée avec,

  • Prise en charge de REST et GraphQL : Hoppscotch prend en charge les API REST et GraphQL, ce qui en fait un outil polyvalent qui peut être utilisé pour tester les API créées à l'aide d'un large éventail de technologies.

  • Plateforme en temps réel : Hoppscotch comprend une plate-forme en temps réel qui permet aux développeurs de tester et de déboguer leurs connexions de socket ou de canal. Cela facilite l’identification et la résolution des problèmes dès qu’ils surviennent.

  • Documentation API : Hoppscotch permet aux développeurs de créer une documentation API complète rapidement et facilement. Cela peut être particulièrement utile pour aider d'autres développeurs à comprendre et à utiliser votre API.

  • Prise en charge des PWA : Hoppscotch inclut la prise en charge des applications Web progressives (PWA), permettant aux développeurs de tester et de déboguer facilement les API utilisées par leurs PWA.

Alternative à source fermée

🔎 Comment ils s'en sortent sur cinq pour cette liste

  • ~33 000 GitHub ⭐

  • Valeurs pour les contributions de la communauté : 4/5

  • Valeurs pour le développement de nouvelles fonctionnalités : 5/5

  • Vitesse de sortie : 5/5

  • Cadence d'assistance : 4/5

NocoDB est un projet open source qui fournit une plate-forme Web pour créer et gérer des bases de données en ligne. Il est conçu pour être simple et flexible, permettant aux utilisateurs de créer des bases de données et des flux de travail personnalisés pour répondre à leurs besoins spécifiques.

Avantages

  • Attribuez et suivez les tâches, intégration tierce disponible

  • Transformez votre base de données SQL en une feuille de calcul intelligente

Les inconvénients

  • Pas de version cloud (ouvert en bêta privée)

L'une des fonctionnalités clés de NocoDB est son modèle de données personnalisable. Les utilisateurs peuvent créer des tables de base de données personnalisées et définir les champs et les relations entre elles. Cela permet aux utilisateurs de modéliser leurs données d'une manière adaptée à leur cas d'utilisation spécifique.

Avec NocoDB, vous pouvez

  • Configurer une interface de feuille de calcul riche : livré avec plusieurs opérations qui permettent la configuration d'une fonctionnalité de feuille de calcul complète, y compris les opérations CRUD, les types d'autorisations d'affichage et la possibilité de partager des bases et des vues.

  • Automatisations de configuration : NocoDB inclut la prise en charge des automatisations, ce qui vous permet d'automatiser les tâches et les flux de travail répétitifs. Cela peut vous aider à gagner du temps et à améliorer votre efficacité lorsque vous travaillez avec vos données.

  • Configurer l'API sans tête : NocoDB inclut une API sans tête qui vous permet d'accéder et de manipuler par programme vos données. Cela peut être particulièrement utile pour les développeurs qui souhaitent créer des intégrations personnalisées ou des applications fonctionnant avec NocoDB.

Alternative à source fermée

Comment ils font sur cinq pour cette liste

  • ~ 51 000 GitHub ⭐

  • Valeurs pour les contributions de la communauté : 4/5

  • Valeurs pour le développement de nouvelles fonctionnalités : 5/5

  • Vitesse de sortie : 5/5

  • Cadence d'assistance : 4/5

Strapi est un système de gestion de contenu (CMS) open source qui permet aux développeurs de créer et de gérer des API pour des applications riches en contenu. Il est conçu pour être simple et flexible, permettant aux développeurs de créer et de déployer rapidement des API pour leurs applications.

Avantages

  • Rapide et évolutif

  • Système d'authentification intégré

  • Plusieurs flux de travail pour les automatisations

Les inconvénients

  • Difficile de migrer les API existantes

  • La prise en charge de TypeScript est limitée

L'une des principales caractéristiques de Strapi est son architecture basée sur des plugins. Strapi comprend une gamme de plugins qui permettent aux développeurs d'ajouter facilement des fonctionnalités à leurs API, telles que la prise en charge du téléchargement de fichiers, de l'envoi d'e-mails, etc. Ces plugins peuvent être facilement installés et configurés, ce qui facilite la personnalisation des fonctionnalités de votre API.

En plus de son architecture de plugins, Strapi comprend également un panneau d'administration convivial qui permet aux développeurs et aux éditeurs de contenu de gérer facilement leur contenu. Cela inclut la prise en charge de la création et de la gestion des types de contenu, ainsi que de la prévisualisation et de la publication du contenu.

Avec Strapi, vous obtenez,

  • GraphQL ou RESTful : Strapi permet aux développeurs de choisir d'utiliser les API GraphQL ou RESTful, en fonction de leurs besoins. Cela en fait une plate-forme flexible qui peut être utilisée pour créer des API pour diverses applications.

  • Webhooks : Strapi inclut la prise en charge des webhooks, permettant aux développeurs de déclencher des événements et des actions personnalisés en fonction de certaines conditions. Cela peut être particulièrement utile pour créer des intégrations et automatiser les flux de travail.

  • Authentification et autorisations : Strapi comprend un système de gestion des utilisateurs qui permet aux développeurs d'ajouter facilement une authentification et une autorisation à leurs API. Cela inclut la prise en charge des méthodes d'authentification courantes telles que l'e-mail/mot de passe, la connexion sociale, etc.

  • Internationalisation : Strapi inclut la prise en charge de l'internationalisation, qui permet aux développeurs de créer facilement des API prenant en charge plusieurs langues. Cela peut être particulièrement utile pour créer des applications destinées à un public mondial.

Alternative à source fermée

  • Contenu

Merci d'avoir lu celui-ci ! J'aimerais entendre vos réflexions et votre liste de projets open source.