Почему я использовал бы ASP.NET MVC на общедоступном сайте и WebForms на Интранет?

require 'ipaddr'

def is_ip?(ip)
  !!IPAddr.new(ip) rescue false
end

is_ip?("192.168.0.1")
=> true

is_ip?("www.google.com")
=> false

Или, если вы не против расширения базовых классов:

require 'ipaddr'

class String
  def is_ip?
    !!IPAddr.new(self) rescue false
  end
end

"192.168.0.1".is_ip?
=> true

"192.168.0.512".is_ip?
=> false
8
задан Community 23 May 2017 в 10:27
поделиться

7 ответов

Думаю, у меня есть идея, почему это внутреннее и внешнее различие возникло в вашем предыдущем вопросе.

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

Использование веб-форм для внутренних приложений рекомендуется, потому что вы полностью контролируете какие браузеры используются в вашей сети. Кроме того, внутренние приложения обычно не имеют такого же бюджета, как внешние сайты. Веб-формы позволяют объединить сетку базы данных, разбиение на страницы, сортировку и т. Д. За считанные минуты путем перетаскивания кода на страницу ASPX. Я считаю, что мотивация основана исключительно на деньгах и времени.


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

Самым большим преимуществом, которое я вижу в ASP.NET MVC, является AJAX. Мне проще работать с запросами jQuery AJAX при использовании MVC, а не WebForms. Я также помешан на управлении, поэтому использование MVC удовлетворяет и этот аспект ...

Но у меня также есть сайты, которым не нужен уровень гибкости, поэтому я использовал WebForms.

Самым большим преимуществом, которое я вижу в ASP.NET MVC, является AJAX. Мне проще работать с запросами jQuery AJAX при использовании MVC, а не WebForms. Я также помешан на управлении, поэтому использование MVC удовлетворяет и этот аспект ...

Но у меня также есть сайты, которым не нужен уровень гибкости, поэтому я использовал WebForms.

Самым большим преимуществом, которое я вижу в ASP.NET MVC, является AJAX. Мне проще работать с запросами jQuery AJAX при использовании MVC, а не WebForms. Я также помешан на управлении, поэтому использование MVC удовлетворяет и этот аспект ...

10
ответ дан 5 December 2019 в 07:36
поделиться

Местоположение не очень важно, объяснялось, что типичный веб-сайт интрасети имеет следующие свойства:

  • Очень низкая пользовательская нагрузка, обычно обслуживается внутренняя LAN
  • Очень короткое развитие расписания
  • Очень частая "особенность" дополнения », которые состоят из надстроек CRUD

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

4
ответ дан 5 December 2019 в 07:36
поделиться

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

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

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

4
ответ дан 5 December 2019 в 07:36
поделиться

Для меня преимущество веб-форм ASP.NET в том, что их можно разрабатывать быстрее, чем ASP.NET MVC. Стоимость: сложнее сделать их современными приложениями, совместимыми с CSS, и вес Viewstate и жизненный цикл страницы.

Если у вас не работает ASP.NET MVC, нет причин не использовать это для приложений интрасети.

] Если вы потратили несколько лет на сокращение веб-форм ASP.NET, вы, вероятно, сможете использовать их для Интернет-приложений.

2
ответ дан 5 December 2019 в 07:36
поделиться

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

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

1
ответ дан 5 December 2019 в 07:36
поделиться

В качестве дополнения к другим ответам, в среде интрасети соглашения об именах URL-адресов (например, / controller / method ... и т. Д.) Намного менее важны, поскольку не требуется SEO.

0
ответ дан 5 December 2019 в 07:36
поделиться

I don't see the difference in this two in context of public/intranet applications, I only see difference in approach and the style of writing the application, so, choose whatever you like :)

cheers

1
ответ дан 5 December 2019 в 07:36
поделиться
Другие вопросы по тегам:

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