когда я вместо этого увлекся изготовлением многоразовых геймпадов для смартфонов.

Теперь я хочу представить небольшой проект, который вышел из него. Мы называем это SNEX, и именно геймпады, отображаемые на смартфонах, передают JSON через WebRTC при взаимодействии с ними. Разработчики могут подписаться на события JSON и легко управлять своими веб-приложениями с минимальной начальной загрузкой.

Это необходимые шаги.

  1. Разработчик создает уникальный URL.
  2. Пользователь открывает URL на своем телефоне.
  3. Разработчик получает сигнал, когда пользователь взаимодействует.
<script src="http://cdn.snex.io/snex.latest.min.js"></script>

<script type="text/javascript">
  snex.createSession()
  .then(session => {
    session.on('connection', conn => {
      console.log('Player joined!');
      conn.on('data', data => {
        console.log('Player signal', data);
      });
    });
    
    return session.createURL('nes');
  })
  .then(link => {
    // Prints "Go to http://snex.io/XAGE to play!"
    console.log(`Go to ${link.url} to play!`);
  });
</script>

В настоящее время мы предоставляем 3 классических пэда — NES, Super NES и Genesis/Mega Drive. Необходимая начальная загрузка невелика, и разработчики могут начать получать сигналы от наших геймпадов за считанные минуты.

К сожалению, на момент написания мы поддерживаем только Android. Это связано с тем, что WebRTC не был реализован в WebKit — движке, на котором работает Safari и все другие браузеры на iOS.

Если вы хотите проверить это, посетите http://snex.io/ или свяжитесь с GitHub.

Подушечки нарисованы Итаном Дирксом http://www.ethandirks.com/.