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 !

Seuls 7 % des développeurs sont susceptibles d'utiliser des outils low-code ou no-code pour entamer un projet d'application web en 2022, d'après un sondage :
Quel avenir pour ces outils ?

Le , par Patrick Ruiz

38PARTAGES

13  0 
Seuls 7 % des développeurs sont susceptibles d’utiliser des outils low-code ou no-code pour entamer un projet d’application web en 2022. C’est ce qui ressort d’un sondage sur un échantillon de 191 développeurs de 60 pays. Quel avenir pour ces outils pourtant annoncés comme le futur de la filière du développement web ? Écriture de code à la main ou utilisation d’outils low-code ou no-code : de quel bord êtes-vous ?

La majorité des répondants est susceptible de mettre sur pied une application web en écrivant le code à la main. Le nombre de développeurs à même de s'appuyer uniquement sur les outils low-code ou no-code demeure très faible : un peu plus de 6 %. La majorité (66 %) préfère encore l'écriture classique du code. 22,3 % sont susceptibles de combiner les deux méthodes et 4,8 % ont recours à des services professionnels.


Toutefois, les développeurs débutants sont les plus susceptibles d'opter pour ces outils : seuls 45 % d'entre eux préférant écrire du code. Les ingénieurs ayant plus de 10 ans d'expérience ne sont que 2 % à préférer les outils low-code ou no-code. Ces chiffres tombent dans un contexte où le low-code ou no-code apparaît chaque jour comme un danger pour les travailleurs de la filière du développement d’applications. En effet, d’après des données de Gartner, 80 % des produits et services technologiques seront construits par des personnes qui ne sont pas des professionnels de la technologie. Gartner s'attend également à voir davantage d'annonces de lancements de technologies par des entreprises non technologiques faire la une des médias au cours de cette année. Et d'ici 2042, plus d'un tiers des fournisseurs de technologies devraient être en concurrence avec des fournisseurs non technologiques.

Le no-code est le futur de la filière programmation de logiciels, d’après le fondateur de la startup Bubble spécialisée dans la fourniture d’outils no-code destinés aux professionnels extérieurs à la filière informatique et désireux de concevoir et de créer des applications web. « Le no-code est le futur de la filière programmation parce que les programmeurs sont toujours plus productifs lorsqu'ils travaillent au bon niveau d'abstraction pour le problème qu'ils essaient de résoudre », lance-t-il comme raison pour laquelle les professionnels de la filière doivent soutenir les outils no-code. La question divise néanmoins dans le milieu sur des aspects comme la maintenance des logiciels produits à partir d’outils no-code.

L’intégralité du positionnement du fondateur de la startup Bubble

La plupart des ingénieurs logiciels adorent coder (citation nécessaire), aussi une technologie appelée "no-code" suscite-t-elle généralement et de manière compréhensible un désintérêt ou une aversion.

C'est dommage, car le no-code a le potentiel d'améliorer de façon massive la vie quotidienne des programmeurs. De puissants environnements de développement intégrés (IDE) comme Visual Studio Code accélèrent considérablement la productivité des programmeurs. Ils permettent d'organiser, de vérifier le type et de refactoriser le code et peuvent faire gagner d'innombrables heures de travail. Le no-code va encore plus loin. Au lieu que l'environnement de développement intégré soit construit au-dessus d'un langage existant, l'environnement de développement intégré est le langage.

Le no-code est en fait l'une des choses les plus excitantes de la filière ingénierie en ce moment. Être capable d'assembler une interface utilisateur en quelques minutes sans tâtonner avec les CSS*? C'est merveilleux. Être capable de mettre en place une logique d'entreprise sans se soucier de l'emplacement des données ou de la syntaxe ? Incroyable. Ne plus jamais avoir à écrire de logique CRUD sur plusieurs couches de la pile*? Le paradis.

Étant donné que le terme "no-code" est désormais à la mode et qu'il est utilisé de manière approximative, je vais vous proposer une définition. Le no-code est :

  • un langage de programmation ...
  • ... couplé à un environnement de développement...
  • ... pour offrir un plus haut niveau d’abstraction que la précédente génération de langages de programmation à usage général (Javascript, Python, Ruby, Java, etc.)

Allons maintenant dans le détail de chacune de ces composantes :

Le no-code, c'est de la programmation

On croit souvent à tort que l'absence de code n'implique pas de programmation. Malgré son nom, le no-code ne s'oppose pas à la programmation traditionnelle. Il s'agit plutôt de la continuation naturelle des tendances qui ont débuté avec l'invention du FORTRAN dans les années 1950.

Les outils no-code sont souvent confondus avec les créateurs de sites web et les systèmes de gestion de contenu tels que SquareSpace ou WordPress, mais ces outils existaient bien avant le no-code. Contrairement à ces outils, les langages sans code modernes tels que Bubble sont complets au sens de Turing et nécessitent le même type de logique de programmation que le codage. Programmation (communication précise de la logique à un ordinateur) <> code (communication précise et textuelle de la logique à un ordinateur).

Le no-code fusionne le langage avec l'IDE

Les IDE analysent le code en arbres syntaxiques abstraits qui sont la forme logique réelle du langage. Les IDE sans code sautent l'étape d'analyse et permettent de modifier directement l'arbre syntaxique abstrait. L'interface utilisateur de l'IDE devient la représentation canonique du programme.

Lorsque vous faites de la représentation canonique d'un programme l'interface utilisateur de l'EDI plutôt qu'un fichier texte, cela ouvre de nouvelles possibilités. Votre EDI peut rendre chaque partie du programme de la manière la plus naturelle possible. Par exemple, les sites web et les applications peuvent être rendus et modifiés visuellement. Vous pouvez commencer à vous poser la question suivante : quelle est la meilleure expérience utilisateur pour cette fonctionnalité particulière du langage ?

Le no-code offre un plus haut niveau d'abstraction

La progression naturelle de la programmation est passée des langages de bas niveau, qui offrent un accès brut au matériel informatique sous-jacent, aux langages de plus haut niveau, qui font abstraction des détails qui ne sont pas essentiels à l'intention du programmeur. Le langage assembleur, dans lequel il faut comprendre les subtilités de la conception des puces, se situe au bas de l'échelle. Les langages à ramassage d'ordures, comme Python ou Java, se trouvent tout en haut : en travaillant en Python, vous n'avez pas à penser à l'allocation et à la désallocation de la mémoire comme vous le faites en C.

Avant l'avènement du no-code, la progression de la couche d'abstraction des principaux langages de programmation était au point mort. Au lieu de cela, les programmeurs utilisaient des cadres spécifiques à un domaine au-dessus des langages généraux pour obtenir des gains de productivité. Dans le domaine du développement web et mobile, la montée en puissance de React sur le front-end et de frameworks comme Express sur le back-end ont constitué les prochaines frontières de l'abstraction.

Cependant, la programmation dans un framework web "moderne" reste incroyablement complexe par rapport à la simplicité de ce que vous essayez réellement d'exprimer, qui est généralement une interface utilisateur, une certaine logique métier, des requêtes backend et une connectivité avec d'autres services. Entre autres choses, vous devez vous préoccuper :

  • des subtilités de HTML + CSS et comment elles diffèrent selon les navigateurs ;
  • de la communication navigateur-serveur : quelles données vivent où, combien de temps il faut pour que les données passent du backend au frontend, et les protocoles utilisés pour transmettre les données (websockets, http, JSON, etc) ;
  • des schémas de base de données, migrations, indexation et performances ;
  • de l'hébergement et des DevOps.

.

Lorsque vous créez des applications dans un langage conventionnel, vous vous retrouvez à faire la même chose encore et encore : créer des formulaires d'inscription et de connexion, écrire la logique de validation de l'interface utilisateur, mettre en place l'hébergement et les pipelines CI/CD, écrire le modèle ORM, exécuter les migrations de base de données et des centaines d'autres tâches qui ont été faites encore et encore par des programmeurs précédents.

Les langages no-code font abstraction de tout cela. Étant donné que les IDE no-code sont totalement libres de représenter les concepts de la manière la plus facile à utiliser, ils sont parfaits pour les langages spécifiques à un domaine : le langage lui-même peut être adapté à chaque domaine problématique que vous souhaitez aborder.

La contrepartie de cet avantage est la généralité. Les langages sans code ne sont pas aussi polyvalents qu'un langage comme Python, mais pour la grande majorité des projets, c'est un bon compromis. La plupart des travaux de programmation se déroulent dans un domaine bien défini, comme le développement web, alors pourquoi ne pas utiliser un langage spécialisé à cet effet ?

Parfois, lorsque vous travaillez dans un langage de plus haut niveau comme Python, vous avez besoin de descendre à un langage de plus bas niveau comme le C. Vous devez peut-être écrire une logique critique en termes de performances qui bénéficie du contrôle d'exécution détaillé que le C vous offre par rapport à Python. Python résout ce problème en vous permettant d'envelopper du code C dans une fonction Python.

De même, les langages sans code vous permettent de vous rabattre sur des langages à usage général lorsque cela est nécessaire. (Les langages construits en partant du principe que vous ferez souvent cela sont souvent appelés "low-code". Par exemple, dans Bubble, vous pouvez écrire de nouveaux composants en Javascript qui se comportent alors comme des composants natifs de Bubble. Les langages sans code interagissent souvent avec les langages traditionnels en utilisant des API : Bubble vous permet de publier une API à partir de votre application et de vous connecter à des API créées dans d'autres langages.


Les points qui fâchent avec le no-code, d’après l’architecte logiciel Hosk

Le cauchemar de la maintenance des logiciels low-code

Selon Hosk :

  • la création d'un logiciel est rapide, mais la maintenance dure des années et est plus coûteuse ;
  • les logiciels créés par des développeurs citoyens vont créer une dette technique à grande échelle ;
  • la création de nombreuses petites applications va créer un cauchemar de maintenance au sein de la filière informatique ;
  • les frais généraux de maintenance ne cesseraient d'augmenter : « C'est comme si vous deviez maintenir des centaines de feuilles de calcul Excel avec des formules, un mauvais nommage, aucune cohérence et peu de documentation » ;
  • les outils de développement low-code devraient être maintenus par des personnes compétentes en matière de low-code, qui se spécialiseraient dans ces compétences. Les équipes informatiques devraient se perfectionner dans les outils de développement low-code, ce qui augmenterait les coûts.

Les logiciels low-code ne peuvent pas gérer la complexité

Hosk estime que les outils de développement low-code sont excellents pour créer de petites applications indépendantes, mais ils ont du mal à répondre aux exigences complexes : « À moins que le monde ne s'oriente vers des exigences simples, les logiciels low-code ne remplaceront pas 80 % de tous les logiciels créés. Le pouvoir du code est de créer des logiciels complexes conçus pour fonctionner exactement comme les entreprises et les systèmes le souhaitent. Il sera donc difficile de créer des logiciels complexes avec de nombreux développeurs travaillant en même temps avec des outils low-code. »

Les problèmes de sécurité et de données liés au low-code

Hosk est d’avis que pendant que les services informatiques se familiarisent avec les nouveaux outils low-code, il y aura des violations majeures de la sécurité parce que personne n'a compris comment verrouiller les outils de développement low-code. En sus, il faut du temps pour comprendre les nouveaux outils et créer les meilleures pratiques pour s'assurer qu'il n'y a pas de failles de sécurité ou de problèmes de données. La puissance des outils low-code serait que vous pouvez vous connecter aux médias sociaux comme Twitter, Facebook et d'autres systèmes et les données de l'entreprise peuvent se retrouver sur Internet.

Le low-code et le battage médiatique

Hosk entrevoit une explosion de la création d'applications low-code, mais aussi une augmentation de la demande de professionnels pour les besoins en maintenance et formation. Le développement low-code ne signera-t-il pas la fin des développeurs ou du code selon ce schéma : augmentation de la popularité, création de nombreux logiciels low-code ; problèmes de maintenance des logiciels low-code ; les développeurs créeront des centres d'excellence et guideront les développeurs citoyens vers les meilleures pratiques ;
le low-code sera utilisé pour de petites applications, pas pour tout le développement de logiciels exigeants.

L'avenir du développement d'applications est hybride

Selon Hosk, les compétences des développeurs ne se limitent pas à l'écriture du code. Les développeurs sont des professionnels ayant des années d'expérience et de bonnes pratiques conçues pour créer des logiciels faciles à maintenir. Par contre, les développeurs citoyens et les équipes informatiques devraient constater que les logiciels low-code créés par des développeurs citoyens seront difficiles à prendre en charge, à maintenir et à étendre. C'est la raison, selon l’architecte logiciel, pour laquelle la révision du code par des développeurs expérimentés existe. Cela empêche la création de code de mauvaise qualité :

« Vous pouvez donner des outils de bricolage aux gens, mais cela ne fait pas d'eux des experts en bricolage, comme le montrent de nombreuses améliorations de la maison. Les améliorations apportées à la maison par des développeurs citoyens fonctionnent à court terme, mais il s'agit de lacunes à court terme qui finissent par être corrigées. »

Enfin, Hosk pense que les développeurs de logiciels ne seront pas remplacés, mais ils devraient être recyclés pour utiliser des outils low-code pour créer des logiciels : « Pour que les outils low-code soient efficaces, ils devront être créés en utilisant les meilleures pratiques, le déploiement, les revues de code et d'autres activités des développeurs professionnels. Le développement de logiciels low-code continuera à se développer, mais les exigences complexes et les grands systèmes dépasseront les capacités des outils low-code. À l'avenir, les outils de développement low-code créeront jusqu'à 50 % des applications et les solutions seront un mélange de low-code et de code.*»

Sources : sondage, Bubble, Hosk

Et vous ?

Les chiffres de ce sondage collent-ils avec la réalité dont vous êtes au fait ?
Que pensez-vous des outils no-code et low code ? Lequel de ces avis colle le plus avec le futur de la filière programmation que vous entrevoyez en lien avec ces outils ?
Partagez-vous l’avis selon lequel l’avenir de la filière développement de logiciels est hybride ?

Voir aussi :

80 % des technologies pourraient être créées par des professionnels extérieurs à l'informatique d'ici 2024, grâce aux outils low-code, selon Gartner

Forrester : l'utilisation des plateformes de développement low-code gagne du terrain dans les processus de transformation numérique des entreprises

Le marché mondial des technologies de développement low-code va augmenter de 23 % en 2021, selon les prévisions de Gartner

Microsoft lance Power Fx, un nouveau langage de programmation low-code open source basé sur Excel

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

Avatar de el_slapper
Expert éminent sénior https://www.developpez.com
Le 17/06/2022 à 10:36
Citation Envoyé par grunk Voir le message
Pour moi le no-code c'est une excellente chose. Ca permet de se débarrasser des projets sans intérêts et à faible valeur ajoutée qui peuvent du coup être réalisés par des personnes peu ou pas technique.
Tant qu'on récupère pas la merde ensuite c'est parfait.
En gras la partie importante. On finit toujours par récupérer la merde, 10, 15, 20 ans plus tard.
6  0 
Avatar de NaSa
Membre actif https://www.developpez.com
Le 17/06/2022 à 8:34
No-code, Low-code ce n'est pas nouveau, cela existe depuis longtemps, par exemple à travers les outils de bureautique (Access, Excel)
Quand il s'agit de gérer un simple formulaire cela répond au besoin.

Cela permet aussi d'éliminer un peu de shadow it, mais nécessite d'encadrer fortement ces 'citizen developers'. (Cycle de vie des applications, respect de la réglementation comme la RGPD, protection des données de l'entreprise etc...)

J'ajouterais que ces plateformes propriétaires enferment un peu plus les utilisateurs qui se retrouvent pieds et poings liés avec l'éditeur pour quelques années (bonjour la dette technique)

Et dès qu'il y a besoin d'une fonctionnalité qui vous oblige à sortir de ces plateformes, allez expliquer aux décideurs qu'il faut xxxxxx jours pour reprendre en développement traditionnel une application low-code/no-code
5  0 
Avatar de grunk
Modérateur https://www.developpez.com
Le 17/06/2022 à 9:20
Pour moi le no-code c'est une excellente chose. Ca permet de se débarrasser des projets sans intérêts et à faible valeur ajoutée qui peuvent du coup être réalisés par des personnes peu ou pas technique.
Tant qu'on récupère pas la merde ensuite c'est parfait.
4  0 
Avatar de diamondsoftware
Membre habitué https://www.developpez.com
Le 17/06/2022 à 14:29
No code/Low code?

eh bien ça existe depuis longtemps avec des outils styles: 4D, Omnis Studio, Windev, etc... et qui permet en plus de faire du 'vrai' code au cas où...

Oui je sais que les puristes des langages C,C++, etc.. vont dire que ce genre d'outil ne fait pas du 'vrai 'code...

Attention au battage médiatique sur le low/no code, l'article est un peu biaisé car c'est une compagnie qui vend un outil low/no code...

Ils ne vont pas descendre ce qui les fait vivre....

A quand un vrai article comparatif et critique sur les différents modèles de création de software...

Dans mon cas je bosse sur Windev depuis 1994, et malgré certains problèmes marketing et limites, c'est un formidable outil 'Low/High code' pour mes besoins et ceux de mes clients.

J'ai et je développe des logiciels hyperstables et hyperévolutifs qui satisfont mes clients. on peut être hyperréactif avec en cas de demande de modification/amelioration/correction de bug...

sur des petits projets comme de très gros projets (+/- 350000 lignes de code) Certains logiciels fonctionnent parfaitement depuis plus de 20 ans avec de constantes évolutions et aucun problème de compatibilité et/ou d'obsolescence programmée...

C'est ce qui compte pour le client en fin de compte.

Je précise que je n'ai pas d'action chez eux et que je déteste leur méthode marketing qui desserve le produit. Mais bon c'est manifestement leur choix.

J'utilisais aussi 4D et Omnis qui était géniaux.

Mon commentaire n'engage que moi et bien sûr chaque programmeur/createur à ces outils préférés. C'est d'ailleurs ce qui compte: la maitrise de son/ses outils de conception pour satisfaire ces clients.
S.
3  0 
Avatar de redcurve
Membre extrêmement actif https://www.developpez.com
Le 17/06/2022 à 8:20
Magnifique pour ce retrouver avec des gens qui ne savent plus ce qu'ils font. Quand faudra résoudre un bug risque d'être drôle. Je ne parle même pas d'optimisation.
2  0 
Avatar de der§en
Membre éclairé https://www.developpez.com
Le 17/06/2022 à 9:08
Le low-code (ou on-code), dans les années 90, ils y a eu des tentatives dans la finances, et tous ceux que j’ai vu, on fini en eaux de boudins !

Pour développer, on gardera l’humain, et on l’épaulera avec des IA…
2  0 
Avatar de smarties
Membre émérite https://www.developpez.com
Le 17/06/2022 à 9:32
Si je devais un jour utiliser du low code ça serait pour quelque chose ultra simple (1-2 fonctionnalités basiques)

Cependant, avec Python ou d'autres langages + des framework et/ou des bibliothèques on irait aussi vite que du low code car pour se former sur l'outil de low code, il faudrait du temps.
Maintenant on peu très rapidement sortir avec Python + Flask une mini appli web en très peu de temps ! Pour la partie GUI native, je connais moins.
2  0 
Avatar de Rep.Movs
Membre habitué https://www.developpez.com
Le 20/06/2022 à 9:18
Développer un appli Web, c'est toujours le mal. En 2000 ça m'ennuyait vu le temps qu'on passait sur les pages, en 2020 j'avais l'impression qu'on n'avait pas évolué.
Faire de l'assembleur, pour moi, c'est infiniment plus simple que de faire du Web dans lequel on doit connaître au moins 4 langages et 3 outils, et avec des débuggeurs qui n'ont pas forcément toutes les fonctionnalités des débuggeurs des années 80.

Le low code n'est par ailleurs pas récent, avant Access, même en mode texte on avait des outils comme Super DBase, capable de faire formulaire + stockage des données. N'en déplaise à certains, ces outils restent infiniment plus utilisables que certains outils "no code".

Le "low/no code" est nécessaire pour les applis web, du fait de l'intrication des éléments (HTML pour la structure, mais avec des éléments dédiés au déclenchement de comportement, CSS pour la présentation et une partie du comportement, JS pour le comportement et une partie de la présentation, le langage côté serveur et ses librairies pour le côté architecture/sécurité).

Par ailleurs, l'implémentation systématique de certains éléments qui étaient relativement facile en RAD est un peu lourde en HTML (accessibilité, polyphonie).

Par contre, actuellement, aucun low code/no code ne m'a convaincu. Trop limités, impossible de faire des choses qu'on faisait en VB6 dans les années 90, bugs sur des fonctionnalités (boîtes de dialogue notamment, problèmes de mise en forme entre les navigateurs, de lisibilité ou impossibilité d'implémenter le RGAA)
2  0 
Avatar de smarties
Membre émérite https://www.developpez.com
Le 21/06/2022 à 15:27
En tant que développeur on a généralement besoin :
- d'un éditeur de code (VSCodium me suffit) qui vérifie continuellement la syntaxe
- un explorateur de bases de données
- un éditeur WYSIWYG mais on s'en sort sans et avec le CSS de toute façon ça ne sert pas à grand chose
- un terminal (même si je fais des jeux de test je fais aussi des print dans mon terminal )
- avoir le choix d'un thème clair/sombre sur nos outils

La cible des outils low code est selon moi essentiellement gens qui ne sont pas développeur de formation à qui on vend que c'est facile de faire un logiciel.
Le jour où la société éditrice de la solution low code arrête son produit on se retrouve avec un logiciel qui va devenir impossible à maintenir, figer avec les technologies de son époque (pas de nouveaux connecteurs par exemple)
2  0 
Avatar de jpouly
Membre confirmé https://www.developpez.com
Le 23/06/2022 à 20:18
Commit Strip a déjà traité de ce sujet



https://www.commitstrip.com/fr/2020/10/07/the-no-code-dream/?
1  0