2009-11-27 2 views
0

Обратите внимание: это НЕ ОБЩИЙ вопрос о MVC против веб-форм. Я ищу, чтобы найти то, что является лучшим выбором для моей ситуации и может использовать некоторую ответственность. Я понимаю, что MVC является не заменой для веб-форм, и оба они имеют свои преимущества/недостатки.Должен ли я использовать ASP.NET MVC в этом сценарии?

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

В обоих случаях мне нужно будет иметь такие вещи, как: «доказать, что я человек» (например, CAPTCHA), MP3-плеер с библиотекой, «поделиться этим с помощью facebook/muyspace/etc ...», способность, способность для загрузки флеш/mp3/изображений/и т. д., а на более крупном сайте мне потребуется интеграция с API-интерфейсом google, среди прочего, как программное обеспечение форума.

Я разработчик .NET с 7-летним включением/выключением с использованием веб-форм ASP.NET .. хотя ключевое слово включено/выключено, так как я делал в основном развитие сервера за последние 5 лет с легкими клиентскими приложениями. Я бы сказал, что я «ОК» с веб-формами ASP.NET.

Я никогда ничего не делал с ASP.NET MVC раньше, но я просмотрел несколько руководств @ asp.net, и мне нравится то, что я вижу. Мне очень нравится, как они построили тестируемость прямо в фреймворке, это упростит долговременную работу, потому что я смогу выполнить единую проверку логики интерфейса конечного пользователя. Существуют и другие преимущества, особенно для общедоступных сайтов, таких как не более Страницы, имеющие URL-адрес, сопоставленный с ним, и легко создавать собственные имена URL-адресов. У меня есть немного крутая кривая обучения, которую я пытаюсь подняться; до сих пор я думаю, что это лучшая платформа для разработки в целом.

Но нижняя строка: глядя на мои требования и опыт, который является лучшим выбором? Я нашел CAPTCHA для MVC, а элемент «share with all», который использует только ванильный HTML. Я только нашел MP3-плеер в качестве серверного элемента управления для веб-форм и ничего не нашел для MVC ...

Учитывая, что я собираюсь использовать множество сторонних инструментов, было бы ошибкой для меня идти по маршруту MVC? Насколько я хочу это узнать из-за того, насколько круто я думаю, что это (lol), мне нужно будет использовать кучу сторонних элементов управления, и у меня нет времени самостоятельно их развивать; Мне нужно использовать как можно больше уже настроенных колес. Как вы относитесь к этому?

спасибо за любые советы, & счастливого дня индейки моих коллег технари = P

ответ

2

Это трудно дать рекомендации на основе ваших требований - на основании того, что вы указали я думаю, как WebForms и MVC будет делать то, что вы хотите.

Существует 2 ключевых момента, которые вы здесь делаете.

  1. Ваш опыт работы с веб-формами. Несмотря на то, что я большой поклонник MVC, есть довольно кривая обучения, прежде чем вы получите абсолютно прав. Ваш опыт работы с Webforms будет иметь большое значение для ускорения вашего развития. Сказав это, структура определенно проще в концепции, и объем информации, доступной для кого-то, кто хочет попасть в MVC, является массовым. Nerddinner определенно является фантастическим местом для начала работы - после прохождения этой серии у вас обязательно будет хорошее знание. (Я также сделал блог о ресурсах для обучения MVC - http://www.jacopretorius.net/2009/11/so-you-want-to-learn-mvc.html - да, я бесстыдно размещаю здесь свою собственную ссылку: D)
  2. Возможность тестирования MVC. Это единственная функция MVC, которая заставит меня выбирать MVC над Webforms каждый день недели. С точки зрения долговременной ремонтопригодности MVC просто удалит Webforms из воды. Особенно для более крупного сайта, который вам нужно разработать.

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

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

+0

Спасибо за совет, и удивительная ссылка - прочитает ее. Что-то примечание - это все личные проекты, которые я занимаюсь. Моя работа «реальная жизнь» - это разработчик приложений LOB, и мы не используем ничего, кроме веб-форм ASP.NET со случайными WinForms на работе. Я хочу создать сайты типа социальных сетей - я считаю, что если я их делаю в MVC, то даже если сайты терпят неудачу, по крайней мере, я изучил новую технологию, которую я теперь могу вернуть на работу и обучить команду, - которая это огромное преимущество и отличная возможность для руководства - особенно, зная, что мой босс ищет кого-то, чтобы сделать это – dferraro

+0

Это хорошая причина. Даже если в какой-то момент вы видите, что ASP.NET MVC не подходит для работы, вам лучше понять, какие проекты подходят для ASP.NET MVC. –

1

Возможно, этот ответ будет полезен: Does anyone beside me just NOT get ASP.NET MVC?

И относительно стороны сервера управления: если вы можете получить ваши руки на исходном коде и они не слишком полагаются на viewstate, вы можете просто переписать их, чтобы использовать классический подход GET/POST. Но, как правило, элементы управления на стороне сервера не используются в ASP.Net MVC, поэтому, если ваш проект связан с пользовательским интерфейсом, вам лучше использовать подход к веб-формам. ASP.Net MVC предназначен для приложений и приложений CRUD, где логика намного сложнее, чем пользовательский интерфейс.

+0

Спасибо за примечание; но я немного смущен ... что вы подразумеваете под «... и приложениями, где логика намного больше, чем UI»? Должно ли не все ASP.NET/веб-приложения в основном быть логикой пользовательского интерфейса? Любая тяжелая обработка должна выполняться в Службе Windows, о которой говорит ваш веб-приложение, - чтобы, среди прочего, освободить веб-сервер ... и по моему опыту, очень сильно пользовательские приложения с интерфейсом UI лучше оставить WinForms в любом случае ... но в моем случае мне нужен открытый интернет-сайт ... – dferraro

+0

BTW, отличная ссылка. Однако это год - так что я задаюсь вопросом, сколько с тех пор изменилось и как развивались мнения людей .... – dferraro

+0

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

1

Мое достоинство двух центов - это использование MVC. Но я могу сказать, что, поскольку я развернул несколько сайтов MVC сейчас, и я прошел через боль обучения.

Я действительно должен был написать 4 места для домашних животных, прежде чем я понял хорошую архитектуру mvc, jQuery и т. Д. Поэтому, если вы подумываете о том, чтобы просто погрузиться и написать сайт, я бы предупредил вас о замедлении и не спешите ,

Я думаю, вам нужно сделать NerdDinner, если вы еще этого не сделали и оттуда.

Также большой большой совет, который я могу дать, это когда вы разрабатываете, исследуете (все). Если вы хотите упорядочить частичные представления в папках или поделиться ими, просто укажите одну вещь, а затем исследуйте ее.

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

Если вас затолкнули на время, и у вас нет роскоши переписывать, когда вы пишете свой большой сайт, то я бы сказал, оставляйте MVC в то время, когда у вас есть эти предметы роскоши.

Если ваша временная шкала не слишком суетная, и у вас есть время для исследования, тогда отлично в нее входите.

Я знаю, что это невыразительный ответ, но ....

1

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

1

Учитывая, что я буду использовать много 3 инструментов сторонних

Если вы имеете в виду WebControlls тем, что тогда вы могли бы быть лучше использовать WebForms. Там нет большого количества сторонних контролеров для mvc.

+0

Я обнаружил, что API Карт Google можно легко реализовать в MVC. Я также обнаружил, что теперь у Telerik есть элементы управления MVC. Я люблю Телерика. Таким образом, это не проблема, я ожидаю – dferraro

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