Конечно, Facebook мог быть реализован во Flash. Но тогда вопрос в том, удастся ли это? Есть причины, по которым крупные веб-компании, такие как Google, Facebook и Yahoo, используют Flash только как можно реже.
Больше всего я боялся бы отчуждения пользователей. Плагин Flash не является лучшим программным обеспечением. Это медленно и может привести к сбою время от времени. Если ваше приложение становится больше, вы можете получить время загрузки, которое может быть неприемлемым для ваших пользователей. Также, по моему мнению, полноценные Flash-сайты просто не чувствуют себя хорошо, потому что они ведут себя не так, как HTML-сайты. Все великолепные веб-сайты, такие как Google, Flickr, Stackoverflow или Facebook, выглядят очень легкими и элегантными, что очень удобно для удобства использования.
И тогда HTML и JavaScript становятся намного более гибкими. Вы хотите, чтобы ваш сайт был доступен на Smartphonse? В iPhone нет Flash, и даже с телефонами, в которых есть проблема, пользователи с большой вероятностью возненавидят полноценный Flash-сайт, поскольку эти телефоны не обязательно масштабируют Flash так же хорошо, как они масштабируют HTML, а Flash разряжает батарею как сумасшедшую. Если кто-то придумывает другую революцию, такую как смартфоны, вы можете быть уверены, что он поддерживает HTML и JavaScript, но вы не можете быть уверены в Flash.
Тогда вопрос в том, как бы вы получили какую-либо эффективность? Конечно, вы можете написать свой пользовательский интерфейс с помощью Flex и просто вызывать очень легкие веб-сервисы, как если бы вы использовали их для AJAX, и вы даже можете кэшировать часть содержимого сайта локально, чтобы не передавать больше данных, необходимых для взаимодействия с пользователем ( пользовательский интерфейс передается только один раз). Но вы также можете сделать это с помощью JavaScript. Вы можете написать свой пользовательский интерфейс в HTML и JavaScript, загрузить его один раз, а затем просто извлечь голые данные JSON с серверов и отобразить их с помощью JavaScript. Вы также можете получить много этих данных заранее, чтобы уменьшить количество запросов. Но все же у такого подхода есть свои минусы. Вы когда-нибудь замечали, что когда вы набираете ответ в stackoverflow, и кто-то еще отправляет ответ, вы получаете уведомление при наборе ответа. Такие функции в реальном времени очень крутые, и вы можете захотеть этого в какой-то момент времени, что означает более активное взаимодействие с сервером.
Но что бы вы ни делали, ваши серверы все равно должны масштабироваться, если ваш сайт растет. Даже если вы минимизируете количество GET-запросов, попадающих на ваши серверы, они все равно будут сильно расти, когда ваш сайт станет популярным, и вам потребуется много серверов, чтобы справиться с вами, вы просто улучшите соотношение пользователей и серверов.
Наиболее интересным моментом является то, что Flex гораздо проще программировать, чем AJAX (подумайте, например, о несовместимости браузеров), и все же AJAX был не только изобретен, но и весь мир перепутал со всеми этими проблемами, а не с использованием Flex , Я думаю, что это многое говорит о ценности результата, который вы получаете при создании полноценного веб-сайта во Flash.