Comment Bubble peut gérer des applications à plusieurs millions d’utilisateurs ?

Lors de la BubbleCon, notre équipe interne de développeurs Bubble a partagé les meilleures pratiques qu'ils utilisent pour façonner et gérer une application qui compte plus de 3 millions d'utilisateurs.
BubbleCon-Build-Modular-Bubble

C’est le genre de scénario qui pose un bon problème : Vous avez créé une application, établi l’adéquation produit-marché, développé votre base d’utilisateurs, et maintenant… vous devez déterminer comment le développement de votre application va s’adapter à la demande.

Il n’est pas rare que la priorité soit donnée à la rapidité et au délai de mise sur le marché lors de la création des premières versions des produits technologiques. Vous voulez valider votre idée, recueillir des commentaires dès que possible et mettre rapidement votre produit sur le marché. Cela signifie parfois qu’il faut sacrifier les principes du développement logiciel responsable – l’idée étant que l’on peut revenir en arrière plus tard et nettoyer les choses lorsque l’on a plus de temps. Dans la pratique, cela peut conduire à du ruban adhésif, à des corrections de beugs inégales et à une dette technologique plutôt qu’à une application stable, bien organisée et facile à entretenir.

Comment éviter les dettes sans sacrifier la rapidité ? Lors de la BubbleCon 2023, notre équipe interne de développeurs Bubble a tenu une session exclusivement pour les participants virtuels sur la façon de construire de manière modulaire, pourquoi c’est important, et a même démontré comment Bubble applique ces principes à notre propre application web, Bubble.io.

Regardez la rediffusion ci-dessous ou continuez à lire pour le récapitulatif et les principaux points à retenir de Building Modular : Comment Bubble construit Bubble pour l’échelle, avec Nick Carroll, Senior Product Manager, en tant que modérateur et Andrew Vernon, Senior Bubble Developer, Maria Posa, Bubble Development Manager, et Sam Morgan, Bubble Developer, en tant que panélistes.

Comprendre le terme "modulaire" et pourquoi il est important

Nick a donné le coup d’envoi de la table ronde en précisant ce que signifie le terme « modulaire » : « Casser votre application en petites parties réutilisables qui peuvent être appelées ou référencées à plusieurs endroits. Cela inclut la conception, les données et les composants logiques d’une application », a-t-il expliqué.

Un exemple de technique modulaire pourrait être « un custom event qui ouvre une fenêtre contextuelle et se concentre sur une entrée ». Ce custom event représente un petit morceau d’instructions qui peut être sauvegardé, appelé et invoqué ailleurs dans votre application quand vous le souhaitez, sans avoir à recréer la logique à chaque fois que vous voulez incorporer cette fonctionnalité.

Le concept est assez simple à comprendre – mais pourquoi est-ce important ? Au fur et à mesure que les applications se développent, elles deviennent inévitablement plus complexes. De nouvelles fonctionnalités sont ajoutées, davantage de détails doivent être gérés et d’autres développeurs peuvent s’ajouter au mélange. Selon Nick, « en investissant d’emblée dans la construction modulaire, vous pouvez accompagner la croissance de manière plus gracieuse, car vous disposez d’une application mieux organisée, plus facile à maintenir et plus évolutive ».

Construire modulairement sur Bubble

L’un des principes modulaires clés du développement logiciel s’applique aussi bien au codage traditionnel qu’à l’absence de codage : DRY (Don’t Repeat Yourself).

En d’autres termes, si vous devez faire quelque chose plusieurs fois, cela vaut la peine de voir si vous pouvez transformer cette chose en un module réutilisable. Cela vous permet non seulement de construire plus rapidement, mais aussi de rendre votre application plus facile à maintenir, car vous risquez moins de faire des erreurs en reconstruisant la même chose à plusieurs endroits.

Chez Bubble, nous appelons ces modules réutilisables des éléments réutilisables. Le nom dit tout – pour reprendre les mots de Nick, « les éléments réutilisables sont la Cadillac de la construction modulaire ». Les éléments réutilisables sont des blocs de logique et d’interface utilisateur qui peuvent être insérés dans votre application en fonction des besoins.

Nick a abordé d’autres fonctionnalités clés de Bubble qui vous permettent de construire de manière modulaire, notamment les custom events, les backend workflow, les option sets et les styles :

  • Les custom events avec propriétés permettent aux éléménts réutilisables de tenir compte du contexte, ce qui les rend très flexibles et intelligents.
  • Les backend workflows peuvent être utilisés pour définir des actions spécifiques qui doivent parfois se produire sur différentes pages, comme l’automatisation d’un e-mail de bienvenue ou la mise à jour d’un champ de la base de données après qu’un utilisateur a changé d’adresse e-mail.
  • Les Option sets  constituent un gain de temps particulièrement utile pour les listes statiques et publiques, car ils permettent de définir et de référencer une liste d’éléments de manière globale.
  • Les styles peuvent sembler évidents, mais le fait de définir l’aspect et la convivialité de votre application afin de pouvoir réutiliser facilement les couleurs, les polices, le remplissage, etc. permet de garantir la cohérence du design de votre application.

L'équipe interne de développeurs de Bubble lève le voile sur Bubble.io.

Apprendre les principes de modularité et les fonctionnalités modulaires de Bubble, c’est bien, mais voir comment ces principes et ces fonctionnalités sont appliqués est une tout autre affaire.

Maria, Andrew et Sam ont chacun présenté un exemple de la façon dont Bubble incorpore la modularité dans notre propre site web. Le résultat est un site qu’une petite équipe peut facilement mettre à jour et maintenir tout en supportant trois millions d’utilisateurs.

Vous avez probablement vu des témoignages d’utilisateurs sur Bubble à un moment ou à un autre. Comme l’explique Maria, « sur Bubble.io, nous montrons des carrousels de témoignages à plusieurs endroits. Par exemple, vous pouvez les voir sur nos pages « Immerse » et « Careers ».

L’équipe de Maria a créé une page d’administration interne qui permet même aux non-développeurs de l’équipe d’ajouter, d’éditer et de mettre à jour rapidement ces témoignages.

Andrew a fait écho aux sentiments de Maria sur la construction modulaire avec des éléments réutilisables et des événements personnalisés lorsqu’il a présenté le système d’administration de contenu de Bubble. « Vous pourriez être tenté de copier et de coller la logique partout où elle est nécessaire dans votre application », a-t-il averti. « En général, la centralisation et la réutilisation de la logique existante permettent d’obtenir des applications mieux organisées et plus faciles à maintenir, ainsi qu’une meilleure intégrité des données.

L’intégrité des données est l’une des principales raisons pour lesquelles l’équipe interne de Bubble Developer adopte la modularité pour développer des expériences à grande échelle. Sam explique que la modularité permet à Bubble.io d’effectuer en permanence des tests A/B afin d’optimiser la nouvelle expérience utilisateur. « Nous utilisons une logique modulaire qui peut être appelée et réorganisée à partir de n’importe quelle itération de notre interface utilisateur, tout en obtenant des résultats cohérents malgré l’expérience de l’interface utilisateur. »

L’application de démonstration utilisée lors de la session « Construire modulaire » est ouverte et accessible à la communauté, qui peut l’explorer et en tirer des enseignements. Plongez dans l’éditeur et le mode d’exécution pour voir les pratiques modulaires de Bubble en action.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

×