Подходят ли фреймворк MS MVC и jQuery для приложения с длительным сроком службы?

StackOverflow https://stackoverflow.com/questions/1551663

Вопрос

Я работаю над веб-приложением, срок службы которого рассчитан как минимум на 6 лет.Как только приложение будет доставлено, есть вероятность, что оно не будет изменено в течение этого периода времени.

Мы рассматриваем возможность использования фреймворка asp.net MVC и jQuery, но мне интересно, хороший ли это выбор.Клиент, вероятно, не захочет тратить дополнительное время и деньги в будущем, потому что изменились javascript, стандарты браузеров и т.д.

Каков наилучший вариант для минимизации вероятности того, что приложению потребуется техническое обслуживание в течение следующих 6 лет?

Это было полезно?

Решение

клиент, вероятно, не захочет тратить дополнительное время и деньги в будущем, потому что JavaScript, стандарты браузера и т. д. изменились.

Она или нет?Сможете ли вы убедить ее, что мир вокруг нее продолжает двигаться, и она будет нуждаться обновить свое приложение для работы с основными платформами будущего?

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

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

В качестве аргумента предположим, что заявка будет «заморожена» на 6 лет:

Я бы точно нет используйте Javascript во всем, что рассчитано на 4+ поколения браузеров.Я считаю, что jQuery — это здорово, но…ни в коем случае, движки Javascript меняются слишком быстро.Для вывода я бы придерживался только:

  • HTML 4.01 Строгий и CSS 2 (Я думал о XHTML 1.0 Strict, который по сути представляет собой HTML 4.01 Strict, измененный для соответствия правилам XML.Но HTML 4.01 имеет самую большую базу пользователей, и я не поклонник XML.Это приговор.)
  • PNG и GIF.

Что касается сохранения статичности, этот простой результат, вероятно, является самой большой победой.

Для серверной среды Я бы попробовал указать Windows 2008 R2;.NET 4.0 и ASP.NET MVC 2, а также «почти замороженная» конфигурация сервера (т. е.только обновления безопасности).Windows 2008 R2 должна иметь расширенную поддержку примерно 10 лет отныне.Предыдущее поколение (Win 2008, .NET 3.5SP1 и MVC 1.0) также будет работать;но ASP.NET MVC 2 выглядит так хорошо, поэтому я бы предпочел использовать его для своего личного развлечения.

Большие проекты с открытым исходным кодом с хорошей репутацией «присутствия» тоже подойдут — nHibernate, nUnit, StructureMap и так далее.

Да, и хороший совет по использованию ASP.NET.Microsoft по-прежнему хорошо поддерживает обратную совместимость и поддерживает исправления безопасности.ASP.NET и Java — две единственные среды, которые я бы рассмотрел для чего-то подобного.

Другие советы

Вероятно, вам не придется об этом беспокоиться.Несколько крупных предприятий вкладывают в работу с JQuery такие огромные инвестиции, что я сомневаюсь, что вы столкнетесь с такими проблемами.Интернет, вероятно, всегда будет обречен оставаться обратно совместимым (а это означает, что с вещами, вышедшими 10 лет назад), поэтому я подозреваю, что с вашим приложением на основе JQuery все будет в порядке.Если у вас все работает нормально с IE7/8, последней версией Firefox и Safari, у вас все будет в порядке.То есть, если этого будет недостаточно, то, вероятно, не подойдет и другое веб-решение.

Но я определенно рекомендую использовать JQuery, чтобы скрыть от многих специфических проблем браузера с точки зрения взаимодействия с Javascript.Что касается ASP.NET MVC, опять же, это довольно надежная платформа, которую, я думаю, многие предприятия будут продолжать поддерживать еще долгие годы.

Что касается jquery, просто не волнуйтесь, как сказал bobbyshafto.

Для ASP.NET MVC это не скоро умрет;тем не менее, поскольку это очень молодая технология и, вероятно, она будет часто меняться в первых выпусках, могут возникнуть проблемы с обслуживанием.

То же самое раньше происходило и с rails:приложение, написанное на rails 1.x, нуждалось в некоторых изменениях для работы с rails 2.x.

Это может быть проблемой, а может и нет:приложение, написанное на rails 1.x, будет продолжать работать с rails 1.x, а приложение, написанное на MVC 1, будет продолжать работать с MVC 1.

Я думаю, что пока еще слишком рано говорить о том, насколько MVC 2 будет отличаться от MVC 1:MVC 2 Preview 2 отсутствует, но следует отметить, что многие классы, методы, интерфейсы и т.д.менял имя и поведение несколько раз между MVC 1 RC1, MVC1 RC2 и т.д.

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

Последнее соображение:пожалуйста, обратите внимание, что 6 лет - это очень большой срок в диком мире Интернета, поэтому невозможно заранее сказать, что изменится, а что нет.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top