Веб-разработка → Зацикливание цвета на холсте
![подлинное зацикливание восьмибитного цвета при помощи HTML5 [подлинное зацикливание восьмибитного цвета при помощи HTML5]](http://ajaxian.com/wp-content/images/Canvas-Cycle_-True-8-bit-Color-Cycling-with-HTML5.jpg)
Интерес к холсту (<canvas>), а равно и к мобильным приложениям, приводит к возрождению прежней художественной школы восьмибитных изображений. Joe Huckaby из Effect Games поигрался с зацикливанием цвета, что привело к несколько ошеломляющим результатам.
Помнит ли кто-нибудь зацикливание цвета в девяностых годах? Эта технология часто использовалась восьмибитными видеоиграми той эпохи для достижения интересных зрелищных эффектов методом зацикленного сдвига цветовой палитры. Тогда видеокарты могли показывать только 256 цветов за раз, так что использовалась палитра подобранных цветов. Но программист мог переменять эту палитру по своему усмотрению, и цвета на экране тотчас переменялись, подстраиваясь под неё. Это происходило быстро, и не требовало буквально никакой дополнительной памяти.Здесь также происходит искусная оптимизация — вместо того, чтобы очищать и перерисовывать всю сцену в каждом кадре, Джо обновляет только те пикселы, которые изменяются:
Чтобы достигнуть во браузере быстрой смены кадров, мне пришлось устроить слегка безумную оптимизацию движка. Отображение картинки 640×480 с индексированным цветом на тридцатидвухбитномRGB-холсте означало бы обход и прорисовку 307200 пикселов в каждом кадре джаваскриптом. Это обход обширного массива, так что некоторые браузеры просто не в состоянии справиться с этим. Я преодолел их медлительность предварительной обработкою изображений, когда они впервые загружаются, и сбором тех пикселов, которые ссылаются на анимируемые цвета (то есть на цвета, входящие в зацикливаемые подмножества палитры). Координаты этих пикселов хранятся в отдельном (меньшем) массиве, и оттого одни только изменяемые пикселы обновляются на экране. Этот финт оптимизации сработал настолько превосходно, что анимация действительно крутится на весьма неплохой скорости в моём iPhone 3GS и iPad!
Firefox → Firefox 4 значительно ускорится и получит поддержку inline SVG
Вечером 30 июня «Мозилла» явилась в Лондон в Англии, чтобы поведать про дополнения («Mozilla Add-Ons») и показать некоторые новые клёвые особенности грядущего Файерфокса 4.
Вероятно, наиболее впечатляющими (если не считать средства создания дополнений«Add-Ons Builder», основанного на «Беспине») оказались следующие будущие возможности Firefox 4:
→ отображение HTML5-видео (<video>)
→ рисование на холсте (<canvas>)
→ манипулирование изображениями на холсте (анализ пикселов, распознавание лиц с помощью opencivitas)
→ технологии «зелёного экрана» (хромакей) в иллюстрациях и видео, достигаемые анализом цвета пикселов
→ HTML5, встраиваемый внутрь SVG (ура!)
→ SVG как <img>
→ SVG как CSS-фон
→ SVG-фильтры, SVG-маски, SVG-контуры обрезки
→ SVG-анимация
→ inline SVG (то есть SVG внутри HTML5)
→ CSS3: селекторы,@font-face, 2D-преобразования (transforms), переходы (transitions), тени, градиенты, вычисления — calc(2em-10px)
→ API: геопозиция (geolocation), оффлайн (IndexDB, localStorage, AppCache, FileAPI: чтение двоичного содержимого из файла, перетаскивание файлов),веб-труженики (web workers) и сокеты (websockets)
→ контроллер на вебсокетах, запускающий презентацию с мобильника
→ WebGL
Некоторые из этих способностей подтверждались демонстрациями:
→ фильтры CSS3 и маски SVGна HTML5-видео:
Вероятно, наиболее впечатляющими (если не считать средства создания дополнений
→ отображение HTML5-видео (<video>)
→ рисование на холсте (<canvas>)
→ манипулирование изображениями на холсте (анализ пикселов, распознавание лиц с помощью opencivitas)
→ технологии «зелёного экрана» (хромакей) в иллюстрациях и видео, достигаемые анализом цвета пикселов
→ HTML5, встраиваемый внутрь SVG (ура!)
→ SVG как <img>
→ SVG как CSS-фон
→ SVG-фильтры, SVG-маски, SVG-контуры обрезки
→ SVG-анимация
→ inline SVG (то есть SVG внутри HTML5)
→ CSS3: селекторы,
→ API: геопозиция (geolocation), оффлайн (IndexDB, localStorage, AppCache, FileAPI: чтение двоичного содержимого из файла, перетаскивание файлов),
→ контроллер на вебсокетах, запускающий презентацию с мобильника
→ WebGL
Некоторые из этих способностей подтверждались демонстрациями:
→ фильтры CSS3 и маски SVG
Каскадные Таблицы Стилей → Изящное оглавление модулей CSS3
Во блоге Ajaxian сообщают, что Šime Vidas свёл в единое оглавление (причём прячущееся по желанию читателя) все модули CSS3, сколько ни есть их на сайте W3C:
![[скриншот]](http://i42.tinypic.com/oadb3t.png)
Как же красивы простые полезные вещи. А эта штука ещё и познавательна: я и понятия не имел, что в рамках CSS3 столько набросали набросков.
![[скриншот]](http://i42.tinypic.com/oadb3t.png)
Как же красивы простые полезные вещи. А эта штука ещё и познавательна: я и понятия не имел, что в рамках CSS3 столько набросали набросков.
Firefox → Взгляд в ближайшее будущее: Firefox 4
Во блоге Ajaxian и во блоге Mozilla Hacks появились блогозаписи о том, каков будет грядущий Firefox 4.
Главная новость: Firefox 4 станет окончательным номеромтой альфа-версии браузера, которая была до этого известна нам в качестве Firefox 3.7.
Одна из основных инновацийFirefox 3.7 (а именно, вычленение плагинов в отдельный процесс) ужé выпущена в составе Firefox 3.6.4.
Помимо неё, в Firefox 4 появятся вот какие новинки:
→ Поддержка SVG и MathML прямо внутри HTML5, без необходимости прибегать к строгому XHTML и пространствам имён.
→ Интерпретатор HTML5 в отдельном потоке, поэтому интерфейс браузера не будет тормозить в момент обработки крупных страниц.
→ Интерпретатор HTML5 будет поддерживать HTML5 forms.
→ Вызов innerHTML станет работать быстрее (примерно на 20%).
→ Поддержка WebSockets (вебоприложения получат дуплексную связь с вебосервером).
→ PushState улучшит AJAX-взаимодействия.
→ Новые средства взаимодействия с вебостраницами: жесты,многотык (multi-touch).
→ Улучшенная поддержка CSS3.
→ Редактируемое содержимое страниц (contentEditable).
→ IndexedDB: структурированноеJSON-подобное (а не SQLite-подобное, как было прежде) хранилище данных.
→ Интерфейсы для доступа к микрофонам и вебокамерам посетителей сайта.
Главная новость: Firefox 4 станет окончательным номером
Одна из основных инноваций
Помимо неё, в Firefox 4 появятся вот какие новинки:
→ Поддержка SVG и MathML прямо внутри HTML5, без необходимости прибегать к строгому XHTML и пространствам имён.
→ Интерпретатор HTML5 в отдельном потоке, поэтому интерфейс браузера не будет тормозить в момент обработки крупных страниц.
→ Интерпретатор HTML5 будет поддерживать HTML5 forms.
→ Вызов innerHTML станет работать быстрее (примерно на 20%).
→ Поддержка WebSockets (вебоприложения получат дуплексную связь с вебосервером).
→ PushState улучшит AJAX-взаимодействия.
→ Новые средства взаимодействия с вебостраницами: жесты,
→ Улучшенная поддержка CSS3.
→ Редактируемое содержимое страниц (contentEditable).
→ IndexedDB: структурированное
→ Интерфейсы для доступа к микрофонам и вебокамерам посетителей сайта.
JavaScript → Джаваскриптовый эмулятор Сommodore 64
Опрос показал, что около 42% читателей Хабрахабра используют рождественские выходные дни для того, чтобы потрудиться над своими проектами.
Во блоге Ajaxian сообщают, что точно таким же манером использовал свои выходные разработчик по имени Тим де Конинг, который портировалFlash-версию эмулятора Commodore 64 на чистый джаваскрипт, работающий с холстом (<canvas>). Получился проект, названный им jsc64. Выглядит вот как:
![[скриншот jsc64]](http://ajaxian.com/wp-content/images/c64.png)
Исходный код раздаётся на GitHub. Там есть даже plugin для jQuery.
Во блоге Ajaxian сообщают, что точно таким же манером использовал свои выходные разработчик по имени Тим де Конинг, который портировал
![[скриншот jsc64]](http://ajaxian.com/wp-content/images/c64.png)
Исходный код раздаётся на GitHub. Там есть даже plugin для jQuery.