Articles

Que fait un développeur 1С ?

Les développeurs 1С créent des applications à l'aide de la plateforme 1C:Enterprise. Aujourd'hui, nous verrons en quoi le codage dans 1C:Enterprise est différent du codage dans d'autres langages populaires, et ce qu'un développeur 1C gère au quotidien.
Expertise requise
Il y a un seuil d'entrée relativement bas pour le développement 1C. La plate-forme 1C:Enterprise fournit à un développeur un ensemble de classes de métadonnées de haut niveau, chacune représentant une entité d'application métier spécifique, comme un document, un catalogue, un registre comptable, un registre de paie, etc. Chaque classe de métadonnées est entièrement fonctionnelle dès le départ et est livré avec sa propre structure de données, sa propre logique de traitement des données et son UX/UI.
Pour développer à l'aide de la Plateforme, vous devez connaître votre logique métier (comptabilité, ventes, paie, etc.) et savoir comment la mapper aux classes 1C:Enterprise. Ce que vous n'avez pas besoin de savoir, c'est comment implémenter le reste - quelles tables utiliser, comment lire et écrire des données, comment les montrer aux utilisateurs et comment traiter les entrées des utilisateurs.
En créant simplement des objets de métadonnées (hérités des classes de métadonnées Platform et en dérivant leurs propriétés et comportements), vous obtiendrez une application ou un prototype entièrement fonctionnel (bien qu'assez simple), sans écrire une seule ligne de code.
Par conséquent, c'est très différent des langages traditionnels même de haut niveau comme JavaScript ou Python où tout commence par l'écriture de code et se termine par l'écriture de plus en plus de code.
Voici ce qu'un développeur 1C ne fait normalement pas :
se soucier de la structure des données, de l'intégrité des données et du traitement transactionnel ;
développer des versions distinctes pour le client natif, le client navigateur et le client mobile ;
développer une version distincte pour différents systèmes d'exploitation ;
refactorisez le code ou modifiez la structure de la table lors de la migration vers un autre SGBD.
Toutes ces tâches sont couvertes par la fonctionnalité standard 1C, de sorte que le programmeur n'a même pas besoin de savoir comment les gérer.

Comparer les approches
Lorsque vous développez une application 1C:Enterprise, vous commencez généralement avec un prototype sans code et, pour des applications très simples et standard, vous pouvez même vous en sortir sans jamais écrire de code. Ensuite, vous passez à l'étape MVP de votre application, en commençant à ajouter des quantités modérées de code ici et là pour modifier le comportement par défaut de l'application. Cette approche low-code pourrait très bien s'avérer suffisante pour votre application si elle est relativement simple et n'implique rien d'inhabituel.
Si votre client a besoin de quelque chose de très complexe et/ou peu orthodoxe, vous utilisez le code complet et utilisez un puissant langage de script 1C qui vous parle toujours en termes commerciaux et essaie de vous cacher autant de détails de bas niveau que possible. C'est l'un des langages de programmation les plus avancés avec une syntaxe ressemblant à celle de JavaScript.
La plupart des manipulations sont effectuées avec des objets et des formulaires préconfigurés, le développeur 1C doit donc bien connaître les exigences métier et comprendre la logique métier du projet. De nombreuses tâches de programmation standard telles que la création d'interfaces ou le choix entre différents frameworks et bibliothèques sont éliminées.
Lorsque l'on compare une approche 1C et une approche traditionnelle de développement de logiciels, la première peut être comparée à la construction d'une maison en blocs, tandis que la seconde ressemble davantage à la construction d'une maison en briques et à la fabrication de ces briques en même temps. La principale conséquence de ceci est la quantité d'efforts et de temps nécessaire pour développer un produit fonctionnel.
Par exemple, lors du démarrage d'un projet, un développeur Java ou Python peut passer quelques semaines à préparer l'infrastructure du projet et à choisir la pile technologique optimale. Un développeur 1C peut sauter cette étape car la plate-forme 1С:Enterprise est déjà entièrement configurée pour le développement et il n'est pas nécessaire de choisir des outils.
Avec l'approche traditionnelle, la phase de développement et de test peut durer des mois avant qu'un MVP puisse être présenté au client. Le développeur 1C peut créer un produit fonctionnel beaucoup plus rapidement car il n'est pas nécessaire de créer des composants à partir de zéro et de prendre des décisions en matière d'infrastructure.
Lorsqu'il s'agit de faire évoluer le système ou de l'adapter à divers appareils et plates-formes, la plate-forme 1C est également bien équipée : le développeur n'a pas besoin de modifier manuellement le code ou d'ajouter quoi que ce soit, à l'exception peut-être de modifications mineures. Dans l'approche de développement traditionnelle, la migration vers un SGBD différent peut être un processus compliqué, et beaucoup d'optimisation du code peut être nécessaire à mesure que la charge du système augmente. En outre, si vous décidez d'ajouter une version mobile d'une application, vous devrez probablement la développer à partir de zéro, tandis qu'avec 1C, vous pouvez simplement exécuter la même application dans notre client mobile et elle sera automatiquement adaptée au plus petit écran. taille et UX/UI mobile spécifique.

Limites
Aussi attrayant que cela puisse paraître, les solutions 1C présentent certaines limites.
Le premier est un champ d'application relativement étroit. 1C est le mieux adapté au développement d'applications commerciales telles que les systèmes ERP, BI et BPM. Si vous avez besoin d'une application de contrôle de missiles en temps réel ou d'un jeu mobile, mieux vaut choisir une autre solution.
Deuxièmement, alors que 1C permet un processus de développement rapide et simple, il y a moins de flexibilité en termes de fonctionnalité et de conception. Par exemple, il existe certaines limitations à la modification des schémas de couleurs, des polices ou des apparences visuelles de l'interface. Parfois, cela peut être un problème.
Dernières pensées
La sélection de la plate-forme 1C:Enterprise pour votre pile technologique vous permettra de créer un système commercial à part entière qui répondrait parfaitement aux besoins de votre entreprise. Contrairement à une approche de développement traditionnelle, la programmation 1C donne des résultats rapides et tangibles et ne nécessite pas beaucoup de formation de la part d'un développeur. Malgré certaines limitations, il s'agit d'un moyen optimal de créer des applications commerciales hautement personnalisées, adaptatives, multiplateformes et facilement évolutives.