Относительно быстрое создание веб-приложений, но относительно сложное в обслуживании.
Относительно легко выучить . Вам не нужно знать HTML, CSS и Javascript. Однако, если вы уже знаете html, css и javascript, другие технологии веб-разработки могут быть легче освоены.
Относительно легко принимать веб-формы asp.net, если вы используете разные технологии, потому что для этого не требуется строгая методология, чтобы быть эффективной, и потому что она поддерживает несколько языков.
Это относительно зрелая технология.
Относительно относительно просто добавить новые функции в веб-приложение, но относительно сложно изменить существующие функции при сохранении хорошего качества кода.
Простая интеграция с Windows-приложениями , потому что она управляется событиями.
Доступно множество сторонних библиотек.
Относительно легко справиться с состоянием приложения .
Относительно простота развертывания .
Независимость от платформы (у меня нет никакого опыта с этим, поэтому я не знаю, так ли это)
ОДНАКО:
В теории это имеет хорошие показатели, но на практике это не так. Скомпилированный код не приводит к повышению производительности, поскольку это не является узким местом в веб-приложении. Узкими местами являются количество html, которое отправляется в браузер, как быстро он может выполнять строковые операции и скорость, с которой база данных может быть запрошена. Это один из худших продуктов на рынке, когда дело доходит до этих точек.
Быстрое создание веб-приложений может быть преимуществом в простых приложениях или инновационных проектах, где конкурирующие компании разрабатывают аналогичный продукт, но в большинстве случаев удобство сопровождения приложений гораздо важнее, чем время создания.
Разработка на нескольких языках является недостатком, поскольку некоторые сторонние компоненты будут доступны только на одном языке, и если вам это понадобится, вам потребуется выучить два языка вместо одного. C # и VB.Net на 99% одинаковы, они просто используют разные слова, но синтаксис в значительной степени идентичен. При разработке в команде всегда будут люди, предпочитающие один продукт другому, а разработка одного продукта на двух языках только запутывает, поэтому нужно выбирать один язык, и члены команды, которые не согласны с этим выбором, начнут проект с плохой репутацией. боевой дух, который в конечном итоге будет иметь плохое влияние на ваш проект. Единственный, кто действительно выигрывает от многоязычной поддержки - это Microsoft.
Полноценный характер веб-форм является недостатком по сравнению с системами без состояния, поскольку он может привести ко многим проблемам. Внешние веб-сайты или закладки не смогут ссылаться на весь контент напрямую, так как некоторый контент будет доступен только после нескольких действий пользователя, поэтому вместо прямой ссылки на www.example.com/a/b?c=d сайт Придется перейти по ссылке www.example.com/a/b и дать пользователю несколько инструкций о том, как добраться до указанного содержимого. Большинство поисковых систем не смогут найти большую часть контента. Использование кнопки «Назад» в браузере может привести к ошибкам. Проблемы с подключением или спящий режим клиента могут привести к ошибкам. Он не может использовать прокси, что в некоторых случаях приводит к снижению производительности. Прокси, шлюзы и кеш могут вызвать ошибки. Просмотр веб-сайта во время его обновления вызывает ошибки.
Я согласен с sontek в том, что может быть легко проверить, правильно ли спроектирована архитектура, но я не согласен с sontek в том, что это преимущество веб-форм. Потому что в архитектуре программного обеспечения каждое преимущество, которое вы создаете архитектурой, также приводит к недостатку. В этом случае это приведет к недостатку во времени разработки, который является главным преимуществом веб-форм, поэтому, если вам нужна тестируемая система, не имеет смысла использовать веб-формы, потому что тогда вы можете лучше использовать MVC или что-то еще вот так.