Dot.Blog

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

Silverlight : Review des composants Cellbi

Il est assez rare, doux euphémisme puisque je pense que c'est la toute première fois, que je parle de composants tiers pour Silverlight. Il y a une bonne raison à cela : on peut tout faire soi-même, sauf l'infographie généralement, et je ne vois pas pourquoi il faudrait payer pour avoir ce qu'on peut faire en 5 minutes sous Blend. Reste l'infographie donc, mais quelque soit la qualité des composants qui existent à l'heure actuelle, c'est justement la partie faible. Quelques "thèmes" assez laids dans lesquels choisir pour avoir le même look que les copains qui auront acheté la même lib.

Bref, pour l'instant en tout cas, je ne vois guère de raisons valables d'acquérir des composants ou des thèmes Silverlight. Il y a tout de même une exception : certains effets très sympas qui demandent un peu plus de 5 minutes à être refaits.

Le célèbre caroussel est un exemple, mais ce n'est pas forcément le composant le plus important (tout le monde veut en mettre jusqu'à ce que ça lasse, par force). Les effets sur le texte sont beaucoup plus rares en revanches. Il y a déjà des années de cela j'utilisais Swish, sorte de clone de Flash, car justement il proposait de base des tonnes d'effets pour le texte et les images. Rien de tout cela dans les librairies classiques pour Silverlight.

Cellbi Software

... Sauf une exception. La librairie de Cellbi Software. 179 dollars, donc une misère, une version d'évaluation gratuite de 30 jours pour les dubitatifs. Et des tas d'effets très bien rendus, ce qui est rare aussi.

Même si le composant "principal" qui est proposé est un caroussel, celui-ci est très simple à utiliser. Il dispose d'une propriété ItemsSource, comme les Listbox, et on peut y binder ce qu'on veut : des images, des buttons, des UserControls, ... et même mélanger tout cela. Le composant gère des effets intéressants comme le floutage progressif, la possibilité d'ajouter une réflexion aux éléments, etc. Bref du bon travail, sans avoir à se rouler par terre, c'est pro, bien fait et facile à utiliser.

On trouve aussi une fenêtre qui peut être modale en option, même si cela fait un peu doublon avec celle de Silverlight, les options sont différentes et ce composant peut rendre service. 

Mais c'est surtout pour les effets sur les textes que je conseille cette librairie, enfin quelque chose d'un peu nouveau visuellement dans le monde Silverlight. De plus, les effets utilisés sont en réalité exploitables de façon différentes, on trouve même des composants spécialisés pour faire des transitions ou des effets de ce type. Les effets peuvent être mixés ou jouer en séquence, c'est bien fichu. On peut réaliser des slide shows attractifs, la librairies offrant pour les transitions des effets de ease-in/out un peu comme les animations Silverlight (elastic, quadratique, etc).

La librairie Cellbi n'est pas une grosse bibliothèque de composants, juste quelques uns et des effets. Mais elle ne coûte pas cher et offre un peu de nouveauté et un code qui semble sain et bien programmé. Les effets ont un rendu visuel tout à fait correct ce qui est très important dans un monde tel que celui de Silverlight qui se base avant tout... sur le visuel !

Un petit exemple 

Des tonnes d'exemples sont fournis, j'en ai bricolé un vite fait à partir d'un carousel sur des Buttons (ci-dessous). J'ai enlevé quelques boutons et j'ai ajouté deux dessins vectoriels (que j'ai encapsulé chacun dans un UserControl) afin de montrer que le mélange des genres fonctionne bien (en revanche l'équilibre visuel n'est pas terrible par force, c'est juste pour faire voir la souplesse du composant donc).

Lorsqu'on clique sur un élément du caroussel, celui-ci passe devant en tournant. Les éléments lointains sont diminués en taille, la perspective est respectée. L'ellipse de base, sa profondeur, ainsi que de très nombreux paramètres sont disponibles pour adapter tout cela à chaque besoin ponctuel. Il existe des commandes par code pour sélectionner un élément, ce qui, dans l'exemple ci-dessous est montré via les deux boutons flèches en bas (précédent et suivant).

Bien que le clic sur les objets soit capté par le composant pour les sélectionner, une fois un élément arrivé en position centrale (l'équivalent de l'item sélectionné dans une ListBox) il reste possible de cliquer dessus. Si c'est un bouton on peut donc programmer son Click, si c'est un UserControl on peut se brancher sur son LeftButton Up/Down. Il est parfois nécessaire de cliquer deux fois sur l'item pour passer du contrôle par le caroussel au contrôle du composant lui-même. Mon exemple manque peut-être aussi d'un peu de travail pour affiner ce genre de comportements. Dans l'exemple, si vous cliquez sur l'item sélectionné le TextBlock en bas à gauche affichera soit le Text (pour un Button) soit le nom de la classe (pour les UserControl).

Enfin, dans l'exemple ci-dessous je vous laisse voir l'effet de texte si vous cliquez sur le titre en haut. Sa position, sa taille, la couleur du fond, tout cela est loin d'être optimal pour rendre justice à l'effet utilisé. Il existe d'autres effets et tous les paramètres sont modifiables.

[silverlight:source=/SLSamples/Cellbi/CarouselBinding.xap;width=400;height=300]

Conclusion

La librairie de Cellbi est sympathique, rapide à prendre en main et propose des effets, notamment sur le texte, qui sortent un peu de l'ordinaire ce qu'il faut saluer. Pour environ 1000 de nos vieux nouveaux francs (179 dollars) cela permet d'ajouter un peu d'attrait dans un visuel. C'est pas cher comparé au travail nécessaire pour programmer ce genre de choses. Autant les librairies qui proposent des boutons ronds ou autres bêtises qu'on peut refaire en quelques minutes sous Blend me laissent de marbre, autant quand la qualité et l'originalité sont vendus bon marché il y a une vraie économie de travail pour le développeur, et là, cela en vaut la peine.

Ne vous attendez donc pas à une grosse lib bien grasse pleines de boutons ronds, de calendriers vus et revus ou de thèmes hideux. Juste quelques composants et des effets originaux.

A vous de juger, et le mieux c'est encore de tester la démo complète en ligne que vous trouverez sur le site de Cellbi Software.

Amusez-vous bien !

(et Stay Tuned, l'exemple pour M-V-VM arrive bientôt !)

blog comments powered by Disqus