Доска для совместного рисования в режиме реального времени на HTML5 / JS и в веб-сокетах?

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

Что нас интересует, так это исследование того, насколько далеко зашел HTML5, чтобы создать на нем интерактивную доску для совместного рисования - исключительно с помощью веб-технологий без плагинов (так что CSS, HTML5 / DOM и Javascript). В конечном итоге мы стремимся к следующему - например, иметь онлайн-холст / страницу на центральном сервере, отображаемую на большом экране в классе. Затем наши студенты / пользователи вынимали свои смартфоны, загружали страницу в свои мобильные браузеры (сейчас я вполне нормально ограничиваю это мобильными браузерами webkit) и рисовали на своих экранах касанием / пальцами (или на ПК с помощью мыши. - предположение, что это не имеет большого значения), и он будет обновляться в реальном времени для всех - как на их экранах, так и на центральном большом экране в классе.

Я предполагаю, что запросы push / get будут слишком медленно для этого - можно ли решить эту проблему с помощью веб-сокетов? Есть ли у кого-нибудь хорошие JS-библиотеки, которые можно порекомендовать для этого?

Также как бы выглядела идеальная (но более понятная для учащихся) архитектура. Допустим, у вас есть 30 одновременных пользователей в классе - каждый из них будет подключаться через веб-сокеты к серверу, и сервер объединит / объединит все свои запросы в один, а затем вернет объединенный файл (какой-то минимальный JSON или даже просто координаты ) для каждого подключенного пользователя?

Смогут ли веб-сокеты и (я предполагаю) холст это принять? Чтобы все по-прежнему выглядело быстро? Существуют ли (похожие на jQuery) библиотеки JS, чтобы облегчить нашу жизнь - или вы думаете, что это слишком сложно для проекта двухнедельной летней школы?

25
задан Michael 27 July 2011 в 14:00
поделиться