Умный Canvas
Умный Canvas
Пока проблема с доступом технологий специальных возможностей не решена, может показаться, что Canvas – неактуальная технология для веб-разработчиков. Но это не на сто процентов верно.
Когда я использую на сайте JavaScript, я использую его не как основную функциональность, а как дополнение к уже имеющейся. Посетителям, у которых нет JavaScript, все равно будет доступно все содержимое, но оно будет вести себя несколько менее динамично, чем в среде с включенным JavaScript.
Этот многоуровневый подход, называющийся еще «ненавязчивый JavaScript», можно применить и к Canvas. Вместо того чтобы использовать Canvas для создания содержимого, используйте его, чтобы иначе отобразить существующее содержимое.
Предположим, у вас есть таблица с данными. Скажем, вы хотите проиллюстрировать аналитические выводы из этих данных в диаграмме. Если данные статичны, то вы можете сгенерировать картинку диаграммы – например, используя Google Chart API. Если же данные редактируемы, если они меняются в ответ на события, вызванные действиями пользователя, тогда Canvas – отличный инструмент для того, чтобы сгенерировать изменившуюся диаграмму. Ключевой момент здесь тот, что то содержимое, которое выводится внутри элемента canvas, уже доступно в существующем элементе table.
Умные парни из Filament Group разработали jQuery-плагин как раз для такой ситуации (рис. 3.04; http://bkaprt.com/html5/3)[6].
Рис. 3.04. Сгенерированная с помощью Canvas диаграмма из данных, введенных пользователями
Есть и другой вариант. Canvas – не единственная API для генерации динамических картинок. SVG (Scalable Vector Graphics, масштабируемая векторная графика) – XML-формат, в котором можно описать те же самые формы, что и в Canvas.
Поскольку XML – текстовый формат данных, содержимое SVG теоретически доступно программам, читающим текст на экране.
На практике SVG не захватило воображение разработчиков настолько, насколько это получилось у Canvas. Хотя Canvas – новый паренек в классе, у него уже отличная браузерная поддержка. Safari, Firefox, Opera и Chrome поддерживают Canvas. Есть даже JavaScript-библиотека, которая добавляет поддержку Canvas в Internet Explorer (http://bkaprt.com/html5/4)[7].
Учитывая мантры WHATWG – «асфальтируйте тропинки» и «не изобретайте велосипед», – может показаться странным, что при этом они выступают за включение Canvas в HTML5, когда уже существует стандарт SVG. Как часто и бывает, спецификация HTML5 только документирует то, что браузеры уже поддерживают. Элемент canvas не был задуман специально для HTML5; он был разработан Apple и реализован в Safari. Другие производители браузеров увидели, что делает Apple, им это понравилось, они это скопировали.
Звучит как-то несуразно, но зачастую именно так рождаются наши веб-стандарты. Например, в конце XX века Microsoft создала объект XMLHttpRequest для Internet Explorer 5.
Десятилетие спустя все браузеры поддерживают эту функцию, и в W3C она находится в статусе последней версии рабочего черновика.
В развивающемся по законам Дарвина мире веб-браузеров Canvas распространяется вширь и вдаль. Если он сможет приспособиться к технологиям специальных возможностей, выживание ему обеспечено.
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКДанный текст является ознакомительным фрагментом.
Читайте также
Canvas
Canvas Когда браузер Mosaic добавил возможность встраивать на веб-страницы картинки, это дало вебу огромный импульс для развития. Но с тех пор картинки оставались статическими. Вы можете создать анимированные гифки. Можете обновлять стили картинки при помощи JavaScript. Можете
Canvas. Ага! И для чего он нужен?
Canvas. Ага! И для чего он нужен? Создавать картинки на лету с использованием JavaScript и Canvas – это все здорово и прекрасно, но если вы не убежденный мазохист, то зачем?Истинная сила Canvas заключается в том, что его содержимое может быть обновлено в любой момент, на нем можно
Умный автомобиль
Умный автомобиль Автор: Олег ВолошинРаз у нас есть "умный дом" (см. "кт" #734), значит, непременно должен быть и "умный автомобиль". Однако в отличие от дома, который почти всегда стоит и никуда не едет, автомобиль все-таки — средство передвижения.ИСТОРИЯ, КАК ИЗВЕСТНО,
«Умный» пол как средство наблюдения за пожилыми и больными Николай Маслухин
«Умный» пол как средство наблюдения за пожилыми и больными Николай Маслухин Опубликовано 04 марта 2014 Немецкая компания Future-Shape разработала необычное напольное покрытие SensFloor, предназначенное для автоматизации многих процессов в жилых или
«Умный» чемодан может путешествовать самостоятельно Алексей Тоскин
«Умный» чемодан может путешествовать самостоятельно Алексей Тоскин Опубликовано 24 февраля 2014 Скорость появления «интернета вещей» в жизни простого обывателя сложно переоценить. По данным ABI Research, сейчас на рынке более 10 млрд беспроводных
Умный дверной замок, автоматически открывающий дверь владельцу смартфона Николай Маслухин
Умный дверной замок, автоматически открывающий дверь владельцу смартфона Николай Маслухин Опубликовано 03 июня 2013 Замки с обычными металлическими ключами постепенно уходят в прошлое, а им на смену приходят «умные» системы доступа в помещение.
Промзона: Умный будильник Николай Маслухин
Промзона: Умный будильник Николай Маслухин Опубликовано 20 июля 2010 года Звон обычного будильника, как монетка, брошенная в музыкальный автомат, заводит пластинку с пол-оборота. Минуту назад ты ещё крепко спал, но будильник сработал и перенес тебя из
12.2. Canvas Size (Размер холста)
12.2. Canvas Size (Размер холста) Диалоговое окно Canvas Size (Размер холста) (рис. 12.3) позволяет изменять размеры изображения, дорисовывая к нему края Background Color (Цвет фона). Правильнее было бы сказать, что здесь мы изменяем размер холста, на котором находится изображение. Если при
Умный и безопасный почтовый ящик для многоквартирного дома Николай Маслухин
Умный и безопасный почтовый ящик для многоквартирного дома Николай Маслухин Опубликовано 29 января 2014 Жилые многоквартирные дома становятся все выше, а это значит, что количество почтовых ящиков и площадь, которую они занимают на стене подъезда,
«Умный» носок для грудного ребенка, передающий информацию о здоровье на телефон родителей Николай Маслухин
«Умный» носок для грудного ребенка, передающий информацию о здоровье на телефон родителей Николай Маслухин Опубликовано 06 сентября 2013 Пока весь мир обсуждает «умные» часы, выпущенные Samsung, американцы из Университета Бригама разработали умный