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