-
Articles
-

Ce que vous pouvez faire et ne pas faire avec Bubble

rédigé par
Thomas Groc

Depuis ses débuts en 2012, Bubble n'a cessé de faire évoluer sa plateforme NoCode et d'affiner ses fonctionnalités, en grande partie grâce aux nombreux retours que l'équipe a recueillis auprès de la communauté.

Aujourd'hui, Bubble est une plateforme de développement NoCode full-stack qui prend en charge des projets web simples mais aussi complexes.

La liste ci-dessous décrit honnêtement ce que vous pouvez/ne pouvez pas faire avec la technologie Bubble (jusqu'à présent) afin que vous puissiez valider si c'est la plateforme la plus adaptée aux besoins de votre projet.

✔ Créer des applications Web performantes


Bubble est l'un des environnements de programmation visuelle les plus avancés pour créer des applications Web robustes. Que vous souhaitiez créer une application Web Desktop ou une application Web Responsive qui s'adapte à toutes les tailles d'écran, vous pouvez (probablement) le faire avec Bubble.

Les réseaux sociaux, les applications SaaS ou les marketplaces sont des exemples typiques d'applications web pouvant être créées avec Bubble.

L'éditeur Bubble offre une grande flexibilité qui permet aux développeurs expérimentés de réaliser des produits au pixel près avec des design très évolués.

✔ Créer des applications Progressive Web Apps (PWA)


Les applications Web progressives (PWA) apportent les fonctionnalités des applications natives sur le Web et présentent de nombreux avantages :

- Les PWAs sont facilement installables (en 1 clic avec les appareils Android), ce qui les rend accessibles depuis l'écran d'accueil comme n'importe quelle autre application. Cela est extrêmement bénéfique pour les startups ou les entreprises qui cherchent à économiser sur le coût de développement d'une application mobile native pour Android et iOS. En outre, il n'est pas nécessaire de s'inscrire au programme de développement d'Apple.

- Les mises à jour et la maintenance manuelles des applications sont des histoires du passé avec les PWAs. Comme les applications sont servies par un navigateur web, il n'est pas nécessaire de mettre à jour l'application manuellement via un store ou d'activer un paramètre pour mettre à jour l'application automatiquement.


- Les PWAs sont intéressantes pour le référencement et apportent une plus grande indépendance vis-à-vis des stores (risque de censure, commissions élevées pour les paiements in-app...).


Honnêtement, à moins que votre projet ne nécessite des fonctionnalités natives profondes (voir une liste complète des fonctionnalités disponibles dans votre navigateur web actuel ici : https://whatwebcando.today/), les applications web et les PWAs devraient faire le travail dans la plupart des cas.

Bon à savoir, il est toujours possible de transformer une application web ou PWA en une application hybride, ce qui permet de la déployer facilement sur les stores (Android Play Store et Apple Store).

✔️ Déployer une version web-view de votre application sur les stores (Apple et Android)

À ce jour, Bubble ne propose pas de solution prête à l'emploi pour les applications natives. Bien que cette fonctionnalité semble prévue dans leur feuille de route à long terme, il est toujours possible de combiner l'éditeur Bubble avec un outil de wrapping afin de publier votre application sur les stores.

Les applications déployées en web-view offrent un grand avantage pour les développeurs qui souhaitent mettre à jour leur application fréquemment car il n'est pas nécessaire de soumettre à nouveau la nouvelle version. En outre, comme les applications mobiles web-view sont alimentées par des technologies Web, elles peuvent être déployées plus facilement sur les stores Android et Apple, ce qui réduit le temps et les coûts de développement.

Aussi, les applications mobiles web-view donnent accès à davantage de permissions et de fonctionnalités natives que les applications web et les PWAs (comme l'accès aux contacts, la biométrie et la connexion intelligente...).

Il existe un excellent plugin pour transformer les applications web optimisées en applications web-view : BDK Native de Gaurav Jain. Il existe d'autres moyens (plus techniques) de créer des applications web-view en combinant Bubble avec AppGyver par exemple.

✔️ Exécuter du code personnalisé

Les capacités natives NoCode de la plateforme Bubble sont impressionnantes. En effet, Bubble offre de nombreuses fonctionnalités built-in pour créer des applications web puissantes. Mais dans certains cas, le langage visuel de Bubble n'est pas le moyen le plus adapté pour construire une fonctionnalité ou réaliser une action spécifique. Parfois, il peut être nécessaire d'étendre les fonctionnalités en créant des éléments et des actions personnalisés en plus des capacités de Bubble.

La plupart des outils NoCode du marché ne permettent pas d'étendre les fonctionnalités avec les lignes de code traditionnelles. Bubble se distingue sur ce point : il permet aux développeurs d'exécuter du code personnalisé pour étendre leur application lorsqu'ils rencontrent une limitation.

Ainsi, les développeurs peuvent créer des plugins pour écrire et exécuter du code personnalisé (Javascript) dans les applications. C'est pourquoi Bubble est parfois considérée comme une plateforme de développement LowCode.

✔️ Se connecter à des services tiers ou du hardware via les APIs

Parfois, les applications doivent collecter des données à partir de sources externes ou déclencher certaines actions (par exemple, récupérer les données d'un compte social, envoyer un e-mail transactionnel ou lire la température d'un capteur). La plateforme Bubble offre un outil puissant, l'API Connector, pour relier les applications aux systèmes logiciels externes ou aux dispositifs matériels. Techniquement, vous pouvez presque vous connecter à tout par le biais des APIs, par exemple un moteur de reconnaissance IA pour catégoriser des images ou encore un appareil IoT.

✔️ Se connecter à des bases de données externes

Par défaut, les données des applications sont lues et stockées sur les serveurs de Bubble chez Amazon AWS. L'éditeur Bubble fournit un outil, le connecteur de base de données SQL, qui permet aux développeurs de connecter les applications à des bases de données externes et d'exécuter des requêtes SQL depuis Bubble.

✔️ Scaler votre application pour soutenir votre croissance

L'évolutivité est une préoccupation régulière. Beaucoup d'entre nous se demandent si le moteur de Bubble sera suffisamment puissant pour supporter la montée en charge de leur application.

La première chose à prendre en compte est que les performances et les capacités de scaling de votre application sont fortement influencées par la façon dont l'application est construite et optimisée dans l'éditeur Bubble. Bubble étant un outil de programmation comme toute autre technologie, les développeurs doivent suivre les bonnes pratiques pour garantir des performances décentes et offrir une bonne expérience aux utilisateurs finaux. En d'autres termes, il faut un modèle de base de données bien conçu, une logique et des requêtes de base de données optimisées, et une expérience utilisateur travaillée.

Par ailleurs, l'équipe de Bubble travaille d'arrache-pied à l'amélioration de l'évolutivité et des performances (avec par exemple la sortie du nouveau moteur responsive) et propose différents plans d'hébergement (abordables) pour répondre aux besoins de performance des applications. Par défaut, votre application Bubble partage les mêmes ressources avec toutes les autres applications Bubble du cluster principal (sur les plans d'hébergement Hobby et Personal). Sur les plans supérieurs, vous pouvez disposer de plus de capacité (ce qui signifie que l'application peut effectuer plus d'actions dans une période donnée lorsque cela est nécessaire).

Si nécessaire, l'équipe Bubble propose des plans dédiés à ses clients. Dans ce cas, vous bénéficiez d'une infrastructure fonctionnant en permanence sur un serveur AWS, mais isolée des autres applications Bubble, ce qui permet d'accroître la fiabilité, la sécurité et l'évolutivité.

Bubble est une solution abordable pour démarrer un projet web avec des besoins limités. Lorsque cela devient nécessaire, il est facile de faire évoluer l'infrastructure de votre application.

✔️ Gérer les rôles, les accès aux données et de la confidentialité

Bubble est une plateforme extrêmement ouverte par rapport aux autres outils NoCode. Cela dit, il existe une infinité de façons de développer une application sur Bubble, avec parfois de mauvaises habitudes. Par défaut, toutes les données sont ouvertes au public lorsque vous créez une application Bubble. Toutefois, l'éditeur de Bubble propose quelques outils pour configurer l'accès aux données dans votre application. En effet, les règles de confidentialité donnent le pouvoir de protéger les informations et de s'assurer qu'elles accessibles de manière sécurisée.

❌ Créer des applications natives

Jusqu'à présent, la plateforme Bubble ne fournit pas de moteur spécifique pour créer et déployer des applications natives sur les stores d'applications. Alors que cela devrait être mis en œuvre à moyen/long terme, il est toujours possible de créer des PWAs mobiles ou de déployer des applications mobiles en web-view sur les stores avec certaines techniques et contournements (voir ci-dessus).

❌ Héberger une application on-premise

Bubble fournit l'hébergement à ses clients sur des serveurs cloud Amazon Web Services (AWS) ou des instances dédiées. Actuellement, il n'est pas possible d'auto-héberger une application Bubble sur un cloud externe (Azure par exemple) ou un serveur on-premise.

Cela dit, le cloud computing devient la norme et AWS est reconnu comme le principal fournisseur de cloud (>50 % de part de marché), en termes de performance et de sécurité.

❌ Exécuter d'autres langages que Javascript

Il est vrai que les développeurs Bubble peuvent étendre les fonctionnalités d'une application avec du code personnalisé. Mais seul le langage Javascript est pris en charge.

Le moteur central de Bubble est écrit en langage Javascript. À ce jour, les développeurs ne pourront utiliser Javascript que pour construire des intégrations personnalisées au-dessus de Bubble.

❌ Développer des algorithmes complexes

Le langage visuel de Bubble n'est pas l'outil le plus approprié pour développer des algorithmes complexes, notamment des opérations récursives ou des boucles sur les données. Comme meilleure option, les développeurs peuvent utiliser ou écrire des algorithmes personnalisés en dehors de Bubble (hébergés sur Amazon Lambda par exemple) et les utiliser en passant les données à travers une API (par exemple un algorithme d'apprentissage automatique).

❌ Créer des jeux vidéo (avancés)

Ne vous attendez pas à créer et à exécuter des jeux 3D ou de plateforme complexes avec le moteur Bubble... même si certains utilisateurs de la communauté Bubble ont réussi à créer de petits jeux qui valent la peine d'être essayés, comme The Legend of Zeldinia par J805 ou Pizza Mania par Landowski.

❌ Exporter le code source

Les applications Bubble ne peuvent être exécutées que sur la plateforme Bubble. Ce modèle propriétaire est justifié par le modèle économique de Bubble. Ainsi, vous ne pouvez pas exporter le code source de votre application. Si vous décidez de partir de l'environnement Bubble, vous devrez reconstruire la logique de l'application sur un autre langage. Vous ne pourrez exporter que les données de l'application et le code personnalisé que vous avez ajouté en surcouche de Bubble.

La question à laquelle il faut réfléchir est la suivante : pourquoi devriez-vous quitter Bubble ?