30 votes

Les contrôles WPF tiers : Devexpress vs Telerik

Je voudrais entendre votre opinion sur les deux fournisseurs de contrôle.

En résumé : je suis en train de construire une application de bureau classique LOB. L'application sera entièrement créée en WPF. PRISM 4.0 sera largement utilisé. Dans la mesure du possible, j'essaierai de suivre le modèle MVVM (il serait bien si les contrôles sélectionnés étaient conçus pour l'adopter facilement).

Je suis principalement intéressé par :

  • Bon grilles de données, qui supporte le tri, le filtrage, le regroupement, l'exportation, l'impression et fonctionne bien avec un grand nombre d'enregistrements liés (10k+)

    Combobox qui prend en charge le filtrage et l'auto-complétion.

    Barre de navigation

    Gestionnaire de mise en page similaire à celui utilisé dans VS 2010

À long terme, j'aimerais également utiliser leurs :

  • Outils de rapport

    Contrôles de "data mining"

    Support de localisation afin de localiser les actions de la grille de données par exemple,..

J'utilise Devxpress Winforms depuis un certain temps et j'étais assez satisfait. Leur équipe de support est formidable. Cependant, je veux vérifier s'il y a une meilleure option sur le marché. En d'autres termes, je veux savoir si les contrôles de Telerik ont une valeur ajoutée supplémentaire ?

14voto

Gimno Points 2976

Nous avons dû prendre une décision assez similaire il y a quelques mois. Nous utilisions WinForms, le bloc d'application d'interface utilisateur composite de Microsoft et DevExpress WinForms. Pour notre nouvelle application, créée à partir de zéro, nous avons décidé d'utiliser WPF (sans PRISM) et nous avions surtout besoin de certaines grilles, nous avons donc utilisé les contrôles DevExpress WPF.

C'était à mon avis une bonne et une mauvaise décision.

La bonne partie :

  • Vous pouvez utiliser les contrôles de manière très similaire à ce à quoi vous êtes habitué. Il y a quelques différences, mais on s'y habitue rapidement. C'est un énorme avantage, car il nous a fallu un certain temps pour nous y habituer en utilisant les contrôles WinForm.

  • Les contrôles, en particulier les grilles, sont utilisables comme les contrôles WinForms. Si vos utilisateurs en ont l'habitude, la transition est très fluide.

  • L'application d'un des thèmes fournis est très simple et vous obtenez une solution attrayante sans grand ennui. Ils s'appliquent également aux contrôles WPF purs, donc l'ensemble de l'application a une apparence cohérente. Nous utilisons principalement Windows XP, les thèmes s'appliquent également à cela, ce qui est exceptionnellement utile pour nous.

La mauvaise partie :

  • Nous nous attendions à ce que les contrôles DevExpress WPF offrent la même couverture de contrôle que les contrôles WinForm. Les contrôles DevExpress WPF avaient à ce moment-là le numéro de version 10.1, et nous avons été déçus de constater que certains contrôles manquaient complètement (par exemple TreeList, Schedulers, Passwordbox ou le très utile LookUpEdit). Alors que les trois derniers sont disponibles avec la version 10.2, les TreeLists ne sont toujours pas là. Si vous cherchez des contrôles supplémentaires du package WinForms autres que ceux répertoriés, il est bon de vérifier s'ils existent pour les contrôles DX WPF en premier.

  • Certaines parties donnaient l'impression d'avoir été faites rapidement. Des correctifs rapides étaient nécessaires pour obtenir les contrôles fonctionnant comme nous avions l'intention de les utiliser. La bonne chose est que la plupart de ces problèmes sont résolus avec 10.2.

  • La documentation et le centre de support des contrôles WPF semblent moins complets que la documentation WinForms. Bien que ce ne soit probablement que mon impression personnelle, j'ai presque toujours pu trouver une réponse à un problème spécifique que j'avais rencontré avec les contrôles WinForms sur le site DX, je ne suis pas aussi successful avec les contrôles WPF. L'équipe d'assistance est tout aussi utile que toujours, cependant.

Cette liste n'a pas vocation à être exhaustive, ce sont les choses qui me sont immédiatement venues à l'esprit.

Alors, que ferais-je si je devais prendre la même décision à nouveau ? Je choisirais très probablement d'utiliser à nouveau DevExpress. La plupart des points négatifs qui m'ont dérangé ont été corrigés avec la version 10.2, donc les contrôles sont assez utilisables maintenant. J'apprécie particulièrement le fait que vous puissiez utiliser votre expérience antérieure avec les contrôles WinForm (avec des limitations, bien sûr). C'était d'ailleurs la raison principale de l'achat des composants DX. Malheureusement, je ne connais pas suffisamment les contrôles Telerik pour en dire quoique ce soit à leur sujet, donc si quelqu'un a de l'expérience avec les deux, notamment en passant de DX à Telerik, ce serait sûrement une information très intéressante.

Nous n'utilisons pas le modèle MVVM avec nos grilles, car la manière "traditionnelle" de charger et d'afficher des données nous suffit largement. Certaines de nos grilles contiennent plus de 100 000 valeurs, la performance de la grille est à mon avis toujours correcte. Les contrôles ne semblent pas avoir un support intégré pour le MVVM, si vous essayez de l'utiliser, il semble que vous deviez tout faire manuellement. Peut-être que la version 10.2 a changé les choses à ce sujet, je n'ai pas vérifié, mais je ne le pense pas.

Nous avons utilisé notre propre mise en œuvre pour la localisation, donc je ne connais pas le support de localisation de DX.

7voto

Davide Piras Points 28708

Je choisirais définitivement DevExpress, leurs composants sont à mon avis plus agréables et avec de meilleures APIs que ceux de Telerik, alors n'oublions pas que vous connaissez déjà leur modèle d'objet, leurs conventions de nommage et leurs APIs de l'univers des formulaires Windows, ce n'est pas une chose mineure car vous êtes très probablement réutiliser vos connaissances et c'est bien plus important et précieux.

7voto

Ron Points 323

J'ai évalué plusieurs packages de contrôles WPF, Telerik, devExpress, Xceed, SyncFusion, etc. Nous étions principalement intéressés par un contrôle de grille capable de gérer une grande quantité de données et offrant de bonnes performances. Dans un test simple, nous avons chargé 120 000 éléments dans la grille et effectué un regroupement sur les champs.

DevExpress était le chargement le plus rapide par rapport aux autres. Il a fallu 15 secondes pour charger, tandis que les autres ont pris environ 45 secondes. DV ferait le regroupement en 7 secondes, tandis que les autres ont pris près de 45 secondes. Quelques-uns des autres packages de contrôles se sont gelés ! (fyi, les données étaient chargées depuis Mongo).

Lorsque le dialogue de filtre pour une colonne sur Telerik était ouvert, il dépassait le bas de l'écran sans aucune barre de défilement. De plus, cliquer sur un élément de filtre dans la liste déroulante effectuait immédiatement le filtre au lieu d'attendre que je sélectionne les autres. Par conséquent, si vous sélectionnez 5 éléments, cela prendrait 5 fois plus de temps.

J'aimerais que DevExpress propose une option de filtre de liste déroulante avec cases à cocher (comme Excel). Vous ne pouvez sélectionner qu'une seule valeur, mais il possède un dialogue de filtre très pratique qui vous permet de réaliser des filtres plus complexes. Cependant, j'aimerais pouvoir facilement cocher quelques valeurs et passer rapidement à autre chose.

Telerik s'intégrait bien avec SQL Server en utilisant Entity Framework. Sa pagination, son tri, son filtrage, etc. s'intégraient directement avec EF et permettaient à SQL Server d'effectuer ces opérations sur la base de données. Très bien ! J'ai surveillé les commandes SQL lors des opérations. Si vous consultez de grandes quantités de données sur SQL Server, c'est peut-être le seul contrôle qui le fait vraiment bien. (Sauf pour la liste déroulante de filtre qui ne gère pas très bien les grandes données). Nous utilisons Mongo pour nos grandes données, donc cela ne s'applique pas à nous. Nous avons eu quelques exceptions avec Telerik lors des tests de données. DevExpress n'a pas d'option de pagination à moins de le faire vous-même.

En fin de compte, nous avons choisi DV pour des raisons de performances avec de grandes données et de stabilité.

5voto

Jon B Points 575

Le Telerik RadDataGrid prend en charge MVVM et le modèle de commande correctement dès la sortie de la boîte. Le DevExpress en requiert beaucoup de code supplémentaire avant de pouvoir utiliser correctement le MVVM avec lui.

3voto

cng Points 26

J'étais exactement dans la même position il y a quelques mois lorsque je évaluais les contrôles WPF pour un nouveau projet WPF. Je ne sais pas si vous avez pris une décision, mais je peux partager mes expériences avec Telerik et j'espère que cela vous aidera.

Dans mon projet, un besoin particulier était d'utiliser TreeListView et il y avait peu de fournisseurs réputés qui proposaient ce contrôle. J'ai passé du temps à faire des recherches et j'ai trouvé Telerik qui offrait ce dont j'avais besoin. J'ai téléchargé l'essai gratuit et je l'ai utilisé pendant 2 mois, j'ai contacté leur support, j'ai vérifié leurs forums. Je peux vous dire qu'ils offrent un excellent support ! Habituellement, le support propose des solutions avec des codes d'exemple. Comme tous les développeurs, nous rencontrons des obstacles, nous avons étudié l'API, les documentations et les exemples. Pour moi, le support est important car il permet de gagner du temps de développement ! Mon retour d'expérience est que Telerik propose de superbes contrôles UI avec un vaste choix de personnalisation, et un excellent support technique. Cependant, leur documentation n'est pas si bonne. De plus, faites attention aux performances des contrôles WPF, d'après mon expérience, cela peut impacter les performances si vous avez une grande source de données. Assurez-vous de faire des prototypes dans les domaines architecturaux critiques si les performances sont une exigence clé.

Essayez juste et voyez si cela répond à vos besoins ou non.

BTW, je suis aussi client de ComponentOne. Obtenez juste les contrôles dont vous avez besoin s'ils peuvent vous faire gagner du temps. L'important est de pouvoir expédier votre produit à temps ! J'espère que cela vous aidera.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X