Интернет сегодня сильно отличается от того, что было 10 лет назад. Тогда, если вы хотели сделать что-то умеренно амбициозное, например, видеоконференцсвязь, вы должны были работать с плагинами, которые просто не работали так хорошо. Я, конечно же, имею в виду Flash, который Стив Джобс в 2010 году печально заслужил, потому что он небезопасен, медлителен и плохо подходит для мира сенсорных устройств.
Сейчас что-то лучше.
Он называется WebRTC и позволяет разработчикам создавать приложения реального времени, такие как MMORPG (многопользовательские ролевые онлайн-игры) и инструменты для видеоконференций, с использованием открытых веб-технологий, таких как HTML5, , JavaScript и CSS.
Вот все, что вам нужно знать о WebRTC.
Что оно может делать?
Возможно, самое важное, что следует помнить, это то, что WebRTC на самом деле не является единственным API ( интерфейс программирования приложений, ) или продукт. Скорее, это семейство API-интерфейсов, каждый из которых находится в разных состояниях завершения, с различной поддержкой в браузере и выполняет радикально разные задачи.
Некоторые из API WebRTC не очень захватывающие. Они выполняют такие простые задачи, как получение доступа к веб-камере компьютера и микрофону. Но другие гораздо более амбициозны.
Например, один API позволяет пользователям делиться своим экраном с удаленным пользователем. Другой поддерживает одновременное вещание, которое позволяет пользователям транслировать видео с различными уровнями качества и детализации. Другой API WebRTC (MediaStream API) позволяет разработчикам обрабатывать аудио на лету, приглушая, приостанавливая и добавляя треки по мере необходимости.
Есть больше. Гораздо больше. Конечно, больше, чем можно разумно обсудить в статье из 1000 слов.
Короче говоря, WebRTC предоставляет прекрасное семейство API-интерфейсов, которые позволяют работать с удаленными компьютерами в режиме реального времени. Это захватывающе, и люди используют его для невероятных, ошеломляющих вещей.
Для чего люди его используют?
Одним из наиболее успешных примеров использования WebRTC в реальных условиях является Appear.in . Мы рассмотрели его вскоре после его запуска в 2012 году, и он был впечатлен тем, как он сделал видеоконференции более привлекательными благодаря упорядоченной эстетике и отсутствию логинов, учетных записей и плагинов. Чтобы создать видеочат, достаточно нажать кнопку и поделиться ссылкой с человеком, с которым вы хотите пообщаться.
Appear.in — не единственная служба видеоконференцсвязи с поддержкой WebRTC. Был взрыв продуктов, созданных компаниями, которые очень в основном. Такие компании, как Citrix GoToMeeting Free и Firefox Hello Также широко распространено мнение, что Skype для веб работает на платформе WebRTC.
WebRTC также использовался для создания интерактивных многопользовательских игр на основе браузера. Большинство из них являются явно низкобюджетными, но с некоторыми серьезными исключениями. «Хоббит: Битва за пять армий» [больше не доступен] был выпущен в конце 2014 года в качестве дополнения к финальной части эпической саги Питера Джексона.
При поддержке WebGL и WebRTC игрок помещается на место одной из группировок Средиземья (орков, эльфов, людей и гномов), а затем сражается с другими игроками, стремящимися стать законными правителями фэнтезийного мира Толкина.
Но, несмотря на невероятные способы использования WebRTC, его поддержка во множестве браузеров невероятно ограничена.
Поддержка браузера
Как и ожидалось, Google Chrome и Firefox имеют наиболее полную поддержку WebRTC, хотя в обоих браузерах отсутствуют некоторые заметные пропуски. Например, в Firefox отсутствует API Simulcast, доступный для Chrome, а в Chrome отсутствует потоковое видео H.264.
Поддержка WebRTC в Opera безупречна, хотя это неудивительно, учитывая, что он использует тот же агент рендеринга, что и Google Chrome.
По всему спектру браузеров есть Internet Explorer и Safari. Они не поддерживают WebRTC, и в лагерях Microsoft и Apple нет никаких претензий к любой будущей поддержке. Однако существуют сторонние инструменты, которые добавляют функциональность WebRTC. Мы недавно рассмотрели один.
Skylink от Temasys — бесплатный плагин для IE и Safari, который представляет функциональность WebRTC. Тем не менее, он имеет подвох, а именно то, что он работает только ограниченное количество веб-сайтов, и, по-видимому, не один из них.
Это безопасно?
WebRTC, конечно, является важным шагом вперед по сравнению с Adobe Flash, который раньше использовался по умолчанию в браузере для обмена данными в реальном времени. Флэш был подвержен уязвимостям и оставлял пользователей открытыми для хакеров и вредоносных программ. Эта проблема была одной из многих, на которые указал Стив Джобс в своем эссе, в котором объяснялось, почему Flash никогда не появится на iPhone.
К счастью, WebRTC не страдает от тех же проблем, которые свойственны Flash, просто потому, что это не отдельная часть программного обеспечения — в данном случае плагин для . Это API.
Это не значит, что у WebRTC не было проблем с безопасностью, заметьте. Она имеет. Просто не в том же масштабе.
В конце прошлого года выяснилось, что можно найти реальный IP-адрес пользователя VPN, просто используя несколько строк кода JavaScript, которые используют части API WebRTC.
VPN, конечно, обычно используются лицами, которые конфиденциальности. кто хочет запутать их онлайн-деятельности. Еще не появилось обновление, которое решает эту проблему, кроме полного отключения WebRTC. Это можно сделать с помощью Отключить расширение WebRTC Firefox и плагин Stop WebRTC для Chrome [Больше не доступно], либо полностью отключив JavaScript.
Препятствия впереди
Обещание WebRTC не может быть завышено. Это, больше всего на свете в семействе HTML5, имеет шанс изменить способ использования Интернета, сделав его более совместным и интерактивным.
Но до тех пор есть много препятствий, которые нужно преодолеть. W3C отчаянно нуждается в поддержке Microsoft и Apple, а также в обеспечении совместимости браузеров, которые ее поддерживают.
До тех пор это останется очень нишевой технологией.
Согласен? Не согласен? Позвольте мне знать в комментариях ниже.