Почему мы до сих пор используем DOM в браузере, а не в настольной парадигме

11

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

Почему в прошлом и в настоящем не было более широкого признания и толчка для таких технологий, как Flash / Silverlight? По моему опыту, они более приятны для разработки (конечно, по моему мнению), и вам не приходится сталкиваться с кросс-браузерным соответствием и старыми браузерами (по большей части).

Обработка постбэков, AJAX и т. Д. Кажется излишним ненужным усилием по сравнению с парадигмой разработки настольных приложений. Продолжают ли процветать DOM и его дополнительные технологии в основном из-за того, что Silverlight / Flash требует установки плагина, а некоторые мобильные устройства не поддерживают этот плагин?

Маффин Человек
источник
1
Потому что DOM не гражданин второго сорта. Silverlight и flash - это утечка абстракций. Вы можете легко иметь собственный рабочий стол, например, приложения в браузере пользователя DOM. Он просто работает и интегрируется лучше, чем вспышка или серебристый свет.
Райнос

Ответы:

17

Несколько причин, которые я могу придумать, вне головы:

  • В наши дни традиционный веб-стек довольно зрелый; в современных браузерах осталось совсем немного недостатков, и разработка веб-сайтов для них относительно приятна, по сравнению с 5-летней давностью
  • Хотя существуют различия между браузерами, они менее актуальны, чем различия между базовой ОС и оборудованием
  • Парадигма запрос / ответ на самом деле работает очень хорошо для многих вещей, таких как представление текстового контента
  • Поисковые системы не очень заинтересованы в содержимом Flash или Silverlight
  • Flash и Silverlight контролируются одной компанией; использование их означает, что будущая поддержка платформы для вашего кода зависит от этих компаний
  • Многие вещи, которые вы можете сделать с помощью HTML, не могут быть выполнены с помощью плагинов: например, закладки, копирование-вставка, перевод на лету, пользовательские таблицы стилей
  • Плагины плохо работают с нестандартными браузерами - например, текстовые браузеры, аудио-браузеры и множество других устройств, которые могут отображать веб-страницы
  • Вы не можете легко автоматизировать клиенты Flash или Silverlight, в то время как создание HTML-сайтов из сценариев обычно довольно просто.
tdammers
источник
Еще одна вещь, о которой я могу думать: эти плагины не с открытым исходным кодом. А некоторые люди просто не доверяют вещам, которые они не могут сделать git clone. Конечно, вы можете получить версии с открытым исходным кодом, такие как Gource или Moonlight, но они не совсем совместимы.
Доктор Маккей
2
Я действительно думал об аргументе открытого источника, но я не думал, что это достаточно большая проблема, в реальном мире (независимо от того, насколько я большой поклонник FOSS, я сам). Аргумент «во власти одной компании» в любом случае имеет отношение и имеет большое значение.
tdammers
4

Простой ответ на вопрос «Почему нет приложений для настольных компьютеров во Flash» заключается в том, что вы можете просто написать их в Adobe Air, но, видимо, это делают лишь немногие.

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


источник
3

Это очень распространенный эффект в нашей отрасли.
Например, я лично использую haXe и развертываю свой клиентский код на Flash Player, потому что IMHO это лучшая веб-платформа, на которую я могу ориентироваться. Когда бэкэнд C # будет закончен, я, вероятно, проверим, стоит ли использовать Silverlight, хотя лично я чувствую, что он умер, прежде чем он действительно взлетел.

Будучи очень довольным своим выбором языка, я часто задаю себе вопрос: почему бы больше веб-разработчикам не использовать многопарадигативный, экспрессивный, кросс-платформенный язык с открытым исходным кодом?

Есть много причин, но они всегда одинаковы. Действительным является личное предпочтение. Но часто это сводится к незнанию или нежеланию новых / нишевых технологий.
Когда дело дошло до Flash, у меня было много споров о том, почему он имеет свое место и зачем его использовать. Люди в основном утверждают, что весь смысл Flash в том, чтобы создавать модные сайты, которые загружаются целую вечность и работают ужасно (и распространяют много другой дезинформации).
На самом деле, все наоборот, такие приложения, как Aviary Phoenix или Sliderocket, и игры Koyotl и Tanki Online подтверждают это. Flash является зрелой платформой для создания в браузере опыта, похожего на рабочий стол.

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

Новые / нишевые технологии всегда будут бороться за принятие, если они действительно не сделают прорыв. Ruby, например, преуспел в этом благодаря Rails и большой шумихе вокруг него. Flash имел такой прорыв для дизайнеров, потому что в 90-х люди думали, что Shrill - это хорошо, и это была первая широко распространенная платформа, которая позволила реализовать именно это.
Несмотря на Flex, у Flash никогда не было такого прорыва для разработчиков. Возможно, потому что GWT , qooxdoo и многие другие фреймворки для развертывания на HTML достаточно хороши, просто не используют Flex или Flash, а разработчиков Java и JavaScript значительно больше (очевидно, компании предпочитают выбирать технологии с большим количеством потенциальных сотрудников). ).

Вам не нужно писать свой веб-сайт AJAX с нуля. На самом деле вы можете не понимать HTML и делать это на любом языке.

Прямо сейчас, HTML5 широко рекламируется и продвигается вперед, и многие люди делают вывод о смерти Flash из этого. Приводится множество веских причин, почему HTML5 лучше, чем Flash. Что более вероятно, так это то, что у вас будет все больше и больше ресурсоемких, раздутых сайтов, созданных с использованием HTML5. Стандартное дерьмо не лучше чем стороннее дерьмо.

Прямо сейчас происходит много вещей. IPhone и другие подобные устройства создали гигантский рынок, которого не было всего 4 года назад. И, наконец, веб-стандарты наконец-то продвигаются всеми крупными компаниями в одном направлении (смутно).

Лично я просто надеюсь, что все волнения уляжутся в течение года или двух, что HTML5 стабилизируется, созревает и распространяется до тех пор, пока Apple, как мы надеемся, займет менее деспотическую позицию, и Flash Player станет быстрее на мобильных платформах. И как только этот большой шаг будет сделан, люди просто вернутся к выбору правильного инструмента для работы, как это было после того, как войны браузеров прекратились. На данный момент слишком много шума, чтобы люди могли ясно мыслить.

back2dos
источник
3
Запустите программу чтения с экрана, выключите экран и попробуйте. Это все еще работает?
BillThor
1
«Почему больше веб-разработчиков не используют мультипарадигмальный, экспрессивный, кросс-платформенный язык с открытым исходным кодом?» - Вы имеете в виду, как Javascript?
Андре Парамес
1
@BillThor: На самом деле это зависит от реализации. Flash Player может взаимодействовать с программами чтения с экрана . Не многие люди используют эти возможности. Или потому, что им все равно, или потому что это бессмысленно. Как бы я ни сожалел об этих людях с нарушениями зрения, я не вижу особой ценности в том, чтобы сделать какие-либо приложения / игры, на которые я ссылаюсь, доступными для программ чтения с экрана. Я также уверен, что вам будет трудно использовать Photoshop с выключенным экраном.
back2dos
1
@BillThor: Видимо, вам не удалось понять суть моего сообщения: люди должны вернуться к использованию правильного инструмента для работы вместо того, чтобы использовать то, что популярно. HTML - отличный инструмент для приложений с большим количеством контента, который может быть захвачен с его семантикой. Кроме того, это не канонически лучший инструмент.
back2dos
1
@ back2dos: не пропустил ни в малейшей степени. Если бы я использовал лучший инструмент для работы для всего, то я бы использовал дюжину инструментов, некоторые из них неясны. Тогда обслуживание становится чрезвычайно сложным. Вместо этого я использую инструменты, с которыми другие в команде имеют опыт работы. Правильный инструмент для проекта не всегда специализированный инструмент.
BillThor
1

Все технологии довольно незрелые. Просто посмотрите, сколько изменений произошло в любом 5-летнем блоке. С мобильными / планшетными технологиями, это собирается измениться снова.

Я смотрю на это как на большее слияние. Это не просто HTML / DOM или плагины. Я видел HTML-расширения для доступа к функциям устройства. Плагины поддерживают как настольные, так и веб-концепции, а также приносят свои идеи.

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

Джим Раш
источник