Question

Il semble que Silverlight/WPF représente l'avenir à long terme pour le développement d'interfaces utilisateur avec .NET.C’est formidable car je vois l’avantage de réutiliser les compétences XAML tant du côté client que du côté développement Web.Mais en regardant WPF/XAML/Silverlight, ils semblent être des technologies très volumineuses et alors, quel est le meilleur endroit pour commencer ?

J'aimerais entendre toute personne ayant une bonne connaissance des deux et pouvant recommander quel est le meilleur point de départ et pourquoi.

Était-ce utile?

La solution

Devriez-vous d’abord apprendre ASP.NET ou Winforms ?ASP ou MFC ?HTML ou VB ?C# ou VB ?

Mettez de côté l’idée selon laquelle il existe une progression logique à travers ce qui est devenu un ensemble très complexe de technologies imbriquées, prenez du recul et posez-vous une série de questions :

  • Quels sont vos objectifs;comment voulez-vous équilibrer le profit et le plaisir
  • Êtes-vous orienté vers le court terme ou vers le long terme
  • Êtes-vous le genre de personne qui aime devenir bon dans quelque chose et le faire beaucoup ou vous ennuyez-vous une fois que vous l'avez bien compris ?

L’étape suivante, et la plus difficile, consiste à accepter que tout conseil qui vous est donné est forcément faux ;et plus l'horizon temporel est long, plus il est probable qu'il soit incorrect.Si l’avis dure plus de six à 12 mois, la probabilité qu’il soit extrêmement incorrect est proche de 1.

Je ne peux que vous raconter mon histoire, rapidement.En 2000, j'étais heureux en tant que consultant travaillant de manière rentable en C++ sur des applications Windows, écrivant sur ASP.NET et WinForms.puis j'ai vu C# et le monde a basculé.Je n'y suis jamais retourné.

Il y a deux ans, j'ai eu le même genre de révélation, mais d'un ordre de grandeur plus grand, plus fort et avec plus de conviction à propos de Silverlight.Oui, WPF est magnifique, et il se peut que je sois tout mouillé à ce sujet, mais je crois en mon instinct que Silverlight change tout.Il n'y avait aucun doute à l'époque et il n'y a aucun doute aujourd'hui que Silverlight est la plate-forme de développement la plus importante pour Microsoft depuis .NET (certainement) et peut-être depuis le passage au C++.

En un mot, voici pourquoi.Je ne comprends pas où sont ses limites.Avec la plupart des plateformes, je fais :vous pouvez faire ceci, mais vous ne pouvez pas faire cela.WPF en est un très bon exemple, tout comme ASP.Net et WinForms et, enfin, vraiment tout jusqu'à présent.
Avec Silverlight, je ne vois pas encore les limites.Silverlight est déjà passé du bureau aux téléphones, et je ne vois aucune raison pour que cela s'arrête là.Oui, c'est vrai, il est lié au navigateur, mais je vois cela moins comme une cellule de prison que comme un tank dans lequel Silverlight va rouler sur beaucoup de terrain (il doit être très tard, je devrais me coucher).

Quoi qu'il en soit, pour l'instant, apprendre Silverlight est un gaz, il y a beaucoup de matériel sur le Site Silverlight.net, et ce qu'il y a de mieux dans l'apprentissage de Silverlight, c'est que si vous ne voyez pas ce dont vous avez besoin, vous pouvez me crier dessus et je veillerai à ce que vous l'obteniez assez rapidement.

Profitez-en, bonne chance et le sale petit secret est que tout ira bien, quel que soit votre choix.Ce n'est que du logiciel.

-jesse


Jesse Liberté"Geek de Silverlight"

Autres conseils

Je dirais d'abord d'utiliser Silverlight !

J'ai déjà programmé avec WPF et Silverlight.

Mais comme Silverlight est un sous-ensemble de WPF, si vous allez trop loin et essayez de passer à l'écriture d'applications Silverlight, vous vous gratterez la tête à la recherche de cette "balise" que vous avez appris à aimer dans WPF mais qui n'est pas disponible dans Silverlight.

Lorsque vous maîtrisez d'abord les éléments de base de Silverlight, le mécanisme/déclencheur/toutes les fonctionnalités supplémentaires de WPF seront simplement ajouter à la plupart de ce que vous connaissez déjà.

Silverlight dans WPF diffère au niveau caractéristiques niveau, pas seulement quelques contrôles ou animations manquants.Prenez le mécanisme de déclenchement WPF par exemple, il n'est pas entièrement disponible dans Silverlight.

Donc, en apprenant d'abord le plus petit sous-ensemble, vous pourrez étendre ces connaissances à l'ensemble complet plus tard, mais si vous avez commencé avec l'ensemble complet et que vous devenez accro à certaines des subtilités disponibles, vous aurez des problèmes plus tard lorsque quelqu'un vous demandera de porter vos applications WPF conçues pour utiliser Silverlight.

Je vais aller à contre-courant et dire d'apprendre d'abord WPF.

Voici mon raisonnement :

  • Beaucoup plus de ressources sont disponibles pour WPF que pour Silverlight, telles que des livres, des blogs et de la documentation msdn.

  • Vous n'avez pas affaire à une bêta, une cible mouvante

  • Vous n'avez pas à travailler uniquement avec des appels asynchrones

  • Non limité par le manque de fonctionnalités telles que les dictionnaires fusionnés, les déclencheurs, les TileBrushes, etc.

  • Vous n'avez pas à vous soucier de réapprendre à faire les choses correctement en raison du manque de fonctionnalités de SL

Silverlight est une version allégée de WPF, elle devrait donc contenir moins de choses à apprendre.D'un autre côté, les deux plates-formes ont des cibles différentes (web et client riche), donc je suppose que cela dépend de l'application que vous allez créer.
Si vous voulez juste apprendre par vous-même (pas d'application dans un avenir proche), je choisirais Silverlight car ce serait moins à assimiler.Néanmoins, Silverlight est une cible mouvante, bien plus que WPF, vous devrez donc suivre certains changements de temps en temps (les joies d'être un des premiers utilisateurs :)).
WPF a beaucoup plus de choses que vous voudrez probablement utiliser à un moment donné, mais j'attendrais d'abord que les besoins se fassent sentir.

Tous les experts du secteur que j'ai entendus dans les podcasts, les blogs et les interviews recommandent d'apprendre Silverlight en premier puis passer progressivement à WPF qui est un énorme framework d'interface utilisateur.

Silverlight est léger et vous permet de travailler sur un sous-ensemble plus petit de contrôles et de fonctionnalités, de sorte que vous compreniez ce nouveau paradigme de création d'interface utilisateur basé sur :

  1. Modèles
  2. Liaison de données
  3. modes

Mise à jour:07/2011

Je déteste mentionner cela, mais ces derniers temps, Microsoft a mis davantage l'accent sur HTML5, Javascript et CSS en mettant en avant les puissances d'IE 9 et IE 10, ainsi que du prochain Windows 8.

De plus en plus de développeurs et de CTO sont sceptiques quant à Silverlight en tant que plate-forme d'application LOB. Au fil du temps, nous soupçonnons que Silverlight sera limité à Windows Phone et à des domaines de niche tels que la santé des applications liées aux graphiques plutôt qu'à une application LOB classique.

Comme il semble actuellement, à partir de l'été 2011, l'avenir pourrait paraître fragmenté avec davantage d'opportunités pour les technologies Web pures (HTML5, JS et CSS) par opposition à un plugin et une technologie d'interface utilisateur spécifique au système d'exploitation.

Je commencerais par apprendre XAML, en lisant quelques tutoriels et en jouant avec XAMLPad.Cela vous donnera une idée des bases avant de créer une application.

Je commencerais par WPF et ferais des échantillons de familiarisation avec les contrôles très simples.Votre objectif devrait être d’apprendre XAML et Binding.Ainsi, si vous créez simplement des applications de fenêtre WPF de base, votre vitesse d'apprentissage s'accélérera.Ensuite, vous pourrez éventuellement passer à Silverlight.Ouais, comme d'autres mentionnés ici, Silverlight est un sous-ensemble de WPF.

Eh bien, cela dépend de ce sur quoi vous allez travailler.Si vous travaillez sur client/serveur, j'opterais pour WPF.Si vous travaillez dans un environnement où vous pouvez garantir que .Net est installé sur toutes les machines, j'opterais également pour WPF, car vous pouvez utiliser ce qu'on appelle un XBAP, qui est une application WPF exécutée via le navigateur.

C'est vraiment comme tu veux.Cependant, je dirais que Silverlight n'est pas encore RTM, contrairement à WPF.WPF propose de nombreux livres sur le sujet, contrairement à Silverlight.Il peut être plus facile d'obtenir tout le Zen de WPF en lisant quelques-uns de ces livres, puis de plonger dans celui avec lequel vous aimeriez jouer.

Gardez simplement à l’esprit que Silverlight dispose d’un sous-ensemble des contrôles de WPF, d’un framework .Net couplé, et n’effectue pas d’appels synchrones.Tant que vous savez cela dès le départ, vous pouvez commencer à apprendre l'essentiel de l'ensemble des bases et adapter ultérieurement votre expérience pratique à la technologie qui vous convient le mieux.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top