2010-01-15 3 views
5

У меня есть общедоступный сайт для хобби, который получает около 3000 уникальных посетителей в день, написанных в классическом ASP, который нуждается в обновлении и редизайне. Я столкнулся с осознанием того, что обновление до ASP.net - это лучший способ реализовать функции, которые слишком сложны в ASP для любителя (использование RSS-каналов, аутентификация и профили пользователей), но которые я очень хочу получить застрял один раз, когда я прошел мимо редизайна/обновления.Рекомендации по использованию ASP.net WebForms или MVC

Но я был парализован неопределенностью относительно того, куда идти: Веб-формы или MVC - плюс тот факт, что всегда появляется какой-то новый релиз, который, похоже, будет стоить того, чтобы улучшить кривая обучения. Поэтому я часами читаю о WebForms, а затем читаю то, что говорит мне, что мне лучше подумать о MVC, а затем прочитать о MVC и узнать, действительно ли это соответствует тому, что я пытаюсь сделать.

Ни один из учебников и стартовых сайтов действительно не говорит о том, что хорошо работает для сайтов, которые являются традиционными статическими статическими информационными сайтами (не каталоги или пользовательский контент).

Мой сайт содержит около 75% статических информационных страниц, которые редко меняются. Тем не менее, сценарии ASP необходимы в пользовательском интерфейсе на всех этих страницах - динамически или случайным образом выбирают элементы дизайна (например, фотографию заголовка) или предоставляют конкретную боковую панель в зависимости от дня года или наугад.

Тип сценария, который у меня есть, - это, как скрипт, случайным образом выбирать и отображать одно из 30 изображений заголовков для страницы, сценарий для отображения текста и ссылок в зависимости от того, в какой день года он является сценарием, который позволяет мне объявить конкретное ключевое слово поиска как относящееся к контенту для конкретной страницы и предварительно загрузив его как текст в поле ввода поиска при загрузке страницы.

Для большей части остальных страниц они предназначены для отображения данных. Некоторые из них представляют собой небольшие записи (информация типа альманаха о том, что значимо в этот конкретный день в году), и я сохраняю его и вытягиваю его из переменной Array на самой странице. Другие извлекают информацию из базы данных Access, которая редко меняется, и я никогда не беспокоился о реализации функций CUD в прямом эфире на сайте (и необходимых ролей и аутентификации для ее защиты), но просто обновляйте базу данных в автономном режиме и загружайте ее для отправки изменений в реальном времени ,

С ASP.net я бы прекрасно перешел на SQL Server и создавал страницы администрирования. Мне не нужно придерживаться Access.

Но я больше привык писать необработанные HTML и CSS, и я нахожу WebForms (особенно Viewstate и events/postbacks) проблемой, чтобы концептуально осмыслить голову. Хотя, похоже, он больше подходит для статической страницы в файловой системе с некоторым кодом на стороне сервера, к которому я привык.

С другой стороны, MVC, похоже, хорошо подходит для любовно ручного дизайна, но там, где все извлекается из базы данных.

Что вы посоветуете? Должен ли я вытащить все статические страницы в базу данных и обслуживать их через «статью» в MVC?

Я не профессиональный разработчик - так что это не о том, что будет выглядеть лучше всего в моем резюме. Я просто ищу, что будет (а) иметь наименьшую кривую обучения для кого-то, исходящего из встроенных выражений VBScript в классическом ASP и (б), что лучше всего подходит для моего сайта, и (c) позволяет мне контролировать некоторый контроль над меткой, и CSS.

ответ

7

Определенно Go MVC, особенно если вы более комфортно, как парень HTML/CSS.Постобработки не дают преимущества для сайта, который в значительной степени статичен, и вам понадобится несколько месяцев, чтобы вы могли разглядеть жизненный цикл страницы (мне еще предстоит встретиться с разработчиком, который был мастером жизненного цикла после 6 месяцев кодирования в нем.)

Преобразование ASP классического сайта в MVC будет включать в себя перемещение ваших тегов HTML и ASP в представления и репликацию существующих URL с использованием механизмов маршрутизации. Вам нужно будет обновить свои скрипты, чтобы использовать некоторые более современные функции, но это должно быть довольно просто, я бы себе представлял.

Я не согласен с идеей, что в MVC все вытащено из базы данных - это немного не имеет отношения к архитектуре. Я закодировал 100% статические сайты в рамках MVC и полюбил его :)

Мое правило большого пальца направлено на это: «Возможно, MVC для веб-сайтов, WebForms для корпоративных веб-приложений».

4

MVC хорошо подходит для того, что вы делаете.

Совершенно нормально иметь вид, который является статическим, если потребуется. Посмотрите, например, на то, что создано шаблоном файла File-> New Project MVC.

Учитывая, что вы уже привыкли писать HTML/CSS, и обе структуры представят кривую обучения, я бы определенно рекомендовал MVC. Я думаю, вы обнаружите, что MVC соответствует требованиям A и C намного лучше, чем WebForms (и оба удовлетворяют B).

0

Используйте то, что наиболее продуктивно, если вы знакомы с веб-формами и как модель, управляемая событиями, вы всегда можете посмотреть в MVP (Model-View-Presenter).

ASP.NET MVC действительно замечательный, и для меня он повышает производительность.

2

Учитывая ваш опыт, я предлагаю вам использовать ASP.NET MVC. Поскольку вы знакомы с HTML & CSS, вам придется привыкнуть к шаблону MVC, который работает менее недели. Кроме того, MVC лучше и быстрее демонстрирует данные и поддерживает кэширование вывода, поэтому вы можете кэшировать статические страницы и добиваться огромной скорости. Кроме того, не сложно использовать соединение между ними - вы все равно можете иметь страницы WebForms и использовать элементы управления там, где они вам нужны.

0

Прежде всего, вам действительно нужно убедиться, что переписывание стоит усилий. По моему опыту переписывание требует гораздо больше работы, чем ожидалось, и имеет длительное время окупаемости. Это не значит, что они не должны быть выполнены, это означает, что для начала нужно быть действительно вескими причинами. Функции, о которых вы говорите, могут быть легко реализованы в классическом ASP за небольшую часть времени. Унаследованное приложение - это битва, испуганная трюками, исправлениями и скрытыми функциями. Переписывание обычно означает потерю тех лет опыта. Все зависит от текущего соотношения функций/новых функций.

Во-вторых, если вы собираетесь переписать, вы также можете проверить технологии, кроме asp.net. Сайт, который вы описываете, по-видимому, ориентирован на контент, который может лучше соответствовать django, чем asp.net mvc. Удачи вам в вашем сайте.

0

Я бы также рекомендовал использовать ASP.NET MVC, поскольку вы очень хорошо знакомы с HTML/CSS. Кроме того, с такими функциями, как «Маршрутизация», вы можете более эффективно организовать структуру веб-сайта. Также ваш сайт становится намного более предсказуемым для посетителей из-за URL-адресов.

Пример:

www.domain.com/hobbies/photography 
2

Из моего опыта перехода от ASP в ASP.NET и ASP.NET MVC, то проще перейти от ASP к ASP.NET MVC. Однако кривая обучения не так просто Пожалуйста, прочтите и следуйте http://nerddinnerbook.s3.amazonaws.com/Intro.htm и, после того, как вы прочитали, узнать, что нового в версии 2, например:

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

Это станет RAD для опытных разработчиков!

Смежные вопросы