Fermer

janvier 16, 2025

Componentisation avec Telerik

Componentisation avec Telerik


Concevoir avec des composants vous permet de sprinter plus rapidement pour répondre à vos exigences et offrir cohérence et qualité.

Dans cet article, je vais vous donner un aperçu de mon expérience en matière de composants logiciels, en particulier avec les produits Progress Telerik et Kendo UI.

L’histoire de la composantisation logicielle

Examinons l’histoire de la composantisation logicielle pour comprendre l’ensemble du concept. Cette stratégie a une longue histoire de développement de logiciels avec des composants réutilisables et indépendants.

Années 1960 : début du génie logiciel

Le concept de production de logiciels en utilisant des composants réutilisés est né dans les années 1960, lors d’une crise dans l’industrie du développement de logiciels. Les programmes devenant de plus en plus complexes et leur maintenance difficile, on a recherché des techniques plus organisées. La modularité et la réutilisation ont été présentées lors du Conférence de l’OTAN de 1968 sur le génie logiciel pour améliorer la qualité des logiciels.

Années 1970 : début de la programmation modulaire

Les années 1970 ont été la décennie au cours de laquelle la programmation modulaire a commencé à gagner en popularité. Niklaus Wirth Module et Ada sont deux exemples de langages de programmation qui ont introduit le concept d’encapsulation des fonctionnalités dans des unités distinctes et des préoccupations séparées.

Années 1980 : programmation orientée objet (POO)

Au cours des années 1980, la programmation orientée objet (POO), un paradigme de programmation plus récent, a encore renforcé le concept de génération de composants réutilisables. Smalltalk et C++ sont deux exemples de langages de programmation qui ont été les premiers à introduire l’idée d’objets en tant que composants réutilisables encapsulant des données et des actions.

Cela a facilité la création de bibliothèques et de frameworks pouvant être utilisés sur divers systèmes, rapprochant ainsi la pratique de la programmation orientée objet (POO) du concept de composantisation.

Années 1990 : composantisation formelle

Dans les années 1990, les composants logiciels ont été formalisés grâce à l’introduction de technologies telles que le modèle objet de composant (COM) de Microsoft et l’architecture Common Object Request Broker (CORBA). Ces technologies ont permis à des composants distincts de communiquer entre eux sur différentes plates-formes, facilitant ainsi le développement de systèmes hautement modulaires et distribués.

Années 2000 et au-delà

Le concept de composants s’est transformé en idée de services, qui sont des services autonomes qui peuvent être développés, maintenus et mis à l’échelle de manière indépendante. Ces services fournissent des fonctionnalités réutilisables via des interfaces de programmation d’applications (API).

Dans les années 2010, l’architecture des microservices divisait les systèmes massifs en services individuels pouvant être créés, déployés et mis à l’échelle. Les conteneurs (comme Docker) et les orchestrateurs (comme Kubernetes) ont simplifié la construction, le déploiement et la gestion de composants logiciels isolés et réutilisables.

Mon parcours dans la composantisation

En 1998, Microsoft a lancé Visual Basic 6.0 avec le concept UserControl, permettant aux développeurs de créer leurs contrôles, tels que des contrôles natifs, des graphiques, des listes, des grilles, des boutons, des cases à cocher et des zones de texte. C’était le début de l’ère ActiveX.

Il n’a pas d’héritage comme la POO ; il n’a été introduit qu’en VB.NET en 2002.

Quoi qu’il en soit, j’ai commencé à écrire mes systèmes en utilisant des contrôles utilisateur. J’ai conçu des systèmes modulaires dans lesquels chaque entrée, écran et bouton était un composant spécialisé.

J’ai conçu cette façon de personnaliser n’importe quel aspect ; lorsqu’une modification est effectuée dans l’un d’eux, tout le système est automatiquement mis à jour, ce qui constitue le grand avantage de la programmation avec des composants.

Si vous n’êtes pas familier avec les composants, veuillez consulter l’image ci-dessous. Il montre une disposition dans laquelle les pièces sont isolées selon leur fonction, et chacune peut être construite en tant que composant individuel et étendue pour répondre aux exigences du logiciel.

D’autres contrôles standards et personnalisés peuvent être inclus dans chaque zone de mise en page, et plusieurs composants peuvent remplir chaque zone, en les chargeant en fonction du contexte.

Nous pouvons créer n’importe quoi de nouveau avec la composantisation en créant un contrôle de bouton à partir de zéro ou en étendant un élément préexistant.

Évolutif et personnalisable

Une fois que nous avons construit un système composé de composants, nous pouvons l’étendre et le personnaliser pour d’autres utilisations afin de fournir une nouvelle version à différents types de professionnels. Par exemple, Advocati.NETun ERP pour les avocats au Brésil, a servi de base à d’autres logiciels créés en supprimant les éléments (composants) conçus spécifiquement pour le secteur juridique.

Lorsqu’une entreprise utilise la même apparence, les mêmes fonctionnalités et la même sécurité sur tous les systèmes qu’elle produit, l’utilisateur final profite également du fait qu’il n’a pas besoin d’apprendre quelque chose d’entièrement nouveau. La courbe d’apprentissage est plus douce et nécessite moins de soutien : un bon investissement.

Composants Telerik

Lorsque j’ai migré de VB 6 vers C#, j’ai abandonné de nombreux contrôles ; pratiquement, je ne les ai pas migrés. J’ai juste cherché le marché et j’ai choisi Progress Telerik pour remplacer mes commandes. Je me suis immédiatement senti comme chez moi en les utilisant. J’ai également implémenté quelques extensions, comme personnalisation du RadOpenFileDialog, sur lequel j’ai écrit un article ici.

Au fil du temps, Progress a également créé des composants pour d’autres langages, frameworks et plates-formes, tels que React, Angular, Vue, jQuery, ASP.NET Core, .NET MAUI, etc.

Ils partagent un haut niveau de qualité et la plupart des contrôles sont standardisés sur toutes les plateformes. Ainsi, si votre entreprise dispose de plusieurs développements sur plusieurs frameworks, l’apparence et la convivialité peuvent être cohérentes dans toutes vos propriétés. Le Telerik DevCraft bundle permet d’accéder à plusieurs de ces bibliothèques avec la même licence.

Ici, nous avons quelques contrôles pour WinForms utilisant le thème Material. Vous pouvez accéder à cette démonstration sur Theme Viewer après avoir installé Telerik UI pour WinForms dans ce chemin « C:\Program Files (x86)\Progress\Telerik UI for WinForms 2024 Q3\Bin462\ThemeViewer.exe » :

Le composant ListView pour WinForms. Telerik UI pour React, Telerik UI pour Angular, Telerik UI pour .NET MAUI et Telerik UI pour ASP.NET Core ont également leur version. Ce contrôle est né dans les premières versions de Windows :

Le composant Grille comprend le regroupement, le filtrage, la navigation par pagination, l’exportation et bien plus encore. Comme ListView, il existe une version pour chaque framework.

Le framework de chaque grille a ses façons de faire, comme autoriser le filtrage. Par exemple, sur les WinForms de Grid, nous définissons simplement la propriété « EnableFiltering » de Grid sur true. Pour React, nous définissons la propriété « filtrable » dans la grille et dans chaque colonne. Voici un exemple :

1.	import * as React from 'react';
2.	import { Grid, GridColumn as Column } from '@progress/kendo-react-grid';
3.	import { filterBy } from '@progress/kendo-data-query';
4.	import { sampleProducts } from './shared-gd-sample-products';
5.	const initialFilter = {
6.	  logic: "and",
7.	  filters: [{
8.	    field: "ProductName",
9.	    operator: "contains",
10.	    value: "Chef"
11.	  }]
12.	};
13.	const App = () => {
14.	  const [filter, setFilter] = React.useState(initialFilter);
15.	  return <Grid style={{
16.	    height: '420px'
17.	  }} data={filterBy(sampleProducts, filter)} navigatable={true} filterable={true} filter={filter} onFilterChange={e => setFilter(e.filter)}>
18.	        <Column field="ProductID" title="ID" filterable={false} width="60px" />
19.	        <Column field="ProductName" title="Product Name" width="240px" />
20.	        <Column field="FirstOrderedOn" width="240px" filter="date" format="{0:d}" />
21.	        <Column field="UnitPrice" width="180px" filter="numeric" format="{0:c}" />
22.	        <Column field="Discontinued" width="190px" filter="boolean" />
23.	      </Grid>;
24.	};
25.	export default App;

Conclusion

Concevoir avec des composants vous permet de sprinter plus rapidement pour répondre à vos exigences et offrir cohérence et qualité. Il exploite également la satisfaction de l’utilisateur final avec une UI et une UX extraordinaires. N’oubliez jamais que l’UX ne concerne pas seulement le moment où les clients sont devant l’écran, mais aussi ce qu’ils diraient de leur expérience à un ami ou un collègue.

En tant qu’équipe de développement utilisant Telerik, nous pouvons gagner beaucoup de temps en développement ; par exemple, les composants sont dotés de moyens simplifiés d’ajouter des fonctions telles que le filtre, le tri, l’exportation, etc.

Je suis particulièrement favorable à la manière dont est structurée la licence Progress Telerik. Votre licence est perpétuelle, avec accès à toutes les mises à jour pendant un an. Ainsi, vous pouvez continuer à utiliser la version pour laquelle vous avez payé même si vous laissez votre licence expirer. Mettez à jour vers une version plus récente du produit lorsque vous renouvelez votre licence. Ou conservez votre licence à un tarif réduit et vous aurez accès à toutes les mises à jour en cours ainsi qu’au support renommé de Progress. Progress a récemment annoncé un système plus agile option de forfait d’abonnement aussi. C’est l’avantage de travailler avec un produit fiable et tourné vers l’avenir.

Si vous n’êtes pas client Progress Telerik, téléchargez un essai maintenant. Vous pouvez appeler le support à tout moment pendant cette période, et je suis également disponible pour discuter de Telerik ou même faire une présentation pour votre entreprise – c’est à quel point je suis attaché à Telerik DevCraft. N’hésitez pas à me contacter sur LinkedIn si vous souhaitez en parler davantage.




Source link