2012-04-22 22:47:53
В последнее время я обнаруживаю все больше деталей из спецификации SVG, которые тот или иной браузер ...
+ развернуть текстсохранённая копия
В последнее время я обнаруживаю все больше деталей из спецификации SVG, которые тот или иной браузер не поддерживает. Например, Chrome не ловит мышейсобытия начала и конца анимации. Для быстрой проверки кто неправ — я или браузер удобно использовать специальные таблицы. … подробнее →
Взаимодействие с браузерами никогда не было работой для слабонервных: около полудюжины различных API, различные механизмы IPC, и разные возможности у разных поставщиков. Такие проекты, как WebDriver, пытаются абстрагироваться от этой сложности, к тому же в Сети можно найти десятки других «безголовых» драйверов, использующих WebKit или иные движки. В настоящее время в работе даже находится спецификация W3C на WebDriver.
Инструментирование Google Chrome
Тем не менее, в то время, как создание общего решения является сложной задачей, оказалось, что инструментирование Chrome очень просто, — как я недавно обнаружил при исследовании некоторых вопросов, связанных с сетевыми задержками. Начиная с 18 версии, Chrome теперь поддерживает протокол удалённой отладки v1.0, который предоставляет все возможности браузера с помощью обычного WebSocket!
2012-04-10 00:47:23
В статье про клиентскую часть интерактивного интернет-проекта мы подошли к вопросу возможности ...
+ развернуть текстсохранённая копия
В статье про клиентскую часть интерактивного интернет-проекта мы подошли к вопросу возможности использования двухстороннего постоянного соединения между сайтом и JavaScript-клиентом для синхронизации их состояний. Такое соединение представляет собой канал для обмена сообщениями в реальном времени между браузером и серверным процессом, причем каждая сторона может быть инициатором отправки сообщения и имеет некую логику реакции на получаемые [...]
2012-04-10 00:47:23
В статье про клиентскую часть интерактивного интернет-проекта мы подошли к вопросу возможности ...
+ развернуть текстсохранённая копия
В статье про клиентскую часть интерактивного интернет-проекта мы подошли к вопросу возможности использования двухстороннего постоянного соединения между сайтом и JavaScript-клиентом для синхронизации их состояний. Такое соединение представляет собой канал для обмена сообщениями в реальном времени между браузером и серверным процессом, причем каждая сторона может быть инициатором отправки сообщения и имеет некую логику реакции на получаемые [...]
В прошлой статье мы писали простенький эмулятор терминала на PHP. Я думаю, теперь время написать что-нибудь более серьезное, на вебсокетах. Какой язык использовать для работы с вебсокетами..? Питон..? Руби..? JavaScript..? Нет! Раз уж зарелизился Go 1, давайте на нём и напишем ;). Я постараюсь не повторяться и не писать сюда целиком код. Я приведу лишь интересные, на моей взгляд, фрагменты.
Демо
Как и в прошлый раз, я не готов вам предоставить доступ к какому-либо серверу, поэтому я ограничусь видео (хостовая ОС — FreeBSD):
Исходный код веб-терминала доступен на гитхабе. Компилировать вебсокет-демон необходимо самостоятельно (командой go build -o ws) — это сделано в качестве небольшой защиты от «скрипт киддисов». Если кто-нибудь захочет выложить интерактивное демо терминала, буду очень признателен, бинарник для демона могу прислать отдельно.
Читать дальше →