Лучшая технология - это та, с которой вы наиболее знакомы, если только вы не собираетесь учиться на лету. Но для различных вариантов я возьму удар.
Сама Flash (среда выполнения) - это плагин для браузера, так что это не то, что вам нужно, но если вы создаете свое приложение во Flash или Flex (средства разработки), вы можете опубликовать его как приложение AIR. AIR также является средой выполнения - в основном это Flash, плюс множество дополнительных API для работы вне браузера. Преимущества создания приложения AIR:
- То же приложение работает на win / mac / linux
- Вы можете сделать это с помощью тех же навыков / инструментов, которые вы используете для Flash (сомнительная утилита, если у вас, конечно, нет этих навыков / инструментов)
- Близкая интеграция инструментов с другими инструментами Adobe (фотошоп, эффекты и т. Д.)
Основным недостатком является неполный доступ к собственным (т. Е. ОС) возможностям. Среда выполнения позволяет вам запускать одно и то же приложение в win / mac / linux, ограничивая вас тем, что вы можете делать с собственным приложением.
Что касается Flex, то используете ли вы Flex или нет, это отдельный вопрос. Flex - это фреймворк во Flash - приложение AIR можно создать с использованием Flex или без него. По сути, если вы ожидаете, что в вашем приложении будет много элементов управления, ползунков, диаграмм, аккордеонных панелей и т. Д., Вы можете заглянуть во Flex. Если вы ожидаете, что в нем много анимации, картинок и звуков, лучше использовать обычный старый Flash.
Помимо Flash, другим основным выбором для среды выполнения является Silverlight. Преимущества, честно говоря, в основном одинаковые. Вы используете .NET вместо ActionScript, и интеграция инструментов осуществляется с помощью пакета MS Expression вместо творческого пакета Adobe, но процесс разработки и результаты весьма схожи. Выбор между AIR и Silverlight - это действительно выбор между инструментами Adobe и MS, а также между двумя языками программирования, обладающими совершенно сопоставимой мощностью. Большинство просто использует тот, с которым они более знакомы.
Наконец, другой набор опций состоит не в использовании среды выполнения, а в простой компиляции приложения из любого языка / среды разработки, которая вам нравится - C, C ++, .NET, Python, чего угодно. Преимущество здесь в том, что вы получаете (в общем) полный доступ к возможностям ОС. Недостатки в том, что вам (в общем) необходимо выполнить дополнительную разработку для работы на нескольких платформах, а также я не думаю, что вы найдете язык / среду, которая позволяет работать с мультимедиа так же легко, как вы можете в AIR и Silverlight .