4 sept, 2020 – 7 min lu

Depuis ses débuts en 2012, Bubble n’a cessé de faire évoluer sa plateforme low-code 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 full-stack qui prend en charge des projets logiciels importants et complexes.

En tant qu’agence Bubble, on nous pose souvent des questions sur les capacités de la plateforme.

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.

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 de bureau ou réactive qui s’adapte à toutes les tailles d’écran, vous pouvez (probablement) le faire avec Bubble.

Les exemples typiques d’applications qui peuvent être grandement construites sur Bubble sont les réseaux sociaux, les produits logiciels en tant que service (SaaS) ou les places de marché.

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 designs complexes et des exigences réactives.

✔️ Construire des applications Web progressives (PWA)

Comme nous avons présenté la nouvelle dans notre dernier article Medium, notre équipe a construit une application Web installable (PWA) sur la plateforme Bubble. Fondamentalement, il s’agit d’un clone minimaliste de l’application Uber, déployé en quelques jours avec un mélange 100% No-Code + Code.

Les applications Web progressives (PWA) apportent des fonctionnalités d’applications natives à travers le web et présentent de nombreux avantages :

  • Les PWA sont facilement installables (1-clic avec les appareils Android), ce qui les rend accessibles depuis l’écran d’accueil comme n’importe quelle autre application. Ceci est extrêmement bénéfique pour les start-ups ou les entreprises qui cherchent à économiser sur le coût de développement d’une application mobile native pour Android et iOS. En outre, une adhésion au programme de développement d’Apple ne sera pas nécessaire.
  • Les mises à jour et la maintenance manuelles des applications font partie du passé avec les PWA. Puisque les applications sont servies par un navigateur Web, il n’est pas nécessaire de mettre à jour l’application manuellement via un magasin d’applications ou d’activer un paramètre pour mettre à jour l’application automatiquement.
  • Les PWA sont de petite taille par rapport à leurs homologues natifs. Les PWA permettent aux utilisateurs de les ajouter de manière transparente à leur écran d’accueil, et comme la taille de l’application est minime, il n’y a pas de temps d’attente pour que l’utilisateur commence/continue à utiliser une PWA.
  • Les PWA sont excellentes pour le référencement et apportent plus d’indépendance par rapport aux magasins d’applications (risque d’interdiction, 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 : ttps://whatwebcando.today/), les applications web et les PWA qui  » sentent  » le natif devraient faire le travail dans la plupart des cas.

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

✔️ Construire des applications mobiles hybrides

À ce jour, Bubble ne propose pas de solution prête à l’emploi pour les applications natives. Bien que ce projet semble être prévu dans leur feuille de route à long terme, il est toujours possible de créer des applications mobiles hybrides avec l’éditeur Bubble en enveloppant les applications Web et en les publiant sur les magasins.

Les applications hybrides 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 hybrides sont alimentées par des technologies web, elles peuvent être déployées sur les magasins Android et Apple plus facilement, ce qui réduit le temps et les coûts de développement.

En outre, les applications mobiles hybrides donnent accès à plus de permissions et de fonctionnalités natives que les applications web et les PWA (comme les contacts, la biométrie & Smart Login…).

Il existe un excellent plugin pour transformer les applications web optimisées en applications natives : BDK Native de Gaurav Jain.

✔️ Exécuter du code personnalisé

Les capacités natives sans code de la plateforme Bubble sont impressionnantes. En effet, Bubble fournit de nombreuses fonctionnalités natives pour construire des applications web puissantes. Mais dans certains cas, le langage visuel 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 par-dessus les capacités de Bubble.

La plupart des outils no-code ne permettent pas d’étendre les capacité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) à l’intérieur des applications. Cela dit, il y a peu de chances que vous rencontriez une limite dure dans vos projets. C’est pourquoi nous préférons parler de Bubble comme d’une plateforme Low-Code, car il est possible d’ajouter du code pour améliorer votre application.

✔️ Se connecter à des services et du matériel externes grâce aux API

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 plate-forme Bubble offre un outil puissant, le connecteur API, qui permet de relier les applications à des systèmes logiciels ou des dispositifs matériels externes. Techniquement, vous pouvez presque vous connecter à tout par le biais d’API, comme un moteur alimenté par l’IA pour classer un ensemble massif d’images ou contrôler 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 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.

✔️ Faire évoluer l’application au fur et à mesure que l’entreprise se développe

L’évolutivité est une préoccupation régulière. De nombreux fondateurs se demandent si le moteur Bubble sera suffisamment puissant pour supporter la montée en charge de leur app.

Première chose à considérer, les performances et les capacités de mise à l’échelle sont fortement impactées par la façon dont l’app est construite et optimisée sur l’éditeur Bubble. Comme Bubble est 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, ainsi qu’une expérience utilisateur fonctionnelle.

D’autre part, l’équipe de Bubble travaille dur pour améliorer l’évolutivité et les performances 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 informatiques avec toutes les autres applications Bubble (sur les plans d’hébergement Hobby et Personal). Sur les plans supérieurs, vous pouvez disposer d’une plus grande capacité (cela signifie que l’app 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 toujours sur un serveur AWS, mais isolée des autres applications Bubble qui conduisent à une fiabilité et une évolutivité accrues.

Bubble est une solution abordable pour démarrer un projet logiciel avec des besoins informatiques limités. Lorsque cela devient nécessaire, il est facile de faire évoluer l’infrastructure de votre app, pour un prix équitable.

✔️ Gérer l’accès aux données et la confidentialité

Bubble est une plateforme extrêmement ouverte par rapport aux autres outils no-code. 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. Cependant, 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 sont en sécurité.

❌ Construire des applications natives

La plateforme Bubble ne fournit pas jusqu’à présent un moteur spécifique pour construire et déployer des applications natives sur les magasins d’applications. Alors que c’est quelque chose qui devrait être mis en œuvre à moyen/long terme, il est toujours possible de construire des PWA mobiles ou de déployer des applications mobiles hybrides sur les magasins avec certaines techniques et contournements (voir ci-dessus).

❌ Héberger une application sur un serveur privé ou sur site

Bubble fournit l’hébergement pour 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 service d’hébergement privé ou un serveur sur site.

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 en boucle 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 intelligents de 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 du code

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 une application sous forme de code. Si vous décidez de quitter la plate-forme Bubble, vous devrez reconstruire la logique de l’application (sans code). Vous ne pourrez exporter que les données de l’application et le code personnalisé que vous avez ajouté au-dessus de Bubble.

Question à laquelle il faut réfléchir : pourquoi auriez-vous besoin de quitter Bubble ?

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.