Fermer

décembre 14, 2020

Interface utilisateur Telerik pour les concepteurs WinForms pour .NET Core et .NET 5.0


Les nouveaux concepteurs .NET Core Telerik WinForms existent depuis un certain temps. Nous les avons publiés dans R3 2020, à la mi-septembre. Maintenant que .NET Conf 2020 est terminé et que .NET 5.0 est officiel, nous avons le temps de parler plus en détail de notre prise en charge de la conception de Visual Studio WinForms dans .NET Core et .NET 5.0.

Pourquoi nouveau Designers?

Cette question existe depuis un certain temps. La réponse est simple: nous avons besoin de nouveaux concepteurs car l'architecture sous-jacente a changé. En essayant de comprendre l'idée d'utiliser des contrôles .NET Core dans l'aire de conception de Visual Studio, vous en venez à comprendre à quel point cela est vraiment complexe. L'ancienne approche ne fonctionnerait jamais avec les composants .NET Core simplement parce que Visual Studio reposait sur une interaction directe avec les composants en cours de conception. Bien que cela soit possible avec les contrôles .NET Framework, cela ne fonctionnera pas avec les contrôles .NET Core. Visual Studio est une application de bureau construite sur .NET Framework et à l'intérieur du processus Visual Studio – devenv.exe vous ne pouvez pas accéder aux composants .NET Core. Comme vous ne pouvez pas interagir avec les composants, vous avez besoin d'une nouvelle solution d'où la nouvelle architecture.

Nouvelle approche

Microsoft a publié le premier aperçu du concepteur WinForms il y a un peu plus d'un an. À l'époque, il manquait beaucoup de fonctionnalités et manquait de points d'extension et d'API pour permettre aux concepteurs personnalisés. Toujours à la base, la solution choisie n'a pas beaucoup changé depuis. La conception est divisée en trois couches: client, protocole et serveur. La couche client fait partie de Visual Studio et cible le .NET Framework classique. La couche serveur est l'endroit où vivent les composants .NET Core et s'exécute dans un processus .NET Core distinct. La couche de protocole est multi-cible —.NET Framework et .NET Core — et elle est responsable du traitement des demandes du client et de la gestion des réponses et des notifications du serveur.

 net5.0-couches "title =" net5.0 -layers "/> </p>
<p> La ​​plupart du code du concepteur réside sur le serveur, notamment tous les concepteurs de contrôle, les sérialiseurs CodeDom personnalisés, les listes d'actions, etc. Il y a encore des parties des concepteurs qui doivent être implémentées dans le client. les parties incluent tout code qui gère les entrées utilisateur, généralement les éditeurs. Le protocole est la couche de communication permettant au client et au serveur de se parler. Il est construit au-dessus de la norme <a href= JSON-RPC et il rend il est possible que deux mondes distincts, .NET Framework et .NET Core, se connectent.

API Designer

Microsoft publie un package NuGet WinForms Designer SDK qui fournit tous les points d'extension et classes de base nécessaires pour implémenter la conception personnalisée -time dans Visual Studio pour .N ET Core. Ce SDK remplace essentiellement les API et les assemblys de concepteur classiques qui faisaient partie du .NET Framework et de Windows lui-même. Le nouveau moment de conception de WinForms est indépendant et dans une certaine mesure autosuffisant, il n'a aucune dépendance sur le système d'exploitation et il dépend uniquement de Visual Studio. Le SDK est inséré dans Visual Studio et il extrait et utilise le code du concepteur personnalisé dans les projets clients.

Interface utilisateur Telerik pour WinForms Designer

Nous sommes le premier fournisseur de contrôle à utiliser la nouvelle API Microsoft pour Visual Studio .NET Core au moment du design. En effet, nos concepteurs .NET Core existent depuis un certain temps. Nous les avons initialement publiés à la mi-septembre 2020 en ciblant le dernier aperçu .NET 5.0 à ce moment-là. Un mois plus tard, avec la version R3 2020 SP1 nous avons ajouté la prise en charge de .NET Core 3.1. Je suis heureux de dire que tous les concepteurs ont migré et que nous avons réalisé une expérience de conception similaire à celle du .NET Framework classique. Voici le tout-puissant RadGridView ouvert dans le concepteur Visual Studio d'un projet .NET 5.0:

 net5.0-designer "title =" net5.0-designer "/> </p>
<p> Les concepteurs, selon les spécifications de l'API, doivent être implémentées dans un package NuGet. Tout concepteur personnalisé devra cibler le nouveau SDK Microsoft WinForms Designer, tout comme le nôtre. Le SDK entre également dans Visual Studio et une modification radicale du SDK dans une future version de Visual Studio peut potentiellement interrompre un concepteur conçu pour une ancienne version du SDK. Avec le temps, le SDK arrivera à maturité, et les modifications avec rupture deviendront rares. Pour l'instant, il est judicieux de prêter attention à la version Telerik et à la version Visual Studio, et de vérifier ils sont compatibles. </p>
<table>
<tbody>
<tr>
<th> VERSION TELERIK </th>
<th> VERSION VISUAL STUDIO </th>
</tr>
<tr>
<td> HotFix v2020.3.1116-hotfix </td>
<td> Visual Studio 2019 Preview v16.9 Preview 1 </td>
</tr>
<tr>
<td> R3 2020 SP1 v2020.3.1020 </td>
<td> Visual Studio 2019 v16.8 GA </td>
</tr>
<tr>
<td> </td>
<td> Visual Studio 2019 Preview v16.8 Preview 4 [19659018] R3 2020 v2020.3.915 </td>
<td> Visual Studio 2019 Preview v16.8 Preview 3 </td>
</tr>
</tbody>
</table>
<p> Consultez notre documentation pour plus de détails sur notre prise en charge au moment de la conception et un tableau de compatibilité des versions à jour: <a href= https : //docs.telerik.com/devtools/winforms/core/design-time .

Et maintenant

Nous nous engageons à prendre en charge les futures versions .NET et Visual Studio. Les glyphes de sélection personnalisés sont toujours manquants, tout comme les éditeurs in situ. Nous savons qu'ils sont importants pour la facilité d'utilisation, mais ce ne sont pas des bouchons. Ces fonctionnalités seront des ajouts intéressants dans une prochaine version de notre implémentation au moment du design .NET Core. Allez-y et testez nos concepteurs, nous aimerions connaître vos commentaires!

Essayez-le

Assurez-vous de télécharger et d'essayer la dernière version de Telerik UI pour WinForms pour découvrir toutes les nouvelles fonctionnalités et thèmes:

Essayez Telerik UI pour WinForms

Nous aimerions savoir comment tout cela fonctionne pour vous, alors faites-nous part de vos impressions en visitant notre Portail de commentaires ou en laissant un commentaire ci-dessous.





Source link