Chrome 39: что нового

На протяжении последних шести лет, браузер Google Chrome активно развивается и новые версии появляются достаточно часто. Не так давно был выпущен новый Chrome 39 и вы, возможно, уже успели его установить. Я выделил для себя несколько приятных и парочку сомнительных изменений.

ECMAScript 6 генераторы

Генераторы — специальные функции, описываемые function*, которые создают итерации. Итератор — это объект, содержащий метод next(), вызываемый для получения значения. Функция генератора использует оператор yield для описание последовательности.

Простой пример использования:

[javascript]function* HelloGen() {
yield 100;
yield 400;
}

var gen = HelloGen();

console.log(gen.next()); // {value: 100, done: false}
console.log(gen.next()); // {value: 400, done: false}
console.log(gen.next()); // {value: undefined, done: true}
[/javascript]

Генераторы ECMAScript6, так же, поддерживаются Opera и Firefox версии выше 31.

Beacon API

Новое api Beacon позволяет отсылать данные на сервер без ожидания ответа. Запросы собираются в очередь и обрабатываются браузером при первой же возможности. Что важно, этот метод не задерживает выгрузку текущей страницы и загрузку следующей.

navigator.sendBeacon() получает два аргумента, URL и данные — строка или FormData. Обычно удобно использовать при отправки статистической и другой информации.

[javascript]navigator.sendBeacon(‘/log’, ‘page-unloaded’);[/javascript]

Метод возвращает true, если браузер успешно поставил в очередь beacon-запрос. Я не уверен, что нужно делать в случае, если метод вернул false, но beacon не должен использоваться для обмена критичными данными.

Beacon api, так же, поддерживаются Opera и Firefox версии выше 31.

Web Animation

Web Animation была добавлена уже в Chrome 36. Основная идея — реализация простой CSS3-подобной keyframe-анимации в JavaScript. Пример использования Web Animation:

[javascript]var myanimation = myelement.animate([
{ color: "#f00" },
{ left: "20em" },
{ transform: "rotate(180deg)" }
], {
duration: 1000,
iterations: 1,
delay: 0
});[/javascript]

Существенным приемуществом является то, что теперь можно контролировать и синхронизировать анимацию в зависимости от действий пользователя. В Chrome 39 добавлены методы воспроизведения: play(), pause(), reserve(), finish() (переводит анимацию в конечное состояние) и cancel()(отменяет все эффекты).

На мой взгляд, Web Animation — это компромисс между простой ccs3 и полнофункциональной JavaScript анимацией. Скорее всего, она будет даже излишне функциональной для простого веб-дизайна и, в тоже время, недостаточной для разработки сложных приложений вроде игр. А, вот, для простых приложений и презентаций — будет в самый раз.

На данный момент только Chrome и Opera  поддерживают Web Animation. Конечно же, существуют ночные сборки Firefox с ее поддержкой и отдельный api, но их стабильность, пока, оставляет желать лучшего.

Web Application Manifest

В отличии от Application Cache ManifestWeb Application ManifestJSON файл, в котором можно описать мета-данные приложения, такие как название, начальный адрес, иконки, режим/размер экрана, его ориентацию и другое.

Для включения файла в страницу нужно его описать тегом link в html секции head:

[html]<link rel="manifest" href="manifest.json">[/html]

и разместить сам файл в соответствующем месте:
[json]{
«name»: «My Application»,
«icons»: [{
«src»: «icon/lowres»,
«sizes»: «64×64»
}, {
«src»: «icon/small»,
«sizes»: «64×64»
}, {
«src»: «icon/hd_hi»,
«sizes»: «128×128»,
«density»: 2
}],
«start_url»: «/index.html»,
«display»: «fullscreen»,
«orientation»: «landscape»
}[/json]
Здесь мы убрали 57 размер иконок iOS. Ждем реализации этой технологии в Safari!.

Firefox использует манифест в их Marketplace, но там немного отличаются наименования полей.

Режим погружения Windows 7

Переключение в режим погружения Windows 7 делает Chrome похожим на полноэкранное Metro-приложение Windows 8. Не привычно то, что Chrome размещает полу-прозрачную панель с часами и кнопкой пуск над панелью задач Windows 7.

Очень спорное нововведение, ведь большая часть пользователей недолюбливает плиточный интерфейс Windows 8.

Так же, мне не понравилось то, что Google тайком перетаскивает свои виджеты из Chrome OS в другие операционные системы.

Небольшие обновления

  • Несколько мелких обновлений:
  • Бесплатные Chrome Apps теперь можно устанавливать из Play Store без авторизации;
  • scrollTop и scrollLeft теперь работает на high-DPI/Retina экранах;
  • Появилась возможность редактировать сохраненные пароли;
  • На Mac OS теперь доступна только 64-битная версия Chrome;
  • Поддержка шифрования SHA-1 теперь прекращена в пользу SHA-2;
  • Появилась тестовая поддержка кнопок расширений в меню.

Подведя итоги можно сказать, что очередное обновление Google Chrome удалось. Браузер по-прежнему остался быстрым и надежным, чем он и заслужил любовь почти половины пользователей веб.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *