Подходят ли инфраструктура MS MVC и jQuery для долгоживущих приложений? - PullRequest
1 голос
/ 12 октября 2009

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

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

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

Ответы [ 3 ]

4 голосов
/ 12 октября 2009

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

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

1 голос
/ 12 октября 2009

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

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

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

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

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

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

  • HTML 4.01 Strict & 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 - две единственные среды, которые я бы рассмотрел для чего-то подобного.

1 голос
/ 12 октября 2009

Что касается jquery, просто не волнуйтесь, как сказал Боббышафто.

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

То же самое происходило с рельсами: приложение, написанное с рельсами 1.x, потребовало некоторых изменений для работы с рельсами 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 лет - это очень много времени в мире диких сетей, поэтому невозможно заранее сказать, что изменится, а что нет.

...