Développement Web low-code pour les entreprises

Quelles sont les différences entre les plateformes low-code et no code (Squarespace, WiX…) ?

3 différences principales méritent une considération particulière :

  1. Les applications générées avec les plateformes no code ne permettent pas au développeur de mettre en place des instructions conditionnées, ce qui limite la palette de fonctionnalités possibles pour l’application.
  2. Les plateformes no code n’offrent pas la possibilité au développeur d’intégrer à son application des bouts de code traditionnel, qui auraient permis de parer aux fonctionnalités non couvertes par la plateforme.

L’accès aux instructions conditionnées sur les plateformes low-code ne constitue pas forcément un avantage par rapport aux plateformes no code. De fait, l’usage des instructions conditionnées et du code personnalisé devrait être réservé aux développeurs aguerris, qui ont une expérience des mécanismes et failles de sécurité potentielles au sein d’un projet Web.

  1. L’infrastructure des applications no code sera hébergée sur un cloud public et ne pourra pas être transférée sur un cloud dédié ou une solution on-premise.

Une entreprise qui utiliserait une application no code pour recueillir ou gérer des données personnelles aurait du mal à maîtriser tous les aspects légaux prévus par le RGPD. Plus globalement, la mise en place d’une gouvernance des données sur une application no code sera toujours problématique par manque de maîtrise de l’entreprise sur le devenir réel de ses données dans un cloud public.

Quels sont les avantages du low-code par rapport au développement traditionnel ?

developer chilling out
  • Un time-to-market imbattable, du fait :

    • Des composants préconstruits qu’il reste juste à assembler ; le développeur ne perd pas de temps à taper du code HTML et CSS. Les plateformes low-code génèrent ce code de façon efficace et optimisée pour le référencement naturel SEO, selon les dernières recommandations et versions des langages de programmation.
    • D’une utilisation intuitive des plateformes low-code. Les instructions conditionnées (if/else…) sont si rapides à mettre en place qu’elles peuvent donner l’impression de s’écrire toutes seules. Une bonne plateforme low-code prévisualise en permanence et pour chaque élément de l’application quelles actions pourraient être utiles au développeur et les lui suggère dans une liste interactive. Il n’a plus qu’à cliquer pour qu’une ligne de code s’écrive.
    • De la suppression des étapes nécessaires aux tests. Le rendu est visible instantanément pour le développeur, à la fois sur la plateforme et sur une URL qu’il est possible de partager avec d’autres collaborateurs.
      Il n’y a pas de code à recompiler à chaque modification.
    • De la suppression des étapes de débug. Une bonne plateforme low-code veille en permanence au maintien de la cohérence du projet développé. Tous les éléments préconstruits sont compatibles entre eux, les opérations sur les données sont encadrées en fonction du type des variables et le code généré ne peut ni contenir des fautes de frappe, ni conduire à l’affichage d’erreurs sur le navigateur.
      Cela n’empêche pas la plupart des plateformes d’intégrer un débogueur, pour permettre au développeur d’observer l’exécution du code pas-à-pas.
    • De la possibilité de déployer en un clic l’application développée dans un environnement cloud. Les plateformes low-code proposent toutes un hébergement immédiat sur un cloud public, mais la plupart offrent aussi la possibilité d’opter pour un environnement dédié, voire une solution on-premise.
  • En fonction de sa complexité, une application low-code sera 6 à 20 fois plus rapide à produire qu’une application développée avec du code. Elle aura toutes les chances d’être livrée dans les temps.

  • Une grande flexibilité, davantage en phase avec les nouvelles méthodes de travail Agile :

    • Un projet low-code est plus facile à expliquer, plus facile à comprendre pour les collaborateurs/équipes business/clients qui pourront eux-mêmes apprendre à apporter certaines modifications après la mise en production.

      Une bonne plateforme low-code intègre la possibilité d’insérer des commentaires dans l’espace de développement pour expliquer son travail.

    • Une application low-code est plus facile à reprendre pour un nouveau développeur qui intègrerait le projet en cours de route.
    • L’avancement du projet est visible en temps réel sur une URL que le développeur peut partager avec son client, le département business, le graphiste… Les demandes de rectification peuvent se faire dès le stade de développement et seront rapides à apporter.
  • Une solution plus sécurisée :

    • Les plateformes low-code veillent à maintenir le code des applications automatiquement à jour et patchent dans les meilleurs délais toute faille qui serait découverte dans les langages utilisés. Ni le client, ni le développeur n’ont à se soucier de la maintenance.
    • Les bonnes plateformes s’assurent de la cohérence de l’ensemble de l’application, limitant le risque d’erreurs de la part du développeur.
  • Pour le développeur :

    • Le low-code permet au développeur de travailler sur davantage de projets différents au cours de sa carrière, de se consacrer plus longuement à l’amélioration de l’expérience utilisateur et d’élargir sa palette de compétences vers le rapport au client et/ou aux équipes business/graphistes.
    • Le développeur low-code perd en théorie moins de temps à se documenter et se former aux aspects techniques et peut se consacrer pleinement à l’élaboration de stratégies complexes et le développement de solutions plus créatives.
    • Le low-code semble être une étape avant-gardiste du développement Web, dans le prolongement de la tendance des frameworks à évoluer vers les modules préconstruits et le code de haut niveau. Les plateformes low-code s’améliorent chaque jour, alimentées notamment par la communauté qui développe de nouvelles fonctionnalités sous forme de plug-ins, widgets et connecteurs.
      Un développeur Web en début de carrière peut avoir intérêt à surveiller de près l’évolution et la généralisation du low-code au sein des entreprises.

Quelles sont les limites du low-code ? Quand faut-il privilégier le développement traditionnel ?



virtual reality, video games

Les projets low-code seront toujours plus rapides et moins coûteux à développer.
Cependant, les économies réalisées à l’étape de développement sont parfois rattrapées, voire dépassées à moyen terme par la nécessité de mobiliser de considérables ressources serveur auprès des plateformes low-code.

Le problème peut surtout se poser avec les plateformes qui ne proposent ni export de code, ni hébergement on-premise. Cela signifie que l’application développée est séquestrée ad vitam aeternam sur la plateforme, qui prend une commission sur les ressources que vous avez besoin d’allouer. Vous restez propriétaire de l’application et de son contenu, mais vous restez dépendant de la plateforme qui vous a permis de la créer.

Prenons un cas concret : vous souhaitez construire un Site de mise en relation de propriétaires de chinchillas avec des pet-sitters. Vous avez besoin de limiter votre investissement dans le développement de ce projet, d’autant plus que vous doutez du niveau de succès que votre service pourrait rencontrer. Vous vous tournez donc vers une plateforme low-code pour créer votre application.
Une fois l’application lancée, vous commencez à faire de la publicité en ligne, sur des groupes facebook et des forums spécialisés. Au bout de quelques semaines, votre Site enregistre ses premiers clients et dégage ses premiers bénéfices. Alors que vous atteignez des pics de plusieurs dizaines d’utilisateurs simultanés, le Site commence à c onnaître ses premières lenteurs. Parfois, le lien est carrément indisponible. Vous investissez donc dans un serveur supplémentaire auprès de la plateforme, et plusieurs autres un peu plus tard au fil de l’évolution de votre trafic.
Un jour, vous constatez que vos serveurs vous coûteraient moins cher si vous hébergiez vous-même votre application. Vous êtes satisfait.e.s d’avoir pu mettre sur pied et tester votre projet à moindre coût grâce à une plateforme low-code, mais maintenant que votre activité est lancée vous souhaitez vous passer de cet intermédiaire entre le cloud et vous.
La solution consiste alors à investir dans le développement d’une nouvelle application, en code traditionnel. Vous pouvez en profiter pour améliorer un peu votre service, en ajoutant de nouvelles fonctionnalités ou en modifiant le design. Vous allez rediriger votre nom de domaine sur la nouvelle version une fois que celle-ci sera prête et vos utilisateurs n’y verront que du feu. Vous pourrez alors résilier votre contrat avec la plateforme low-code et dégager de meilleurs bénéfices une fois que vous serez rentré.e.s dans vos frais par rapport aux coûts du développement traditionnel de votre nouvelle application.

Par ailleurs, il existe des cas où le low-code est à exclure d’office, comme par exemple :

  • Les projets de jeu en ligne
  • Les front-ends surchargés en animations
  • Les applications de réalité augmentée (AR) ou de réalité virtuelle (VR)
  • Les projets qui impliquent de l’intelligence artificielle (IA)
  • etc.