А вот за фронтенд спрошу

Для того, чтобы смотреть записанные в Influx данные, я, особо не заморачиваясь, взял Grafana. Потыкался в настройки – и обнаружил среди интересных фишек Influx HTTP API, позволяющее делать запросы к базе данных прямо из браузера – точнее, из выполняющегося в браузере Javascript. Удобно? Не то слово!

А если подумать немного дальше – то при таком подходе не нужна и Grafana. Достаточно статики в виде нескольких HTML-страниц, чуточку CSS и Javascript, чтобы делать те же самые запросы к HTTP API и отображать графики. Развивая мысль чуть дальше – в нежно мной любимом CC3200 есть встроенный веб-сервер. В общем, понятно, к чему я клоню? В одном из девайсов возникла необходимость показывать на подключенном по WiFi ПК данные от датчиков устройства – разумеется, в виде графиков. Нарисовалось вот такое ТЗ “чисто для фронтенда”:

Разработать одностраничное приложение, которое раз в секунду “стучится” на определенный URL, забирает оттуда данные (несколько числовых рядов) в виде JSON, и отображает их в виде графиков (например, на canvas из HTML5). Для определенности – предположим, что каждую секунду отдается 8 “рядов” по 250 точек каждый, а на графиках надо отображать данные за последние 5 секунд.

Разумеется, есть и ограничения – их два: во-первых, нельзя обращаться к каким-либо внешним ресурсам, а во-вторых – страничка вместе со всеми ресурсами (изображения, CSS, скрипты) должна “весить” не более 512 кБ.

Ну и вопрос: в какой объем можно уместить что-то такое, применяя современные подходы к фронтенду?

5 комментариев

  1. Someting Other пишет:

    Chart.js – 60kb
    https://www.chartjs.org/samples/latest/

    Правда, нужно помнить, что при помощи JS нельзя просто так взять и взять произвольный JSON с другого домена. Так что некоторые действия на стороне сервера тоже скорее всего прийдется производить.

Ответить

Или воспользуйтесь входом по OpenID: