2010-01-15 3 views
5

J'ai un site de passe-temps public qui reçoit environ 3000 visiteurs uniques par jour, écrit en ASP classique qui a besoin d'une refonte et d'une refonte. J'ai réalisé que la mise à niveau vers ASP.net est la meilleure façon d'implémenter des fonctionnalités qui sont trop dures dans ASP pour l'amateur (consommer des flux RSS, l'authentification et les profils utilisateur) mais que je suis désireux d'obtenir coincé dans une fois que je passe la refonte/mise à niveau. Mais, j'ai été paralysé par l'incertitude quant à la voie à suivre: Web Forms ou MVC - en plus du fait qu'il semble toujours y avoir une nouvelle version sur le point de paraître qui vaudrait la peine d'être améliorée. la courbe d'apprentissage. Je passe donc des heures à lire sur WebForms, puis je lis quelque chose qui me dit que je ferais mieux de penser à MVC, puis je lis sur MVC et je me demande si cela convient vraiment à ce que j'essaie de faire. Aucun des tutoriels et des sites de démarrage ne parle vraiment de ce qui fonctionne bien pour les sites qui sont de vieux sites d'informations statiques traditionnels (pas de catalogues ou de contenu utilisateur).Conseils sur l'utilisation de ASP.net WebForms ou MVC

Mon site contient environ 75% de pages d'informations statiques qui changent rarement. Toutefois, le script ASP est essentiel dans l'interface utilisateur sur toutes ces pages - en sélectionnant de façon dynamique ou aléatoire des éléments de conception (comme une photo d'en-tête) ou en fournissant une boîte de contrôle spécifique au jour de l'année ou au hasard. Le type de script que j'ai est des choses comme un script pour sélectionner au hasard et afficher l'une des 30 images d'en-tête pour la page, un script pour afficher le texte et les liens en fonction du jour de l'année, un script qui permet moi de déclarer un mot-clé de recherche particulier comme étant pertinent pour le contenu d'une page particulière et avoir pré-chargé comme le texte dans la boîte de saisie de recherche lorsque la page se charge.

Pour la plupart des autres pages, il s'agit d'afficher des données. Certains d'entre eux sont de petits jeux d'enregistrements (informations de type almanach sur ce qui est significatif à propos de ce jour particulier de l'année) et je les sauvegarde et les extrait d'une variable Array dans la page elle-même. D'autres tirent des informations d'une base de données Access qui change assez rarement que je n'ai jamais dérangé la mise en œuvre des fonctionnalités CUD en direct sur le site (et les rôles et l'authentification nécessaires pour les sécuriser), mais juste mettre à jour la base de données . Avec ASP.net, je serais bien passer à SQL Server et la construction de pages d'administration en direct. Je n'ai pas besoin de rester avec Access. Mais, je suis plus habitué à écrire du HTML brut et du CSS et je trouve que les WebForms (en particulier Viewstate et les événements/postbacks) sont un défi pour me faire une idée conceptuelle. Même si cela semble correspondre plus à la page statique dans un système de fichiers avec du code côté serveur auquel je suis habitué. D'autre part, MVC semble être bien adapté à la conception amoureusement codée à la main, mais où tout se tire d'une base de données.

Que recommanderiez-vous? Devrais-je tirer toutes les pages statiques dans une base de données et les servir à travers une vue "article" dans MVC?

Je ne suis pas un développeur professionnel - donc ce n'est pas ce qui va le mieux sur mon CV. Je cherche juste ce qui (a) aura le moins de courbe d'apprentissage pour quelqu'un venant des expressions en ligne VBScript dans ASP classique et (b) ce qui convient le mieux à ce que fait mon site et (c) me laisse avoir un certain contrôle sur la marque ... et CSS.

Répondre

7

Vraiment aller MVC, surtout si vous êtes plus à l'aise en tant que gars HTML/CSS.Les post-publications n'offrent aucun avantage pour un site en grande partie statique, et il vous faudra des mois pour comprendre le cycle de vie de la page (je n'ai pas encore rencontré un développeur maître du cycle de vie après 6 mois de codage).

La conversion d'un site classique ASP en MVC implique essentiellement le déplacement de vos balises HTML et ASP dans Views et la réplication de vos URL existantes à l'aide des mécanismes de routage. Vous aurez besoin de mettre à jour vos scripts pour utiliser des fonctionnalités plus modernes, mais cela devrait être assez simple, j'imagine. Je ne suis pas d'accord avec l'idée que dans MVC tout est tiré de la base de données - c'est un peu hors de propos pour l'architecture. J'ai codé 100% des sites statiques dans les frameworks MVC et je l'ai adoré :)

Ma règle générale est orientée vers ceci: "MVC pour les sites web, WebForms pour les applications web d'entreprise - peut-être."

4

MVC est bien adapté à ce que vous faites.

Il est parfaitement correct d'avoir des vues qui sont statiques, si besoin est. Jetez un oeil à ce qui est généré par le fichier File-> New Project de MVC, par exemple. Considérant que vous êtes déjà habitué à l'écriture HTML/CSS et que les deux frameworks présenteront une courbe d'apprentissage, je recommande MVC. Je pense que vous trouverez que MVC répond aux exigences A et C beaucoup mieux que WebForms aussi (et les deux satisfont B).

0

Utilisez ce qui est le plus productif, si vous êtes familiarisé avec les formulaires Web et, comme le modèle piloté par événement, vous pouvez toujours rechercher MVP (Model-View-Presenter).

ASP.NET MVC est vraiment génial et pour moi, cela augmente la productivité.

2

Compte tenu de votre expérience, je vais vous suggérer d'utiliser ASP.NET MVC. Puisque vous êtes familier avec HTML CSS, vous devrez vous habituer au modèle MVC qui est moins d'une semaine de travail. MVC est également meilleur et plus rapide pour afficher simplement des données et il prend en charge la mise en cache de sortie afin que vous puissiez mettre en cache des pages statiques et atteindre une vitesse impressionnante. Il n'y a pas non plus de problème à utiliser une confusion entre les deux - vous pouvez toujours avoir des pages WebForms et utiliser les contrôles là où vous en avez besoin.

0

Tout d'abord, vous devez vraiment vous assurer qu'une réécriture en vaut la peine. Dans mon expérience, les réécritures prennent beaucoup plus de travail que prévu et ont un long délai de récupération. Cela ne veut pas dire qu'ils ne devraient pas être faits, cela signifie qu'il doit y avoir de très bonnes raisons d'en créer un. Les fonctionnalités que vous mentionnez peuvent facilement être implémentées en ASP classique en une fraction du temps. Une application héritée est une bataille effrayée par des ajustements, des corrections de bugs et des fonctionnalités cachées. Une réécriture signifie généralement perdre ces années d'expérience. Tout dépend du rapport caractéristiques actuelles/nouvelles fonctionnalités. Deuxièmement, si vous allez réécrire, vous pouvez également vouloir vérifier les technologies en dehors d'asp.net. Le site que vous décrivez semble être très orienté contenu, ce qui pourrait mieux convenir à django qu'à asp.net mvc. Bonne chance avec votre site.

0

Je vous recommande également d'utiliser ASP.NET MVC car vous êtes plutôt familier avec HTML/CSS. En outre, avec des fonctionnalités telles que le routage, vous pouvez mieux organiser la structure du site Web. En outre, votre site Web devient beaucoup plus prédictif pour les visiteurs en raison de l'URL.

Exemple:

www.domain.com/hobbies/photography 
2

De mon expérience de passer d'ASP à ASP.NET et ASP.NET MVC, il est plus facile de passer d'ASP à ASP.NET MVC. Cependant, la courbe d'apprentissage est pas si facile S'il vous plaît lire et suivre http://nerddinnerbook.s3.amazonaws.com/Intro.htm et, après avoir lu, voir ce qui est nouveau dans la version 2, par exemple:

weblogs.asp.net/scottgu/archive/2010 /01/10/asp-net-mvc-2-strongly-typed-html-helpers.aspx

Il deviendra un RAD pour les développeurs expérimentés!

Questions connexes