Programmation dans un monde low-code

Passer au contenu principal

Programmation dans un monde low-code

Programmation dans un monde low-code

Le low-code rationalise le développement de logiciels pour les programmeurs et les ingénieurs logiciels. Cadre low-code simplifie les processus en réduisant les tâches redondantes et banales. Les développeurs peuvent créer, tester et livrer des versions avec facilité en utilisant des plateformes low-code telles que Mendix.

Dans une  article de blog précédentNick Ford, directeur du marketing en chef, a expliqué comment Low-code Les plates-formes permettent aux ingénieurs logiciels de se concentrer sur ce qu'ils font le mieux : la programmation. Dans cet article de blog, je souhaite explorer plus en profondeur certaines des fonctionnalités de Mendix une plateforme qui aide à soutenir ce que les ingénieurs logiciels font le mieux.

Lisez la suite pour en savoir plus sur la façon dont les ingénieurs logiciels prospèrent avec le low-code comme plate-forme de développement pilotée par modèle.

3 fonctionnalités clés de développement low-code pour les développeurs d'applications

Il existe trois domaines clés de la Mendix plateforme où les ingénieurs logiciels peuvent utiliser leurs compétences pour offrir une meilleure expérience de développement aux autres personnes impliquées dans le cycle de vie de l'application.

  1. Extensions de modèles
  2. Kit de développement logiciel (SDK) modèle
  3. API de la plateforme

Chacune d'entre elles est conçue pour aider les ingénieurs à étendre la plateforme en fonction des besoins de leur organisation. Examinons chacune d'entre elles pour voir comment elles peuvent être exploitées au sein de l'entreprise. Mendix Plate-forme.

Extensions de modèles : efficaces, sécurisées et réutilisables

Pendant mon temps avec Mendix, il y a une question qu'on me pose constamment : « Où puis-je voir le code généré ? ». Ma réponse est toujours « Il n'y a pas de code ! Le runtime interprète le modèle et produit votre application. Mais cela ne signifie pas que vous ne pouvez pas utiliser du code pour étendre votre modèle ».

Développement piloté par les modèles Ce n'est pas un concept nouveau, il existe depuis de nombreuses années. Cependant, de nombreux outils de développement du passé étaient soit trop restrictifs, soit difficiles à personnaliser. Lorsque la personnalisation était disponible, il fallait souvent modifier le code généré pour répondre aux besoins des clients. Mais une fois que vous le faites, vous cassez le modèle, ce qui réduit votre vitesse de développement et fait de la maintenance un cauchemar.

Mendix adopte une approche différente des extensions. Au lieu d'étendre votre application avec du code personnalisé, nous étendons le modeleur lui-même. En étendant les capacités du modeleur, vous pouvez toujours vous assurer que votre modèle et vos extensions de code personnalisées fonctionnent efficacement. Vous vous assurez également que tout code écrit est réutilisable dans d'autres applications.

Il existe deux manières principales d'étendre votre modèle dans le Mendix plate-forme pour utiliser du code personnalisé. Il s'agit d'extensions frontales appelées widgets et d'extensions dorsales appelées connecteurs. Les widgets vous permettent d'étendre votre Mendix Vous pouvez créer une application à l'aide de JavaScript et utiliser n'importe quelle bibliothèque JavaScript dont vous avez besoin, comme React, Angular, Dojo ou D3. Les connecteurs s'exécutent sur le serveur, ce qui vous permet de créer du code Java/Scala personnalisé pour utiliser n'importe quelle bibliothèque Java ou Scala. En plus du code personnalisé, nous prenons également en charge les intégrations natives telles que REST, SOAP et OData. Mais je souhaite concentrer ce blog sur la mise en évidence des fonctionnalités qui rendent les connecteurs et les widgets si puissants pour les développeurs.

Connecteurs

Les connecteurs sont un excellent moyen d'étendre les fonctionnalités du modélisateur. Les connecteurs sont des wrappers autonomes qui étendent la fonctionnalité native du microflow. Un connecteur, lorsqu'il est appelé par un microflow, exécutera un morceau de code Java, qui peut être modifié dans votre IDE préféré. Le connecteur peut utiliser toutes les fonctionnalités du modèle, y compris les entités, les ensembles de données, les microflows, les pages et les configurations via le Mendix API d'exécution. Lors de la création d'un connecteur, vous pouvez choisir d'ajouter une icône et une description, ce qui le rend nativement disponible dans le Mendix boîte à outils. L'utilisateur du connecteur doit simplement transmettre le paramètre requis au code, il n'a pas besoin de comprendre le code Java sous-jacent.

Capture d'écran de l'utilisation des connecteurs dans le développement d'applications

Ce qui rend les connecteurs si puissants, c'est leur riche ensemble de paramètres et de types de retour. Lorsque vous créez une intégration, vous souhaitez la rendre aussi simple à utiliser que possible et la rendre aussi générique que possible. En rendant votre connecteur générique, vous vous assurez qu'il est plus facile à réutiliser dans différentes situations, comme la transmission de données différentes pour différents cas d'utilisation.

Par exemple, un connecteur peut avoir de nombreux paramètres, qui peuvent être à la fois génériques, typés ou statiques. Les paramètres du connecteur prennent actuellement en charge les chaînes, les booléens, les entiers, les décimales, les objets, les listes, ainsi que les objets et les listes. Une fois que vous avez défini vos paramètres et les types de retour, le Mendix La plateforme génère un wrapper de code dans lequel vous pouvez définir votre propre code personnalisé. Le code peut être modifié dans votre IDE préféré, tel qu'Eclipse, IntelliJ et bien d'autres. Dans le code du connecteur, vous ajoutez votre propre code personnalisé pour appeler n'importe quelle bibliothèque Java ou Scala requise. Ces bibliothèques sont placées dans le dossier userlib de votre projet, ce qui vous permet de les utiliser.

Widgets

Un widget est une extension du développement front-end de MendixLes widgets sont conditionnés de manière à être autonomes et réutilisables dans plusieurs applications. Les widgets peuvent utiliser n'importe quelle bibliothèque JavaScript disponible à la fois pour le Web ou à partir de Cordova/Phonegap. Une fois qu'un widget est créé, il peut être distribué sur l'App Store, ce qui permet sa réutilisation dans toute votre organisation ou son partage avec l'App Store. Mendix communauté. Il existe plusieurs outils disponibles pour aider à la création de widgets, notamment des versions en Typescript, ES6 ou Javascript simple, mais personnellement, je commence toujours par utiliser le Mendix Génératrice Yeoman Le script, une fois exécuté, générera automatiquement l'échafaudage nécessaire pour commencer le développement de votre widget. Si vous n'êtes pas familier avec Yeoman ou Javascript, mon collègue Jelte a donné un excellent en direct.

La structure de base nécessaire à chaque widget contiendra 3 fichiers essentiels :

  • fichier xml – utilisé pour décrire la structure du dossier de votre widget.
  • fichier xml – utilisé pour décrire les paramètres qui peuvent être transmis au widget.
  • fichier js – utilisé pour déterminer la logique de votre widget.

Dans le fichier XML du widget, vous définissez autant de paramètres que vous souhaitez transmettre à votre code personnalisé. Les paramètres ont des types différents en fonction des données requises, telles que des chaînes, des booléens, des attributs, des objets, etc. Vous pouvez également définir lesquels de ces paramètres sont requis pour votre code personnalisé. En configurant le widget de cette manière, vous vous assurez qu'il est fiable, autonome et réutilisable. Par exemple, deux développeurs différents peuvent vouloir utiliser le même widget mais vouloir transmettre des données provenant d'entités différentes. En utilisant les paramètres d'entité et d'attribut, les utilisateurs du widget peuvent utiliser les données dont ils ont besoin.

Dans le fichier JS du widget, vous pouvez définir toutes les bibliothèques supplémentaires que vous souhaitez importer dans votre widget pour les utiliser.

L'avantage de l'utilisation du code dans les widgets est que vous obtenez un accès complet aux données, aux informations sur les entités et aux informations sur le modèle dans vos widgets. Chaque widget peut utiliser le Mendix API cliente pour interagir avec le Mendix données du modèle. Cela rend les widgets extrêmement génériques, permettant aux utilisateurs de transmettre tout type de données qui peuvent être récupérées facilement à l'aide de JavaScript. Toutes les données récupérées à l'aide des widgets ont leur accès aux données appliqué. Ainsi, le widget ne recevra des données que si l'utilisateur y a accès.

Modèle SDK : outils d'assistance et d'analyse puissants

Nous avons exploré comment nous pouvons étendre nos modèles à l'aide de widgets et de connecteurs, mais qu'en est-il de l'accès aux informations sur les modèles eux-mêmes ou de la modification des modèles par programmation ? Mendix Model SDK est un puissant kit de développement TypeScript construit sur le Model SDK, qui donne aux développeurs un accès programmatique à les informations du méta-modèle.

Le Model SDK a quatre principaux cas d'utilisation :

  1. Importer des applications à partir de bases de code héritées dans Mendix
  2. Analyser les modèles d'application pour l'analyse statique
  3. Apportez des modifications en masse à votre application
  4. Exportez vos modèles vers une autre base de code ou plateforme

En exploitant le SDK modèle, les développeurs peuvent créer des outils de support autour du Mendix plate-forme pour étendre ses capacités. Un exemple est l'outil AQM qui utilise le SDK Model pour effectuer une analyse de la qualité logicielle. Vous obtenez une note de cinq étoiles, basée sur les normes de l'industrie, quant à la qualité de votre application. Les possibilités avec le SDK Model sont infinies, mais si vous voulez commencer, consultez le la mise en route documentation et la Documents sur l'API.

API de la plateforme : des solutions complètes avec des fonctionnalités personnalisées

Mendix La plateforme est dotée d'une vaste gamme d'API pour aider les développeurs à intégrer la plateforme dans leur pipeline DevOps existant. En utilisant des outils tels que Visual Studio Team Services (VSTS) ou Jenkins, les pipelines de déploiement peuvent exploiter les API pour créer, tester et déployer automatiquement des applications en fonction d'un déclencheur tel qu'un commit. Ces applications peuvent être déployées dans n'importe quelle offre de cloud public, sur site ou privé à l'aide d'un conteneur Docker ou Cloud Foundry et s'exécuter sur n'importe quelle plate-forme de conteneur comme Kubernetes ou Cloud Foundry. Les développeurs peuvent combiner n'importe quel nombre d'API disponibles dans le Mendix produit pour créer votre propre pipeline personnalisé. La vidéo ci-dessous montre comment fonctionnent l'API Teamserver, l'API Build, Docker Buildpack et l'API ATS CICD, créés par notre partenaire de confiance CLÉVR, sont utilisés pour déployer une application en direct dans un cluster Kubernetes sur la base d'un seul commit.

Principaux points à retenir

L'essentiel que je veux que vous reteniez de cet article de blog est que ce n'est pas parce qu'il s'agit d'un développement low-code qu'il n'y a pas besoin ou moyen de créer du code. Il y a toujours ce cas particulier qui nécessite un certain niveau de personnalisation et lorsque vous en avez besoin, le Mendix La plateforme le prend en charge. Si vous ne nous croyez pas, essayez-le par vous-même !

Maintenant, que vas-tu construire ?

Choisissez votre langue