2010-02-24 9 views
2

Jusqu'à présent travaillé avec C# WinForms applications et eu du succès avec elle .... Mon prochain projet serait un basé sur le Web un dans asp.net ...Passer de la fenêtre du développement basée sur le Web

Comme je suis un débutant que je veux savoir

  • Défis impliqués lors du déplacement de la fenêtre basée sur le développement Web?

  • Quels sont les facteurs que je dois surveiller?

+2

Un duplicata ici: http://stackoverflow.com/questions/876440/ –

Répondre

4

Les grandes choses qui rend le développement Web une expérience différente pour une ancienne fenêtre dev sera probablement ces deux:

  • gestion État

    : Avec une application web, votre code ne vit que sur le serveur pour une très petite tranche de temps pendant la demande de l'utilisateur réel. Ensuite, il se termine. Dans le développement de Windows, vous avez l'habitude de faire vivre vos objets tout le temps et votre état "est". Par exemple, si vous chargez des données dans un objet, cet objet est juste là. Lorsque l'utilisateur clique sur un bouton qui filtre les données, tout le code modifie l'objet existant et c'est fait. Cependant, sur une application Web, l'objet n'existe qu'un instant. Ainsi, lorsque l'utilisateur clique sur ce bouton, vous devez reconstruire l'objet, puis le filtrer, puis renvoyer les résultats au client. Cette conception sans état des applications Web est un vrai défi et apparaîtra partout dans votre code. Il y a bien sûr des façons de gérer l'État, mais ce n'est pas toujours automatique. Cela seul fait que les applications Web de programmation se sentent très différentes des applications Windows. Le client est HTML/Javascript: les navigateurs exposent un modèle d'objet qui représente la page, et vous pouvez utiliser javascript pour interagir avec ce modèle d'objet; mais c'est l'un des modèles d'objets les plus complexes et les moins organisés jamais inventés par l'humanité. Le simple fait de maîtriser les différents objets, ce qu'ils font, et leurs nombreuses bizarreries peuvent prendre beaucoup de temps. Ajoutez à cela le nombre impressionnant de choses que vous pouvez "faire" avec cette API que vous n'êtes pas "supposé" faire (soit par convention, soit par ce que l'on appelle les standards) cela rend encore plus amusant. Puis ajouter à cela le fait que les fonctions standard de l'interface utilisateur à votre disposition sont très limités par rapport aux fenêtres et UIs vous vous retrouvez avec beaucoup de frustration ...

En ce qui concerne les choses à surveiller .. . sensationnel! C'est une grosse liste!

Je pense que la plus grande chose est de vraiment s'assurer que vous testez vos pages dans plusieurs navigateurs. Trop peu de développeurs "supposent" que cela fonctionnera dans chacun d'entre eux. Je vous conseille également de ne pas faire votre développement initial en utilisant IE.J'ai trouvé que si vous utilisez Chrome ou Firefox et assurez-vous que cela fonctionne d'abord; alors il est plus probable de travailler dans IE aussi ... mais l'inverse n'est pas vrai. IE a encore beaucoup de compatibilité en amont qui lui permet de rendre des choses qui ne fonctionnent pas juste ailleurs.

2

Pour se déplacer dans la programmation web, le commutateur plus facile pour vous serait de commencer à utiliser des formulaires Web.

Cependant, vous n'obtenez pas l'expérience complète que les formulaires Web cachent beaucoup de la façon dont l'Internet fonctionne pour faire ressembler à la programmation de bureau.

Une manière beaucoup plus «native» de construire des sites Web est de suivre le modèle MVC. Ce qui n'est pas plus difficile, mais c'est différent. ASP.NET MVC est probablement votre meilleur pari que vous utilisez déjà C# et Visual Studio. Mais une fois dans l'état d'esprit MVC, vous pouvez facilement passer à Django, Symfony ou Ruby on Rails si nécessaire.

2

À moins que vous avez une équipe, bienvenue dans le monde merveilleux de:

  • Hébergement (IIS, etc.)
  • Web Conception
  • CSS/HTML
  • Javascript
  • page cycle de vie (quand faire quoi)
  • Délais
  • Sécurité
  • Formulaire de manutention

Bien que la logique métier/processus est le même quelle que soit la plate-forme de développement, il y a beaucoup d'autres aspects à prendre en considération lors de la transition vers le développement web. En fait, j'ai commencé à faire de la programmation d'applications Web, et j'AIME l'opportunité de faire une application Winforms rapide.

Les éléments Web requièrent beaucoup plus de design et d'ergonomie. Encore, puisque je n'ai pas fait des tonnes de winforms, je ne suis pas sûr des détails, mais il y a beaucoup plus flashiness disponible en ligne (qui peut être une bénédiction ou une distraction), et tout exige la connaissance.

Espérons que ça aide.

Questions connexes