IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

PocketBase : un back-end open source condensé dans un seul fichier et composé d'une base de données SQLite intégrée avec la validation des données,
Une API REST et des fonctions d'authentification

Le , par Mathis Lucas

47PARTAGES

4  0 
PocketBase : un back-end open source condensé dans un seul fichier et composé d'une base de données SQLite intégrée avec la validation des données
une API REST et des fonctions d'authentification

Il y a plusieurs façons de procéder lorsque vous construisez un produit qui nécessite un back-end : construire un back-end à partir de zéro ou prendre un fournisseur de back-end en tant que service comme Google Firebase, AWS Amplify ou le sujet de l'article PocketBase. PocketBase est un back-end open source composé d'une base de données SQLite intégrée avec validation des données, abonnements en temps réel, fonctions d'authentification et de stockage de fichiers multimédias et une API REST. Il est entièrement portable, ne nécessite qu'une installation minimale et s'intègre à des technologies populaires comme Vue, Svelte, React, et Flutter. PocketBase est écrit en Go.

PocketBase est un outil minimaliste créé par le développeur de logiciels bulgare Gani Georgiev. Il présente PocketBase comme une solution back-end complète pour les développeurs d'applications SaaS et mobiles à la recherche d'une installation simple, basée sur des fichiers. PocketBase est un outil open source visant à rationaliser le processus de développement en offrant des fonctionnalités essentielles de back-end dans un seul fichier exécutable. Son approche conviviale permet aux développeurs de mettre en œuvre une fonctionnalité dorsale robuste avec un minimum d'installation. Voici ci-dessous les caractéristiques essentielles de PocketBase :

  • fichier exécutable unique : l'ensemble du back-end est condensé dans un seul fichier exécutable, ce qui élimine les installations complexes et simplifie votre environnement de développement ;
  • base de données en temps réel : PocketBase intègre une base de données en temps réel (SQLite) qui permet une synchronisation transparente des données entre les applications clientes ;
  • authentification des utilisateurs : système intégré d'authentification des utilisateurs qui prend en charge oAuth et l'ouverture de session par courriel pour protéger et gérer efficacement l'accès des utilisateurs ;
  • API personnalisable : PocketBase propose une API extensible qui peut être adaptée aux besoins spécifiques de votre SaaS ou de votre application mobile ;
  • stockage de fichiers : capacités de stockage de fichiers efficaces pour gérer et servir le contenu multimédia au sein de votre application sans avoir besoin de services supplémentaires.
  • axé sur la sécurité : des mesures de sécurité sont intégrées pour protéger l'intégrité des données de votre application et la confidentialité des utilisateurs ;
  • synchronisation locale et à distance : PocketBase offre des options de synchronisation locale et distante, facilitant les capacités hors ligne et la sauvegarde des données ;
  • tableau de bord de l'administrateur : le tableau de bord de l'administrateur vous permet de créer et de gérer des collections dans la base de données. Vous pouvez également télécharger des fichiers, afficher les fichiers journaux et configurer les paramètres d'envoi des courriels.


PocketBase peut être téléchargé directement comme application autonome ou être utilisé comme un framework/toolkit Go qui vous permet de construire votre propre logique commerciale spécifique à l'application et d'avoir un seul exécutable portable à la fin. Selon la documentation, PocketBase peut facilement servir plus de 10 000 connexions simultanées et persistantes en temps réel sur 6 serveurs privés virtuels, ce qui en fait un choix de back-end abordable pour les petites et moyennes applications. PocketBase évolue verticalement, ce qui signifie que vous devez ajouter plus de CPU et de RAM pour augmenter la puissance de traitement.


PocketBase souffre également d'autres limites par rapport aux alternatives bien établies comme Firebase ou Amplify. « PocketBase a gagné du terrain récemment et semble être un projet intéressant (même s'il manque encore beaucoup de fonctionnalités pour le moment). Il utilise SQLite (il n'y a pas d'autres options et il ne semble pas prévu d'en supporter d'autres), mais en mode WAL, ce qui le rend plus performant que beaucoup d'autres bases de données. En outre, vous pouvez l'étendre comme un framework Web Go si nécessaire, et l'application Web et la base de données se compilent en un seul binaire, ce qui semble plutôt sympa », a écrit un critique.

Quelques alternatives à PocketBase

Firebase

Firebase est l'une des principales alternatives à PocketBase. Firebase est généralement une plateforme fiable et complète qui offre une gamme de fonctionnalités utiles, dont l'authentification, une base de données NoSQL en temps réel, des fonctions personnalisées pour la logique commerciale, le stockage de fichiers et l'hébergement. Il dispose également d'un SDK côté client, est facile à démarrer et ne nécessite que quelques clics pour être configuré. Mais selon les utilisateurs, l'un des problèmes de Firebase est son extensibilité limitée. Il offre des services tels que des fonctions cloud et des extensions pour aider à combler le fossé.

Mais ces services ne sont pas aussi flexibles que l'extensibilité de PocketBase. En comparaison, PocketBase semble offrir un niveau plus élevé de personnalisation et de flexibilité pour la création d'API et d'itinéraires personnalisés. Et selon les commentaires sur le sujet, si votre cas d'utilisation nécessite plus d'extensibilité, c'est-à-dire des intégrations tierces, une logique commerciale personnalisée, la conformité des transactions, alors PocketBase serait un meilleur choix. En outre, Firestore, la base de données utilisée par Firebase, est une plateforme propriétaire et ne fournit aucun outil pour exporter ou importer des données en dehors de BigQuery.

Cela peut rendre difficile la migration des données vers ou depuis Firestore, ce qui peut poser des problèmes aux développeurs. « La migration des données est une priorité absolue lorsque l'on utilise PocketBase », a écrit un utilisateur. Cependant, comme souligné plus haut, PocketBase évolue verticalement, ce qui signifie que vous devez ajouter plus de CPU et de RAM pour augmenter la puissance de traitement. Si vous avez une grande application, envisagez un fournisseur de back-end comme Firebase qui permet une mise à l'échelle horizontale. Toutefois, voici quelques inconvénients relevés par les utilisateurs de Firebase :

  • le coût : bien que Firebase soit gratuit, il peut s'avérer coûteux pour les projets plus importants ou plus complexes, en particulier si vous devez stocker beaucoup de données ou gérer un volume de trafic élevé ;
  • contrôle limité : Firebase est un service entièrement géré, ce qui signifie que vous n'avez pas le contrôle de l'infrastructure sous-jacente. Cela peut être un inconvénient si vous avez besoin de personnaliser certains aspects de votre environnement serveur ;
  • modèle de données NoSQL : Firebase utilise un modèle de données NoSQL, qui peut être moins flexible qu'une base de données relationnelle traditionnelle. Il peut être plus difficile d'effectuer des requêtes complexes ou d'assurer l'intégrité des données avec une base de données NoSQL ;
  • évolutivité limitée : bien que Firebase puisse évoluer horizontalement pour gérer l'augmentation du trafic, il peut être plus difficile de le faire évoluer par rapport à une infrastructure traditionnelle sur laquelle vous avez plus de contrôle ;
  • limites de l'intégration : Firebase s'intègre à d'autres services de Google Cloud Platform, mais il n'est pas toujours facile de l'intégrer à des technologies non Google ;
  • fonctions de sécurité limitées : bien que Firebase comprenne certaines fonctions de sécurité, il n'offre pas un ensemble de contrôles de sécurité aussi robuste qu'une solution autogérée.


AppWrite

AppWrite est une plateforme open source basée sur le cloud qui offre une gamme d'outils et de services pour la création d'applications Web et mobiles. Elle inclut des fonctionnalités telles qu'une base de données en temps réel, l'authentification, le stockage et des fonctions sans serveur. L'une des principales différences entre AppWrite et les plateformes rivales est qu'il met l'accent sur les API. Il est donc bien adapté aux développeurs qui souhaitent créer des API ou intégrer leurs applications à d'autres API. Il est conçu pour être flexible, sécurisé et évolutif. Cependant, les utilisateurs ont relevé quelques désavantages de AppWrite que...
La fin de cet article est réservée aux abonnés. Soutenez le Club Developpez.com en prenant un abonnement pour que nous puissions continuer à vous proposer des publications.

Une erreur dans cette actualité ? Signalez-nous-la !