Динамически обновляемые графики на веб-странице - как? - PullRequest
3 голосов
/ 25 ноября 2008

Мне нужно понять хороший способ создания веб-страницы с динамически обновляемыми графиками. Это должно быть что-то похожее на то, как выглядят графики фондового рынка (например, Google Finance ), хотя с немного более сложной функциональностью, но это не главное. Естественно, я имею в виду написание элемента управления флэш-памятью в стиле ajaxy, который мог бы взаимодействовать с сервером через что-то вроде XMLHttpRequest, но изнутри флэш-кода, и рисовать вещи на основе полученных данных. Это выполнимо со вспышкой? Разрешает ли модель безопасности такое взаимодействие клиент-сервер? Если да, не могли бы вы придумать какие-нибудь ссылки для меня (аналогичные проекты с открытым исходным кодом, статьи и т. Д.) Или я должен забыть о флэш-памяти и сразу использовать Java-апплет?

Важно отметить: я не думаю, что смогу использовать Google API для создания диаграмм, потому что мне также нужно взаимодействовать с пользователем. В приведенной выше ссылке на Google Finance пользователь может перетаскивать график туда-сюда с помощью мыши, это близко к тому, что мне нужно (мне также нужно будет выполнить некоторые действия из выпадающего меню).

Спасибо за ваши ответы и мнения!

Ответы [ 5 ]

4 голосов
/ 25 ноября 2008

Попробуйте: JQuery Flot

Flot - это плагин JQuery для построения графиков. Вы продолжаете реплотировать на месте с последними данными с желаемой частотой, чтобы генерировать динамически обновляемый график. Он основан на теге . Мы успешно используем его для генерации довольно сложных динамически обновляемых графиков в наших приложениях. Обновления выбираются через периодические вызовы AJAX.

Другая альтернатива - Графики YUI

Мы не слишком много изучали, но здесь используются Flash и AJAX, как вы и хотели.

/ RS

2 голосов
/ 25 ноября 2008

Я использовал Google Charts API , чтобы делать подобные вещи. Простой пример смотрите на моей странице Sunrise and Sunset . На этой странице рассчитывается время восхода и захода солнца для заданной широты и долготы, все в Javascript, а затем используется Google Chart API для замены графика на странице запрошенными данными.

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

1 голос
/ 03 декабря 2008

Это очень возможно во вспышке. Вы можете использовать класс URLLoader для получения данных с сервера во время выполнения и рисования графика с использованием пользовательского элемента управления. В actionscript3 вы бы создали подкласс класса Shape и написали небольшой код для рисования ваших графиков. Во Flash есть поддержка рисования и заливки, поэтому, вероятно, это было бы неплохо.

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

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

1 голос
/ 25 ноября 2008

Вы описали Flex ...

0 голосов
/ 25 ноября 2008

Я не уверен насчет Flash, но это было бы довольно просто сделать в Silverlight. Я уверен, что вы легко сможете сделать запрос к серверу во Flash.

Я бы занялся поиском длинного опроса.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...