Между тем в протоколе HTTP присутствует множество давно ненужных анахронизмов, которые лишь замедляют время загрузки страницы в браузере, и поэтому специалисты ведут работу по замене его на отвечающий современным требованиям вариант HTTP2.
Четыре года назад в Google начали разработку нового варианта HTTP, получившего название SPDY (произносится как «спиди»). Основной задачей создания SPDY было именно ускорение загрузки страниц. При использовании HTTP для загрузки одной страницы клиентский компьютер отправляет на веб-сервер десятки различных запросов. SPDY позволяет ускорить этот процесс при помощи технологии мультиплексирования, когда несколько сигналов сводятся в один, а также благодаря системе приоритизации наиболее важных запросов.
По последним данным Google, технология SPDY позволяет ускорить загрузку типичной страницы Google News примерно на 45%. И, да, она доступна уже сегодня во всех последних версиях популярных браузеров — начиная с Chrome и Firefox и заканчивая Internet Explorer в Windows 8 и 8.1.
Но, к сожалению, пока очень небольшое число сайтов в интернете оптимизировано под технологию SPDY. Проверить, поддерживает ли конкретный ресурс SPDY, можно на странице SPDYCHECK, просто введя URL нужного сайта. На момент написания этих строк новую технологию поддерживали такие популярные сайты, как Facebook, Twitter и WordPress. Однако ни Lenta.Ru, ни Википедия, ни LiveJournal SPDY похвастаться этим пока не могут.
Скорее всего, SPDY станет частью нового стандарта HTTP2, разработка которого в настоящее время продолжается. Внедрение подобных стандартов способно занять годы, однако после этого многие сайты будут грузиться на пользовательских терминалах практически мгновенно.
2. WebRTC
Вам больше не понадобится ни Skype, ни какой-то другой VoIP-сервис для установки голосовой или видеосвязи через интернет: технология WebRTC позволяет организовывать видеочат между любыми пользователями социальных сетей, таких как Facebook, прямо со страниц этой сети. Техническая основа WebRTC — API на JavaScript, интегрируемые непосредственно в браузер. В WebRTC также используется масса наработок в области звуковых и видеодвижков, включая подавление шума и эхо, а также сжатие сигнала для передачи по медленным каналам.
Благодаря WebRTC можно будет забыть про нелепые задержки при запуске многопользовательских видеоконференций, особенно если один из пользователей ещё не скачал и не установил нужный софт. Всё необходимое для голосовых и видеозвонков будет встроено в браузер. Станут обычными видеоконсультации потенциальных клиентов в интернет-магазинах; сегодня подобным сервисом может похвастаться лишь Amazon: в ридерах Kindle последнего поколения достаточно нажать кнопку, чтобы начать видеочат со службой технической поддержки.
http://www.youtube.com/watch?v=MsAWR_rJ5n8
Кроме того, внедрение WebRTC способно поднять на принципиально новый уровень интерактивность веб-сайтов. Если пользователь даст сайту доступ к своей веб-камере, разные сервисы смогут видеть своих посетителей. Это позволит, например, автоматически изменять размер шрифта, если пользователь слишком близко нагнулся к монитору, проматывать страницу, если глаза опустились к низу экрана: подобная функция, отслеживающая движение глаз, уже есть в некоторых смартфонах Samsung.
И самое главное: все технологии, входящие в состав WebRTC, бесплатны для всех владельцев сайтов, которым не нужно делать лицензионные отчисления за использование каких-то проприетарных систем.
API WebRTC уже встроены в последние версии браузеров Chrome, Firefox и Opera. Дело за малым — дождаться мобильной версии, чтобы можно было полноценно использовать смартфоны и планшеты.
3. IFTTT
«Компьютерра» неоднократно писала про концепцию «интернета вещей» (см. какого-либоздесь и здесь); вкратце — она предполагает непосредственное «общение» самых разных устройств через интернет без вмешательства человека. Между тем мы всё ещё в самом начале пути автоматизации «интернета вещей», и до полноценного его использования далеко.
Лучший пример правильно организованного «интернета вещей» — это сетевая служба ifttt.com IFTTT (произносится как «ифт»), относящаяся к категории так называемых мешап-сервисов, то есть веб-сервисов, объединяющих в единый инструмент данные из разных источников. Аббревиатура IFTTT расшифровывается как «If this, than that», то есть «если это, тогда то», и именно так и действует эта служба, автоматизирующая выполнение заданной последовательности операций.
К примеру, вы можете задать автоматическое сохранение в облаке Dropbox всех фотографий в Facebook, отмеченных вашим тэгом, или запрограммировать ежедневную отправку вам текстовых сообщений о прогнозе погоды по утрам в 7:00.
Но если объединить функциональность IFTTT с возможностями аппаратных устройств, то получится гораздо более любопытная система. Уже можно приобрести различные устройства, совместимые с IFTTT. К примеру, компания Belkin выпускает датчики движения и выключатели WeMo, при помощи которых можно «подружить» даже самую далёкую от интернета аппаратуру. Простейший пример — охранная система: срабатывание датчика движения может привести к отправке вам СМС, сообщения электронной почты или, что гораздо неожиданнее для злоумышленника, к включению на полную громкость вашей стереосистемы.
Недавно IFTTT договорилась с американским магазином «умных вещей» Smart Things, который, помимо прочего, торгует выключателями и дверными замками, управляемыми через интернет. При использовании таких устройств вы сможете, к примеру, включать свет в доме, послав текстовое сообщение, или открыть входную дверь гостям при помощи твита.
В дальнейшем «интернет вещей» сможет обеспечить полностью автоматический сервис совсем иного уровня. Например, ваш смартфон, определив по координатам GPS, что вы находитесь в нескольких километрах от дома, может послать сигнал домашней климатической системе включить отопление или, наоборот, охладить воздух. Компьютер вашего автомобиля сможет подключаться к телефону и, к примеру, автоматически записывать вас на очередное техобслуживание. Возможных применений бесконечное множество.
4. SRCSET
Появление экранов высокого разрешения, таких как Retina на iPad и MacBook, привело к возникновению неожиданной проблемы: многие изображения на веб-сайтах выглядят на них расплывчатыми или зернистыми, поскольку были подготовлены и оптимизированы под обычные дисплеи.
Традиционно на веб-страницах используются фотографии ограниченного разрешения и качества: сначала из-за низких скоростей соединений, а затем из-за небольшого разрешения собственно экранов. Более того, всегда считалось дурным тоном вешать на сайт «тяжёлые» многомегабайтные изображения, которые сильно замедляли загрузку и к тому же обходились недёшево на мобильных и других соединениях с помегабайтной тарификацией.
Но как же быть, если «оптимизированные» изображения выглядят ужасно на получающих всё большее распространение «ретиноподобных» дисплеях, а владельцам обычных устройств нет смысла качать картинки высокого разрешения — ведь невозможно размещать на странице одновременно несколько версий изображений? Или возможно?
Новый атрибут «srcset», входящий в состав расширений стандарта HTML5, о котором чуть ниже, позволяет выдавать изображения разного качества, в зависимости от разрешения экрана клиента. Поддерживаются модификаторы кратности — например, 2х (плотность пикселей повышена вдвое), 3х (втрое).
Атрибут «srcset» поддерживается во всех браузерах, основанных на движке WebKit, и, разумеется в Apple Safari, но он пока не стал общепринятым стандартом. Демонстрацию «scrset» в действии можно увидеть здесь.
5. Native Client
До сих пор сохраняется солидная разница в производительности и возможностях веб-приложений, доступных через браузер (например, Google Docs), и «полноценных» настольных приложений, устанавливаемых и запускаемых на ПК (например, Microsoft Office). Технология Google Native Client позволит преодолеть эту разницу и запускать приложения, написанные для десктопов, прямо внутри браузера.
Благодаря Native Client различные приложения, написанные на языках C и C++, такие как Microsoft Word или Adobe Photoshop, можно устанавливать на веб-сайте, при этом доступ к ним можно получить через обычный браузер.
До недавнего времени работать с этими приложениями можно было только на машинах с определённым типом процессора, для которого они были написаны, — а точнее, с чипами с набором инструкций x86, устанавливающихся в большинстве ПК. Это означало, что браузерный доступ к ним был невозможен с планшетов на Android, подавляющее большинство которых работает на процессорах с архитектурой ARM.