Dot.Blog

C#, XAML, Xamarin, UWP/Android/iOS

Revue : Telerik RadControls pour Windows 8

[new:30/11/2012]Je suis partisan du KISS ("Keep It Simple, Stupid” auquel je préfère “Keep It Small & Simple”). Je n’aime donc généralement pas m’encombrer de multiples composants et encore moins de librairies externes. Toutefois il existe des cas où réinventer la poudre devient “stupid”… Dans ces cas  là il faut pouvoir compter sur des composants tiers bien faits, provenant de sources reconnues et fournis avec le code source. C’est le cas des nouveaux composants “RadControls pour Windows 8” de Telerik.

Telerik

Telerik est une société qui fournit de longue date des composants réputés de bonne facture. Déjà présent sur le marché des composants aux temps glorieux de Delphi de feue Borland, Telerik comme de nombreux éditeurs et développeurs a su très vite sentir le vent tourner pour se recentrer exclusivement sur .NET et aujourd’hui sur WinRT.

Telerik propose des composants pour .NET (ASP.NET, Ajax, MVC, WPF, Silverlight…), Windows Phone, Windows 8. Bref c’est un catalogue imposant bâti avec le temps qui a toujours su être dans l’actualité. On retrouve même Kendo UI un environnement de développement HTML 5 / JavaScript pour écrire des applications mobiles autant que Icenium un environnement de développement Cross-Platform basé sur le Cloud et qui n’est pas sans mériter un petit détour.

Comme je le disais en introduction je ne suis pas le meilleur client possible pour les éditeurs de composants tiers, préférant toujours quitte à faire plus simple garder 100% de la maîtrise du code que je conçois. De plus, lorsque j’écris des Starter Kits ou des logiciels entiers il m’est difficile d’imposer des librairies tierces avec leur coût de licence à mes clients, c’est mon savoir-faire que je vends et non celui des autres après tout… Mais ma position est particulière. Et souvent il m’est arrivé de conseiller des composants Telerik ou d’autres éditeurs sérieux pour des besoins particuliers de certains clients. Et puis, depuis Delphi, Telerik est un éditeur dont j’ai croisé fréquemment les composants chez mes clients, composants dont tous ont toujours semblé satisfait.

Enfin, les composants pour Windows 8 RT sont encore assez rares. Cela fait une bonne raison de plus de regarder de plus près ce qui est offert dans ces RadControls pour Windows 8.

RadControls pour Windows 8

Les composants pour WinRT arrivent doucement, et bien entendu les éditeurs les plus solides sont les premiers à en proposer (cela coute cher à produire pour des ventes incertaines au lancement d’une nouvelle plateforme).

Les RadControls pour Windows 8 découle logiquement de cette implication de Telerik sur le marché des composants Windows, et plus particulièrement .NET depuis plusieurs années.

Premier contact

Visuel

Les composants Telerik sont toujours bien faits et présentés par des démos très propres. La première impression est donc bonne. Une démo compilée est fournie, écrite dans un esprit Metro tout à fait respectueux.

Les composants sont simples, sans fioritures, “flat” dans l’esprit Metro et se marieront donc bien avec toute application Windows Store qui en respecte les standards visuels.

je dis “Metro” parce que j’en ai assez des noms qui changent tous les jours chez MS pour ce style d’UI et qui sont présentés à chaque fois comme définitifs, une gestion marketing épouvantable et incompréhensible de la part d’un éditeur aussi gros que Microsoft sur une technologie aussi cruciale pour ce dernier…

le code source

Le code source des RadControls est fourni en accompagnement des librairies exécutables. Ce code est fidèle à l’ensemble : propre, bien segmenté, documenté.

Comme tous les codes sources de telles librairies, posséder le code est très rassurant mais souvent sans véritable intérêt : les compétences et le temps pour entrer dans ce code, le comprendre et être capable de le modifier ont un coût et fort peu d’entreprises investissent dans un tel effort

C’est d’ailleurs pour cette raison que Telerik peut publier le source, sachant que même en extraire un seul composant pour l’isoler de toutes les couches qui composent la bibliothèque réclamera un tel talent que celui qui le possède aura aussi vite fait de réécrire lui-même son propre composant. Trop d’info tue l’info, c’est sur cette évidence que repose la tranquillité des éditeurs offrant le code source de leurs grosses librairies …

Néanmoins loin de moi l’idée de minimiser la présence du code source : c’est indispensable “au cas où”, d’ailleurs je ne travaille jamais avec un code dont je ne possède pas les sources. Telerik le fournit, bien d’autres petits éditeurs ne le font pas (justement parce que leur code est plus simple et plus facile à s’approprier aussi) et il faut saluer cette transparence.

Richesse de la librairie

C’est peut-être là qu’on est un peu déçu. De la part de Telerik on pourrait s’attendre à quelque chose de plus complet, de plus riche. Peut être que le problème est le nom de la librairie tout simplement, il créée une attente de grosse librairie ce que ne sont pas les RadControls pour Windows 8 à l’heure actuelle.

Mais c’est une première mouture. Laissons le temps au temps…

La série de composants qui composent les RadControls pour Windows 8 fait partie des grands classiques : Chart, jauges et Date / Time Picker… Auquel s’ajoutent un Hub Tile permettant de reproduire un menu à tuile au sein d’une application et un gestionnaire de pagination.

Pas de grille de données sophistiquées, pas de système de génération d’état, peu ou pas de contrôles de saisie, nous sommes plutôt dans une “preview” que dans une bibliothèque complète du type de celles produites par ailleurs par Telerik pour Silverlight, WPF ou ASP.NET.

La question qui se pose est de savoir à qui cette librairie se destine et comment en tirer le meilleur partie ?

A première vue les RadControls pour Windows 8 sont encore un “maigrelets”, mais la licence ne coûte que $99, ce qui n’est pas très cher comparé aux centaines de dollars de librairies concurrentes plus fournies. Le prix est donc en rapport avec le contenu, il n’y a pas de véritable problème ici.

Le gestionnaire de menu à tuiles et celui de la pagination peuvent valoir l’investissement car ils sont bien faits et offre un visuel agréable. Mais cette première version des RadControls se justifie malgré tout principalement par ses Charts et les nombreux styles proposés (barres, points, radar…).

Les RadControls pour Windows 8 devraient donc plutôt s’appeler “ChartControls”, ce qui serait plus exact et créerait peut-être moins cette attente légèrement déçue par le faible nombre des composants proposés. Ce qui est injuste car la partie Chart est elle très complète et justifie pleinement les $99 de la bibliothèque.

Les RadControls Windows 8 pour quel usage ?

Comme le laisse supposer ce que je viens de dire sur la richesse de la bibliothèque, les RadControls pour Windows 8 sont avant une librairie de gestion de Charts.

En ce sens cet ensemble de composants s’adresse avant tout à ceux qui ont besoin d’afficher des graphiques à barres, à point, des radars, etc.

Il ne faudrait pas oublier les composants jauges qui peuvent trouver leur place partout où une représentation graphique des données dynamisera la mise en page de l’application ainsi que son look & feel.

Pour résumer, si vous devez afficher des jauges et des Charts alors cette bibliothèque est parfaite. Les composants de cette catégorie sont assez nombreux, couvrent les besoins et sont suffisamment paramétrables pour s’adapter à toutes les applications.

La qualité générale est bonne, le binding est possible sur de nombreuses propriétés, et les exemples fournis sont tous écrits en respectant MVVM ce qui est un excellent point.

Tour d’horizon

Le plus simple pour se faire une idée de cette librairie de composants est d’en voir quelques exemples.

image

L’écran principal de la démo utilise le gestionnaire de menu à tuiles, c’est un bon exemple d’utilisation de ce composant assez séduisant par la cohérence visuelle qu’il offre avec le reste de l’OS.

Les graphiques

On en trouve de tous les styles. En voici quelques uns.

image

On notera la mise en page globale de la démo qui exploite correctement la norme Metro. Si vous lancez la démo sur une tablette le passage du mode paysage au mode portrait affiche le code source de l’exemple, c’est aussi une façon originale de tirer partie des capacités particulières de l’OS.

image

Les graphiques à barre les plus courants sont proposés comme le montre ci-dessus le menu de cette section de la démo.

Les graphiques à lignes, avec ou sans point, lissés ou non, sont aussi bien représentés :

image

Les graphiques lissés sont un ajout intéressant par rapport à d’autres bibliothèques de ce type.

On retrouve bien entendu les graphiques de type “aire” :

image 

Tout comme ceux appelés “scatter series” faits de lignes, points, surface ou lignes lissées :

image

Une librairie de charts ne serait pas complète sans les camemberts :

image

Une fois qu’on a mangé le fromage, on peut passer au dessert avec les graphiques doughnuts :

image

Le Financier est un dessert intéressant, les séries financières sont donc bonnes à prendre arrivé à ce stade du repas :

image

Après un repas aussi copieux, il vous sera difficile de passer sous les radars ! :

image

Pour digérer un peu de trekking aux pôles ? Les séries polaires sont là aussi :

image

Le bouquet final permet de se rendre compte qu’il est possible de mixer plusieurs types de Charts en même temps et même de jongler avec les échelles et axes multiples. Le résultat est toujours aussi propre :

image

Le binding facilite la gestion de boîtes de filtrage ou de cases à cocher.

Il y a d’autres écrans dans cette démo, certaines montre des utilisations conjointes de plusieurs types de Charts pour obtenir un affichage de type suivi boursier, d’autres insistent sur l’interaction possible avec l’utilisateur (affichage d’une barre glissante sur le graphique par exemple pour récupérer les valeurs précises à un endroit donné).

Rien d’extravagant dans cette série de composants mais en matière de business charts difficile de se renouveler … Les principaux types utilisés sont présents et cela couvrira certainement les besoins d’une majorité d’utilisateurs et de développeurs.

Date et heure

Quelques contrôles de saisie orientés date et heure sont offerts. C’est vrai que cela manque dans la panoplie de base, et lorsqu’il s’agit de proposer des graphiques il est très courant d’avoir à offrir la saisie de bornes de dates. La présence de ces composants est donc en ligne avec le contenu de la librairie très orientée Charts.

 image image

Lorsque l’utilisateur clique sur la flèche du contrôle de saisie de date (celui pour l’heure fonctionne de la même façon) un sélecteur s’affiche dans l’esprit de ce qu’on trouve sous Windows Phone 7.5 par exemple. C’est propre, fonctionnel et en accord avec l’aspect général. On notera aussi que ce type de contrôle a été pensé pour le tactile (taille des touches, animations) ce qui est un bon point.

les jauges

Elles sont toutes assez simples visuellement parlant (Metro permet de justifier cette simplicité mais il ne faudrait pas que simplicité et minimalisme soit systématiquement confondus, on peut aussi faire des choses plus “riches” visuellement sans sortir des clous de Metro !).

Les jauges radiales offrent des cadrans (partiels ou fermés), alors que les jauges linéaires sont plus simples mais supportent d’être horizontales ou verticales. Ce sont de bons outils d’UI permettant une représentation évidente des données lorsque l’aspect général compte plus que la précision à la virgule près.

On notera la présence d’animations pour les changements de valeurs et une bonne réactivité de l’ensemble. Toutefois à l’heure où j’écris ces lignes ma Surface qui devait être livrée le 26 n’est toujours pas là… Microsoft s’est excusé, mais les faits sont là : je n’ai toujours pas le hardware me permettant de tester certaines choses, comme notamment la réactivité de certains composants… Forcément sur ma machine à base de core i7-3770K overclocké, 16 Go de Ram et SSD tout me semble rapide (heureusement !), c’est évidemment très très éloigné du hardware d’une tablette ARM ! Reste donc à tester dans les conditions réelles…

image

Le Hub Tile

C’est le fameux menu à tuiles utilisé par la démo dans son écran principal. Cette version du menu Windows 8 “a tout d’une grande” ! On retrouve les tuiles qui basculent, les textes animés, le partage image/texte, les miniatures de photos en mosaïque etc…

Je n’ai pas trouvé le moyen de déplacer les tuiles comme le fait le menu de Windows ni le marquage spécial de la sélection par clic droit. Peut-être ai-je mal cherché dans la doc, en tout cas la démo ne le montre pas.

image

Les artefacts qu’on peut voir sur la capture ci-dessous sont justement liés au côté dynamiques des tuiles qui peuvent se mettre à jour en permanence. Bien entendu lorsqu’on a un écran entier de tuiles qui tournent, qui bougent, qui alternent leur contenu… cela fait franchement sapin de Noël. Je sais que l’époque approche rapidement mais ne vous laisser pas trop tenter par ces animations tapageuses…

Le composant le supporte, ce n’est pas une raison pour s’en servir partout !

C’est en tout cas une bonne idée en terme d’UI et d’UX de disposer d’un menu semblable à celui de l’OS (si on l’utilise de façon parcimonieuse donc).

Pagination

Il s’agit d’un contrôle assez versatile permettant de gérer une succession de pages. Le contenu peut être de simples photos ou des pages complètes puisqu’il s’agit ici d’un ensemble de composants séparés pour gérer la navigation, l’affichage, ici réalisé par un FlipView, n’est qu’un exemple.

Le visuel de la navigation est très paramétrable et on peut faire apparaitre ou disparaitre tous les éléments (numéro de page, ligne de rappel, miniatures, …).

image

Pensé pour une utilisation tactile autant qu’avec la souris, ce type de composant, s’il n’a rien d’exceptionnel ni de très novateur, se trouve être une sorte de passage obligé dans de nombreuses applications. Celui que propose Telerik ici est bien fait et facile à configurer.

Conclusion

Les RadControls pour Windows 8 de Telerik sont fidèles au travail habituel de cet éditeur : du travail propre, livré avec code source, look sobre et adapté à la situation (ici Metro, tactile).

On est au départ un peu déçu parce que “RadControls” fait s’attendre à une grosse bibliothèque comme l’éditeur l’a fait pour les autres plateformes. En réalité les RadControls sont pour l’instant principalement une librairie pour faire du Charting.

Toutefois cela n’enlève rien à son intérêt, ni à celui des composants annexes comme le menu à tuiles ou le gestionnaire de pagination.

A $99 ce package de composants se situe dans les prix du marché. Ni bon marché, ni trop cher.

On sent que Telerik a voulu être présent assez vite sur le segment Windows 8 RT sans pour autant brûler les étapes. Certainement que d’autres contrôles viendront compléter la bibliothèque dans le futur (ou que d’autres bibliothèques s’ajouteront), Telerik ne manque pas de matière dans ses autres produits en Xaml qui peuvent faire l’objet d’un portage.

Si vous avez besoin de faire des graphiques, alors n’hésitez pas, cette librairie est bien faite.

Stay Tuned !

blog comments powered by Disqus