Совет относительно использования ASP.net WebForms или MVC

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

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

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

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

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

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

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

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

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

Что Вы порекомендуете? Я должен вытянуть все статические страницы в базу данных и служить им посредством представления "статьи" в MVC?

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

5
задан John Saunders 13 March 2015 в 07:14
поделиться

7 ответов

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

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

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

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

7
ответ дан 18 December 2019 в 11:56
поделиться

Есть два, которые я вижу много:

Сначала , в событии click, id доступен следующим образом:

$("a").click(function(e){
   var id = $(this).attr('id');
});

, который создает новый jQuery объект вокруг узла DOM, и вызывает функцию. Следующий способ:

$("a").click(function(e){
   var id = this.id;
});

Примечание: вы также увидите $ (this) .attr ('href') , но это правильно из-за того, как jQuery нормализует его в браузерах.

Второй передает что-либо, кроме узла DOM, в параметр scope вызова jQuery:

$(".child", $(".parent")).doSomething();
// or
$(".child", ".parent").doSomething();

При этом не происходит никакого усиления скорости. Где вы видите увеличение скорости, это когда у вас уже есть элемент DOM:

$('div').click(function(){
   $('img', this).doSomething(); // This is good
});
-121--238439-

: g/George Bush/d 6

-121--1236036-

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

Совершенно нормально иметь статические представления, если это необходимо. Просто посмотрите, что создано, например, с помощью шаблона MVC Файл - > Новый проект.

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

4
ответ дан 18 December 2019 в 11:56
поделиться

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

2
ответ дан 18 December 2019 в 11:56
поделиться

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

Weblogs.ass.asp.net/scottgu/Archive/2010/01/10/ass-net-mvc---strongly-typed-html- помощники.aspx

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

2
ответ дан 18 December 2019 в 11:56
поделиться

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

Совершенно нормально иметь статические представления, если это необходимо. Просто посмотрите, что создано, например, с помощью шаблона MVC Файл - > Новый проект.

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

-121--4648577-

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

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

0
ответ дан 18 December 2019 в 11:56
поделиться

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

Пример:

www.domain.com/hobbies/photography
0
ответ дан 18 December 2019 в 11:56
поделиться

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

Если вам не нравятся определения баз данных в YAML, вы всегда можете использовать ORM Designer или MySQL Workbench.

-121--23â44-

Объявлением ключевыми словами final static int , у вас будет один экземпляр переменной, имеющий целое значение 1. Важным пунктом является то, что это значение не может измениться после объявления ключевым словом final . В противном случае можно изменить значение переменной. Если вы не хотите изменять значение переменной в любом месте кода, используйте ключевые слова final static .

-121--4546462-

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

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

0
ответ дан 18 December 2019 в 11:56
поделиться
Другие вопросы по тегам:

Похожие вопросы: