Когда настало время перейти на новую технологию?

Я начинаю разработку программного обеспечения и разработку веб-сайтов. Мне нравится использовать материал Microsoft.NET, но похоже, что они всегда появляются с новыми технологиями, которые требуют от пользователей загрузки новых инструментов для их использования. Например, многие приложения Windows, которые я пишу, требуют от пользователей загрузки платформы .NET 3.5. Если я перейду на VS2010 и начну использовать все новые функции, пользователям потребуется загрузить .NET 4.0. Недавно я начал изучать разработку Silverlight для веб-сайтов, но каждый пользователь должен установить Siverlight.

Теперь я понимаю, что для большинства людей загрузка Silverlight или последнего Flash-плеера - это не очень большая проблема, но, вероятно, есть приличное количество людей (более старая аудитория), которые всегда нажимают кнопку "отменить", когда подсказка загрузки появится и перейдет на другую страницу. Если я построю целый сайт по технологии Silverlight и aspx, я мог бы отключиться от трафика. В частности, если я нахожусь на переднем крае технологии, как те первые несколько сайтов, которые использовали Silverlight.

Итак, мой вопрос: как вы решаете, когда подходит переход на новую технологию? В какой момент вы просто говорите "вверните его", пользователи могут загрузить silverlight или не смогут просматривать мой сайт. Будет ли тип веб-сайта, который вы разрабатываете, имеет значение (например, сайт электронной коммерции и простая страница с информационными услугами). Если я создаю страницу типа предлагаемых услуг для небольшой компании, я бы хотел сделать ее привлекательной для привлекать клиентов, но не настолько кричащими, что люди не могут просматривать его без всех этих дополнительных инструментов...

Ответ 1

Одна вещь, о которой нужно помнить о веб-технологиях, заключается в том, что недостаточно убедить свою пользовательскую базу в их использовании, вам нужно убедиться, что поисковые системы также могут их использовать. Если вы создадите весь сайт с помощью Flash или Silverlight, это означает, что Google, Bing, Yahoo и другие поисковые системы не будут сканировать ваш сайт, и, следовательно, ваш сайт не будет местом назначения для людей, которые используют веб-поиск, чтобы найти вещи. Хотя это может быть не плохо для фильма для фильма, о котором люди уже знают (например: http://disney.go.com/toystory/), это очень отличается для сайт для неизвестного продукта. Даже AJAX может стать препятствием для входа для некоторых пользователей (нарушение зрения или нарушение движения).

Перед тем, как рекомендовать новую технологию, задайте вопрос (и вашим клиентам):

Я хочу исключить или проигнорировать:

  • Люди на другой платформе (Mac, Linux, смартфоны, нетбуки, планшеты и т.д.).
  • Люди с физическими проблемами (зрение, слух, движение и т.д.).
  • Люди, которые не могут или не загружают плагин для браузера.

Если вам удобно с ответом, сделайте это... но не ожидайте, чтобы я посетил ваш сайт.

Ответ 2

Вы играете с новыми технологиями долго, задолго до того, как вы включите их в игру. Если вы не являетесь крупным игроком на рынке, вы переключаетесь, когда ваши пользователи будут плавно поддерживать коммутатор. Если все остальное не работает, вы переключаетесь, когда вам нужно.

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

Если вы создадите весь сайт на Flash, вы потеряете iPhone, но в целом у всех это есть. Silverlight, тем более, я бы поставил.

Ответ 3

передний край технологии

Всегда проблема. Избегайте этого.

Это действительно довольно просто. Вы принимаете новые технологии, когда вас вынуждают ваши клиенты.

Если у вас уже есть огромный сегмент рынка, вы не можете использовать технологию, потому что это круто.

Вы применяете технологию, потому что люди, желающие использовать эту технологию , нацелены на ваш целевой рынок.

Ответ 4

Я борюсь с той же проблемой уже более 20 лет.

Мой опыт в том, что если вы продолжаете работать после новейших технологий, вы можете проиграть. Я думаю, что лучше иметь "адаптивную" стратегию, например:

  • Если вы являетесь новой стартап-компанией или начинаете с совершенно нового приложения, используйте новейшую технологию
  • Напишите свое приложение модульным способом, чтобы можно было обновить различные модули/классы, не касаясь других (см. "Шаблоны проектирования банд-четвёрки", "Инъекция зависимостей"...). Держите приложение как можно более модульным. Не позволяйте всему приложению полагаться на одну большую структуру, потому что тогда вы привязываетесь к этой структуре.
  • Если модуль нуждается в перепроектировании (из-за больших новых функциональных возможностей,...), посмотрите, имеет ли смысл использовать новую технологию для перезаписи модуля. Не заставляйте себя использовать новейшие технологии, но находите то, что соответствует вашим потребностям.

Ответ 5

Простым ответом является "При использовании этого решения вы решаете проблему".

Однако реальность такова, что это немного сложнее, чем это.

Вам нужно взвесить преимущества новой технологии - например, он позволяет вам делать X - против недостатков - например, он требует загрузки в 250 Мбайт - и посмотрите, снижается ли результат в пользу технологии или нет.

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

Ответ 6

Это зависит от вашей базы пользователей и вашего приложения, вот несколько рекомендаций, которые я придерживаюсь:

  • Создайте новые инструменты/фреймворки значительное значение добавляет мое приложение или они пушистые/глазные конфеты?
  • Как часто ваша конкретная пользовательская база модернизировать свои системы, это вполне если ваша пользовательская база незначительно технический или случайный интернет-пользователей.
  • Насколько это легко для пользователей, чтобы перейти на новый технологии?.NET, flash, silverlight может быть относительно легко, хотя .NET может быть временем потребляя.

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

Ответ 7

Что касается .NET с чем-то другим, это действительно не имеет значения в Интернете, поскольку вы никогда не должны требовать от пользователей установки фреймворка для использования вашего веб-сайта. Пользователи должны видеть только стандартный HTML/CSS/Javascript, который может отобразить любой современный браузер.

Flash достаточно вездесущий, что вы несколько безопасны в использовании, но вы все равно не должны этого требовать. У вас может быть ваш внешний интерфейс Flash, но вы должны предоставить полностью функциональную версию HTML. То же самое касается Silverlight, но знайте, что он пользуется гораздо меньшим охватом, чем Flash.

Если ваш дизайн сайта будет побуждать пользователей иметь определенный бит программного обеспечения, почему бы ему не поощрять использование браузера, совместимого с HTML5?

Ответ 8

Вы всегда должны использовать технологию, которая наилучшим образом соответствует общей цели сайта. Пользователи являются фактором, но самое главное, что сайт делает то, что он должен делать. Если вы не можете решить проблему без Silverlight, вам следует использовать Silverlight.

Что касается технологии, я бы посмотрел на Diffusion of Innovations (http://en.wikipedia.org/wiki/Diffusion_of_innovations) и посмотрел, к какой аудитории вы хотите настроить таргетинг с вашим продуктом и соответствующим образом адаптируйте вашу технологию.

Ответ 9

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

Ответ 10

Другие люди уже предоставили достаточно хороший ответ на ваш вопрос, поэтому я предоставлю ответ на связанный с вами вопрос, который вы не спросили: хотя для этого потребуется больше работы, чем просто решить, когда перейти на новую технологию, почему бы не сделать две версии сайта, одну фантазию, а другую проще? Как вы можете просмотреть версию Gmail в формате простой версии HTML, если хотите. Таким образом, вы будете поддерживать не только тех пользователей, чьи компьютеры не являются полностью обновленными, вы также предоставляете услугу тем пользователям, которые не хотят использовать более привлекательную версию сайта в первом место. (И такие люди существуют по разным причинам, которые не обязательно связаны с компьютером.)

Ответ 11

Да, тип сайта/приложения имеет значение, но также и где в инфраструктуре используется технология.

Например, для веб-сайта ASP.NET пользователю не важно, использует ли он фреймворк 2.0 или фреймворк 4.0, поскольку код, который использует инфраструктуру, запускается на сервере, поэтому пользователю не нужно устанавливать что-нибудь. Вам нужно только убедиться, что инфраструктура установлена ​​на веб-сервере.

Другим фактором является то, насколько хорошо используется сайт/приложение. Большой сайт может продвигать новые технологии, приняв его на ранней стадии, сохраняя при этом большинство посетителей. Небольшой сайт должен дождаться, пока технология поймает его, прежде чем принять его, чтобы избежать риска отказа.

Ответ 12

При разработке веб-приложения проблема "технического обновления" касается только веб-сервера, на котором размещается сайт.

Для пользователя, если вы не интегрируете flash/silverlight, речь идет только о веб-стандартах.

Если вы создадите хорошо сформированный (x) html в стиле CSS, пользователь сможет использовать его почти в каждом браузере без каких-либо проблем. Технология серверной стороны позади этого скрыта от пользователя.

Теперь, если вы любите, как и я, инфраструктуру .net, я предлагаю вам разрабатывать с использованием .net 4.0 и Mvc framework 2.0, который позволяет создавать сайты более высокого качества, чем традиционные asp.net, что забивает вашу страницу бесполезными вещами и скрывает от вас механику Http.

Я могу получить дополнительную информацию, если вам нужно.