Silverlight достаточно отличается от AIR и от Prism, поэтому сравнение здесь может быть очень запутанным. Я не совсем квалифицирован, чтобы говорить о JavaFX, но я достаточно знаком с остальными тремя, чтобы знать, что я не буду сравнивать их напрямую.
Silverlight - это плагин для браузера с некоторыми очень интересными возможностями, которые могут появиться в игре, если его вынуть из браузера. Со стороны развертывания разрабатывается одно приложение, которое можно запускать на веб-странице (всегда по умолчанию) или устанавливать на рабочий стол, хотя приложения, предназначенные для установки, могут быть строго ограничены (или потенциально не функционировать) до тех пор, пока они не станут установлены. Вероятно, лучшее сравнение - это сочетание Flash и AIR с преимуществом предложения решения для приложений, которые получают выгоду от более гибридного решения (переход с веб-интерфейса на настольный компьютер - это простой путь для потребителя, который может попробовать приложение и затем установите его без проблем, возможно, для большей функциональности).
AIR - это настольная сторона платформы разработки Adobe; установленная сторона Flash. Как упоминает Саймон, он имеет серьезные корни в сообществе дизайнеров и, вероятно, является очень привлекательным решением для разработчиков Flash, стремящихся использовать имеющиеся у них знания ActionScript и выйти за пределы ограничений в браузерном приложении. Я слышал, что AIR упоминается как «клиентская платформа Twitter», что несправедливо по духу (даже если оно отражает его наиболее распространенное использование), хотя оно указывает на тот факт, что визуализация данных, вероятно, является самой сильной стороной AIR есть. Silverlight делает то же самое, но также имеет более надежные библиотеки для манипулирования данными, что, на мой взгляд, не так просто в Actionscript.
Призма - это новая, которая дает ей все преимущества многообещающих вещей и все недостатки того, что они еще не доставлены. Возможно, HTML5 обеспечит превосходный способ обработки всего, что делают текущие плагины для браузера, но на данный момент это не так, и трудно представить, чтобы кто-то предполагал такую поддержку приложения, которое они планируют развернуть сегодня. Сила Prism заключается в том, чтобы извлекать существующие веб-страницы из браузера, добавлять некоторые функции и терять ограничения на основе браузера, но все еще трудно (если не невозможно) сказать, что будут предлагать приложения, разработанные для Prism. Идея Саймона о HTML5 хорошая; базовый язык никогда не был предназначен для разработки приложений, и это показывает.
Лично я разработчик Silverlight, в основном потому, что он использовал мои знания C # и библиотек .net. Я встречал разработчиков AIR, которые находятся в одной лодке, пришедших из Flash-разработки Я полагаю, что серьезный разработчик HTML / CSS / Javascript может чувствовать то же самое в отношении Prism, и я думаю, что идея изучения иностранного языка и нового набора библиотек и a новая платформа достаточно устрашающая (если только вы не намерены просто изучить что-то совершенно новое), что использование существующих навыков может быть самым простым способом «сравнить» эти технологии и выбрать между ними. Скорее всего, если вы веб-разработчик и вам нужно что-то сделать, вы обнаружите, что один из четырех перечисленных вами вариантов чувствует себя как дома, и всегда есть обходные пути для частей платформы, которые отсутствуют. Я обнаружил, что самый простой способ получить новые функции на платформе - это заявить, что они не могут быть выполнены, и подождать, пока их не доказывают.