Случайны выбор дневника Раскрыть/свернуть полный список возможностей


Найдено 4772 сообщений
Cообщения с меткой

opera - Самое интересное в блогах

Следующие 30  »
rss_rss_hh_new

[Из песочницы] API для управления плеерами на сайтах

Среда, 20 Июля 2016 г. 19:47 (ссылка)

Предыстория



В 2012-2013 годах я нашёл одно онлайн-радио, которое «зацепило» меня большим выбором хорошей музыки и тем, что там (почти) не было рекламы.



По своей должности я — web-разработчик, да ещё интересуюсь различными технологиями и происходящим в науке, и посему у меня довольно часто открыто большое количество вкладок в браузере, а зачастую ещё и несколько профилей в браузере. А если ещё добавить к этому среду разработки, графический редактор, открытые папки, то хоть заводи навигатор по всем открытым окнам и вкладкам.



Музыка во вкладке в браузере у меня играла большую часть времени. Когда мне нужно было приостановить воспроизведение, чтобы ответить на звонок или посмотреть интересный видеоролик, приходилось сначала найти нужное окно браузера, потом — нужную вкладку и только после этого можно было нажать заветную кнопку паузы.



Такое происходило часто, и я всё чаще стал задаваться мыслью найти решение этой проблемы.

Недолго думая, решил написать расширение для браузера, которое позволяло бы с помощью горячих клавиш (в терминологии некоторых браузеров — быстрые клавиши) контролировать воспроизведение.



А ещё часто мне было интересно узнать исполнителя и название произведения, поэтому было решено добавить всплывающие оповещения с этой информацией.



Готовое расширение



Сегодня моё расширение позволяет контролировать воспроизведение уже на нескольких сайтах (SoundCloud, Digitally Imported, ВКонтакте, Одноклассники, Онлайн-радио 101.ru, VGM Radio), а также некоторые другие действия (добавлять текущий трек в плейлист, отмечать трек как понравившийся, изменять громкость звука). Делается это как с помощью быстрых клавиш, так и при помощи кнопок в оповещении (кнопки не отображаются в Opera).



Ещё есть (отключаемые) оповещения с информацией о треке при изменении статуса плеера либо по нажатию быстрых клавиш.



Также ведётся список десяти последних треков с возможностью поиска оных ВКонтакте, в Google и Amazon.



API



У расширения имеется API для добавления поддержки других сайтов.



Каждый сайт (плеер) добавляется как модуль. Имеются встроенные и внешние модули.



Встроенные модули


Встроенные модули являются частью моего расширения и их настройки доступны на странице параметров расширения. Для того, чтобы подключить модуль, пользователь должен дать расширению своё разрешение на доступ к вкладкам и содержанию страниц соответствующих доменов.



Внешние модули


Внешние модули являются отдельными расширениями, которые подсоединяются к моему расширению посредством API и имеют доступ ко всем возможностям моего расширения (управление плеерами посредством быстрых клавиш и кнопок в оповещении, а также список последних треков). Их настройки тоже доступны на странице параметров моего расширения.



Для чего нужны внешние модули



  • Некоторые модули могут требовать доступ ко всем доменам (например, модуль для виджета SoundCloud на любых сайтах), и чтобы не пугать пользователя моего расширения запросом такого разрешения (чтобы сохранить доверие пользователя).

    Такие модули могут получать это разрешение сразу при установке либо в любое другое время (на усмотрение разработчика).

  • Внешние модули позволяют сторонним разработчикам публиковать расширения под своим именем. Разработчики, которые хотят пополнить своё портфолио, вместо того, чтобы участвовать в чужом проекте, создают свой собственный проект.



Где найти API и как с ним работать


API доступен по лицензии MIT на GitHub (см. Ссылки ниже).



Написан он на ES5, чтобы понизить входной барьер для сторонних разработчиков, но это не должно остановить тех, кто хочет написать свой модуль на более современных спецификациях и технологиях.



Примеры использования API


Имеется: два внешних модуля (доступны в качестве отдельных расширений), а также один встроенный модуль, использующий API.



Встроенный или внешний модуль


Встроенный или внешний модуль? «… вот в чём вопрос», — как говорил классик.



Если вы хотите воспользоваться API и добавить поддержку нового плеера, воспользуйтесь следующими подсказками:




  • встроенный модуль:

    — ваш модуль поддерживает плеер только на одном или небольшом количестве доменов (например, модуль для youtube.com, модуль для play.google.com/music/listen);

    — вас устроит упоминание о вашем вкладе на странице readme моего расширения и в социальных сетях;

  • внешний модуль:

    — вы хотите опубликовать свой модуль под своим именем;

    — ваш модуль требует доступ к содержанию страниц на большом количестве или всех доменах.



Ссылки





Обратная связь



Вопросы, жалобы и предложения приветствуются. Оставляйте их в комментариях либо воспользуйтесь одним из других способов.


Original source: habrahabr.ru.

https://habrahabr.ru/post/306072/?utm_source=habrahabr&utm_medium=rss&utm_campaign=best

Комментарии (0)КомментироватьВ цитатник или сообщество
rss_rss_hh_new

«Веб — это самая сложная платформа в истории человечества» — интервью с Вадимом Макеевым из Opera

Понедельник, 11 Июля 2016 г. 16:33 (ссылка)





В этом выпуске «Без слайдов» гостем выступил Вадим Макеев aka pepelsbey, евангелист компании Opera Software, один из самых известных фронтенд-людей в стране, организатор многих мероприятий в индустрии.



Мы успели обсудить:


  • эволюцию WebKit;

  • путь Microsoft и новая модель браузера;

  • архитектуру современных браузеров;

  • как Opera выбирала между WebKit и Blink;

  • стандартизацию в вебе;

  • насколько трудна работа веб-разработчика;

  • JavaScript и его «продолжения»;

  • jQuery, и почему он все еще нужен;

  • HTTP/2;

  • ритм жизни евангелиста;

  • мобильный веб и Opera Mini;





Интервью взято в феврале, но руки дошли до публикации только сейчас.



Видео-версия нашей беседы вот тут:







А для тех, кто предпочитает читать, — под катом расшифровка нашей беседы.







Как все начиналось в двухтысячных



— Как у тебя началось погружение в веб? Сначала в твоей жизни появился фронтенд или Opera Software?



— Я хотел заниматься журналистикой. Потом неожиданно я узнал, что можно делать сайты, и начал заниматься фронтендом. А после, естественно, в моей жизни появилась Opera как браузер, которым я пользовался на Windows. В какой-то момент, когда я уже профессионально верстал и работал в Яндексе, ко мне пришли ребята из компании Opera и сказали, что им нужен опытный человек, который знает сообщество, умеет организовывать конференции, делать доклады и так далее. И я им очень подошёл.



— Ты в Opera с какого года?



— С мая 2009-го.



— До этого ты в индустрии сколько лет поварился?



— Мне повезло: я тогда работал в Москве и участвовал в организации первой конференции «Российские Интернет-технологии». Там впервые в России собралось очень много фронтендеров из Минска, Москвы, Санкт-Петербурга. Это было хорошее начало движухи.



— Сейчас ты сам очень многие вещи делаешь уже не как часть какой-то большой команды, а как глава своей конференционной команды.



— Да, мне повезло делать первый РИТ и делать первый Яндекс.Субботник. Я помню, как мы сидели в кабинете, придумывали название — всё это было интересно. Как только Я.Субботники закрутились, я ушёл из Яндекса, и в конце того года мы сделали первую конференцию Web Standard Days в Минске. Собственно, это было начало большой бесплатной конференции, которую мы делаем несколько раз в год.



— Сейчас ты активно сотрудничаешь с Олегом Буниным: это фронтенд-секции на РИТ++ и на HighLoad++?



— Да, когда мы собрались в первый раз в 2007-ом году, Олег сказал: «Сделай какой-нибудь фронтенд». Я прочитал собственный доклад, пригласил знакомых людей. И каждый год весной мы снова-снова собираемся, и это раньше называлось РИТ, потом РИТ++. Сейчас фронтенд на РИТ++ выделился в большую двухпоточную конференцию на два дня — в прошлом году было порядка тридцати докладов. В общем, пытаемся не просто бесплатную конференцию по разным городам делать, но и большую платную в Москве.



— Понятно. А твой интерес к журналистике с чего начался?



— Как-то так получилось. Я попал в городскую газету «Пять углов», сто лет назад она была в издательстве «Шанс». Мне было интересно заниматься карикатурой.



— Так ты художник?



— Я когда-то баловался, рисовал. Потом это всё пошло: комментарии, тексты, ещё что-то такое… Наверное, это не сильно связано с образованием. Я помню, как я искал первые материалы на английском или на русском языке для того, чтобы узнать как работает веб, как работает JavaScript, как нужно одну версию написать для Netscape, а другую — для Internet Explorer. В общем, я старичок уже.



В какой-то момент я понял, что мало хороших источников на русском языке, и начал свой блог писать — какие-то переводы делать, публиковать на форумах, отвечать на вопросы людей. И потихоньку это всё пришло к первому докладу внутри компании. Потом был внешний доклад, конференция. И, в общем-то, я понял, что у меня получается рассказывать, и мне есть, что рассказывать.



Про стандарты



— А почему именно веб-стандарты? Это просто название, или тебя тема стандартов особенно интересует?



— Это очень хороший вопрос. Сейчас типичный фронтенд-разработчик или веб-разработчик, когда ему нужно делать сайт по каким-то документам, которые издаёт W3C или другие комитеты, думает: вот спеку прочитал и всё сделал. Когда я только начинал верстать, люди делали по-другому. Попробовали какую-нибудь фигню, сработает — не сработает. В одном браузере работает так, в другом — по-другому, а в третьем —вообще удобно делать другим путём.



Тогда идея веб-стандартов не была очевидной. И соответственно, мы думали, как назвать возникшее объединение людей из разных городов, сидящих на форуме, чтобы заниматься образованием, помогать друг другу. Идея веб-стандартов была ключевой.



Нужно было делать всё не так, как нам привычно, не так, как удобно браузерам, а так, как это написано в спецификациях, так, как на самом деле должно быть. Идея веб-стандартов — это тема, проходящая насквозь всего этого красной нитью. Сейчас она, наверное, менее востребована, но мы сохраняем преемственность названия и в подкасте и в конференции.



— Получается, что сейчас это уже просто дань истории?



— Сегодня веб-стандарты победили. И мы, как сообщество, радостно продолжаем нести этот флаг.



— В двухтысячных была проблема — каждый браузер делал всё по-своему.



— Да, и разработчики тоже все по-своему делали, чтобы работало одновременно в нескольких браузерах.



— Последние 10–15 лет шёл процесс стандартизации. Сейчас веб стандартизован?



— Сам термин «веб-стандарты» появился из знаменитой программной книги Джеффри Зельдмана «Designing with Web Standards», на обложке которой есть его фото в синей шапочке. И все отмечают день веб-стандартов Blue Beanie Day — «День синей шапочки», по-моему, в середине апреля. Все на аватарку себе синюю шапочку ставят.



image



Был сайт A List Apart — он, собственно, до сих пор и есть, — с которого все эти идеи распространились, а мы их подхватили. Webmascon переводил очень много с A List Apart.



— Webmascon — что это за сайт?



— Его делал Александр Качанов. Это, в основном, был переводной ресурс: Нильсен, Зельдман, просто алестапартовские статьи — в общем, самые важные вещи. Потом в этой команде появился Макс Россомахин. Сайт был эдакой концентрацией фронтенда на русском языке. И вокруг этого всё наше сообщество и образовалось — оттуда мы все идём. А зельдмановская идея веб-стандартов, по-моему, изменила веб в лучшую сторону.



— В современном мире все говорят про коммьюнити, про опенсорс, но везде, как правило, рулят крупные компании. Мы прекрасно понимаем, какие корпорации стоят за браузерами Safari, Internet Explorer, Chrome. Разве что с Mozilla чуть-чуть по-другому и, наверное, с Opera. Как так вышло, что гиганты смогли между собой о чём-то договориться?



— Оказалось, что если стандартами не заниматься и браузеры не развивать, то веб начинает загибаться. Был период, когда Internet Explorer 6 занял 90% рынка, потому что это был очень крутой браузер и всем остальным было очень сложно с ним конкурировать. Тогда агонизировал Netscape. И ничего нового интересного на горизонте не было.



Была Opera с маленькой долей, и был Firefox. Они все были не очень совместимы друг с другом по многим вещам. Начал появляться Flash, люди всерьёз начали делать на нем сайты. Разработчикам, которым нужно публиковать свой контент в веб, веба было недостаточно. Начали появляться альтернативные форматы.



В этот момент другие браузеры начали подтачивать долю Internet Explorer, и она упала до 40%, а потом и ещё ниже. Это были Opera, Firefox, Safari (дефолтный браузер на Apple, и вместе с Apple он начал расти). Потом и Chrome появился.



И получилось, что гораздо удобнее взаимодействовать на единой платформе. Почему так? Не знаю. У типичного языка программирования — у C++, у Java, у Perl, у Python — есть чёткая документация, и одна-две классических реализации того, что они делают. В софтверной области совместимость довольно легко контролируется.



А веб с самого начала основан на открытой спецификации, любой может сделать его реализацию. Браузеры этим пользовались с самого начала, и это сильно усложнило то, как работает веб в принципе.



В итоге новых браузерных движков не пишется. Реально последним браузерным движком был WebKit. Веб оказался настолько сложен, что единственной формой взаимодействия были открытые стандарты, которые не принадлежат никакой из компаний.



Про историю развития браузеров и эволюцию WebKit



— А насколько сильно на всю картину повлияла история, когда Google пришёл в WebKit?



— Google с самого начала очень помог проекту WebKit развиться, но настолько увлёкся, что ему стало тесно, и он сделал форк — свой движок Blink. Это действительно очень сильно поддержало альтернативные браузеры, потому что тогда было ощущение, что все разработчики пользуются только Firefox, все тестируют в Firefox, это в мире был главный браузер в 2006-2008 годы. Было ощущение, что Firefox победил.



— Но Chrome же, по-моему, начался массово году только в 2009-ом?



— Да, он начал довольно поздно, но очень мощно.



И я помню, с какими бешеными глазами я читал новость о том, что Apple выпустила Safari для Windows. До этого платформы WebKit на Windows не было в принципе, она была Mac-only. Так что это был первый WebKit на Windows, который в принципе можно было запустить. А сейчас браузеры для Windows — практически все на WebKit-е: Chrome, Opera, Яндекс.Браузер.



— Первый порт сделал сам Apple, а потом уже пошёл Google и добил?



— Да. И первый эппловский порт был довольно кривой. Но кстати и Chrome, впервые портированный на Windows, тоже был не очень хорош. Потому что были какие-то завязки внутри WebKit, которые мешали cделать такой порт нормально.



Как начинался Google и почему он победил? Реклама! Поиск! Поиск и реклама. Удобная.



Сама компания взяла в руки браузерный движок и сделала то, что ей нравится. И не просто для того, чтобы рекламу лучше показывать, а всерьёз вложилась в отрасль. То, что делает Google, помогло перезапустить наш браузер на новом движке, который гораздо легче и удобнее, чем был WebKit в том состоянии, когда Google ещё не пришёл туда. Тот приход стал очень знаковым шагом.



Немножко грустно, что сейчас Chrome занимает уж настольно большую долю рынка, потому что мне гораздо больше нравится более пёстрый браузерный ландшафт. Это делает веб сильнее, а конкуренцию — интереснее.



— Как считаешь, рынок браузеров монополизирован?



— Я бы не сказал, что он категорически монополизирован. У Firefox ещё позиции есть. Очень сильная заявка от Microsoft Edge.







Путь Microsoft и новая модель браузера



— А у Edge не новый движок?



— На самом деле, там история очень похожа на то, что произошло с нашим браузером. Мы в какой-то момент перезапустили его целиком, оставив основные идеи. Перезапустили интерфейс, сменили движок и так далее. Вот ребята в Microsoft сделали что-то очень похожее.



Microsoft, прежде всего, — это корпоративный гигант. У него очень много клиентов и очень много денег к нему приходит из корпоративного сегмента. Соответственно, выпустить новую версию браузера, в которой не работает вообще вся эта корпоративная структура, какие-нибудь внутренние сети, для них невозможно. Поэтому они, начиная с Internet Explorer 6, тянули за собой для совместимости все движки. В IЕ11 были все движки вообще предыдущие, и их можно было переключать в зависимости от doctype, со всякими HTTP header-ами и метазаголовками.



— То есть, можно написать в своем коде некую инструкцию о том, какой там движок?



— Да. Допустим, у тебя сайт заточен под IE9 и в нём работает идеально. А тут выходит IЕ11, и на сайте в нём что-то ломается. Ты добавляешь специальный заголовок, который переключает браузер в режим IЕ9, и всё работает идеально. Это безумно совместимо, ультра-совместимо. Но это мешало развивать браузер.



— Я очень давно занимаюсь платформой Java, и поэтому знаю, что необходимость поддерживать сильную совместимость очень сильно тормозит развитие.



— Именно. Поэтому я считаю, что ребята из Microsoft сделали сильное, смелое движение. Мы привыкли за последние несколько лет, что браузеры становятся вечнозелёными. Они обновляются не когда приходит апдейт Windows, который ты не ставишь, потому что она у тебя взломана, а когда браузер сам решит обновиться. А это происходит раз в месяц. Эту модель быстрых обновлений впервые показал нам Chrome. Потом Firefox. И версии начали увеличиваться с бешеной скоростью. Собственно, мы тоже выпустили браузер с такой системой апдейтов.



Насколько я понимаю, Edge отбросил обратную совместимость для того, чтобы стать легче, быстрее работать и для того, чтобы обновляться чаще. И они действительно обновляются довольно часто, с каждым маленьким обновлением Windows.



Мы идём к тому, что веб начинает развиваться ещё быстрее. Не просто из-за конкуренции, а из-за того, что есть новая модель вечнозелёного браузера. Даже самсунговский браузер для Android, который раньше обновлялся вместе с прошивками, начал обновляться как приложение из Android Market. Тоже большой шаг.



Про архитектуру современного браузера



— А из каких кусков состоит современный Webkit-based браузер? Яндекс, Opera, Chrome, Safari — все они разбиты архитектурно на одни и те же куски? Можешь рассказать, что это за куски, как они друг с другом взаимодействуют?



— С самого начала ребята, которые делали KDE, сделали свой браузерный движок, который умел делать рендринг HTML, CSS и JavaScript отдельно. Apple форкнула эту штуку и начала делать WebKit.



Там было два главных компонента: тот, что обрабатывает CSS с HTML, и тот, который работает с JavaScript. Соответственно, это разделение на вёрстку и JavaScript до сих пор является основным в мире браузеров, которые пошли от Webkit-а. Есть какая-то вёрсточная основа, а есть JavaScript-движок, собственный у каждой из компаний.



Когда ребята из Apple и Google делали общий движок WebKit, у них был общий движок для JavaScript и для вёрстки, а потом Google написала собственный JS-движок V8, который, кстати, сейчас использует и Node.js.



Соответственно, движок HTML и CSS у Safari, Chrome и у других браузеров на Webkit и Blink — общий. А вот JavaScript-движок у каждого собственный. У Safari был движок Nitro, у Google — V8, у нас был собственный движок в Opera — Carakan. У Edge свой собственный скриптовый движок Chakra, который они заопенсорсили.



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



Это всё позволяет довольно быстро сделать свой браузер, потому что всё это — Open Source: есть проект Chromium, в который не включены некоторые вещи, которые включены в Chrome, потому что они принадлежат Google и, допустим, запатентованы как-то особенно. Можно быстренько скачать несколько гигабайт Chromium себе, форкнуться и сделать себе браузер – Opera, Яндекс.Браузер, Амиго, что-то ещё. То же самое можно сделать и в случае мобильного браузера. Есть очень много мобильных Chromium-ов на Android и на других платформах, которые несут в себе гугловскую основу-движок и рисуют собственный интерфейс поверх.



— В Chromium основной контрибьютор — тоже Google?



— Да, Google — основной контрибьютор. Но там есть еще Intel, Samsung, Opera, Яндекс.



— Понятно, что Intel занимается тем, что, например, в JavaScript-движок интринсики вставляет и другие процессорные оптимизации. А остальные?



— Разные интересы бывают. У Intel, у Dell и у разных других компаний свои интересы по развитию веба. У них есть собственные продукты и платформы.



На самом деле, удивительные вещи происходят, когда Microsoft контрибьютит в Chrome реализацию своей спецификации pointer-events, которую поддерживают её браузеры, чтобы достичь общей совместимости.



Всё настолько перемешано сейчас, что в Chrome поучаствовали практически все, а в Firefox зачастую контрибьютят люди из совсем других проектов. Даже если иногда и возникает ощущение, что мы теряем конкуренцию из-за того, что Chromium занимает большую долю рынка, на самом деле, те же самые компании, которые как будто бы уходят на край, ещё и занимаются самим Chromium, потому что это развивает платформу, повышает её шансы на здоровую жизнь.



Как Opera выбирала между Webkit и Blink



— Когда Opera выбирала между WebKit и Blink, как вы делали выбор?



— На самом деле, это не был выбор как таковой.



Сначала мы перешли на WebKit. Приняли решение где-то в конце 2012 года, а в начале 2013 года этот переход анонсировали. Поэтому мой доклад той поры называется: «Зачем Oper-е WebKit».



Но сразу после этого, где-то в январе-феврале 2013 года, Google форкает WebKit. Первые полгода особой разницы между Webkit-ом и его форком Blink, на самом деле, не было — это были просто два разных репозитория. В Blink происходили структурные изменения, какие-то вещи отбрасывались, какие-то появлялись, но в самом начале разница была не очень большая. Кроме того, что JavaScript-движок у Google уже давно был свой.



Мы в то время сильно вложились не в Blink или WebKit, а именно в проект Chromium: Opera сделана не просто на Blink, а именно на Chromium, и мы контрибьютим и в инфраструктурные решения, а не только в рендеринг и прочие дела. Поскольку Chromium сделан на Blink, то мы пошли за ним, а не стали оставаться на WebKit.



— С того момента прошло больше трех лет. Если посмотреть на то, как сейчас развиваются WebKit и Blink, то можешь как-то коротко охарактеризовать отличия?



— Apple начинает походить на Microsoft в том смысле, что им нужно сохранять совместимость, потому что WebKit — это встроенный движок, на котором работают компоненты Mac OS. Из-за этого получается, что им нужно сохранять совместимость: всякие мессенджеры и другие программы, встроенные в Mac OS, насколько я понимаю, работают на WebKit-е.



— И iTunes, видимо, работает на встроенном WebKitе.



— Да, и App Store, и прочие приложения. Не уверен, что им прямо так уж сильно нужно сохранять совместимость. Возможно, у них другая политика в этом смысле, но с самого начала идея форкнуть WebKit в Blink была связана с тем, что темпы и стиль разработки Google — другие, и им было тесно в этом смысле. Соответственно, сейчас Google гораздо смелее внедряет новые вещи, а у Safari цикл выхода — год. Вместе с новой операционной системой Apple показывают новый движок для Safari.



Совсем недавно (интервью взято в феврале 2016 года — прим. авт.) Apple выпустили бету, в которой появились новые фичи. Это было событие, потому что эта бета должна выйти, по идее, раньше релизного цикла. То есть, появилась скорость, отброшенные CSS-префиксы, новые внедрённые фичи. Google гораздо смелее отбрасывает CSS-префиксы, удаляет свойства и в целом развивается гораздо быстрее.



— Это шаги в сторону стандартизации?



— Да. И сейчас браузеры уходят от браузерных префиксов. Если в стабильном Chrome зайти в настройки и включить экспериментальный режим, то в браузере проявятся новые фичи, которые пока закрыты для общественности. В Safari такого сделать нельзя.



В Safari есть специальные сборки, которые нужно скачивать и проверять. А Google прямо в стабильную версию внедряет все штуки, но просто их выключает по умолчанию, чтобы пользователи не наломали дров. Это делает все эти новые фичи ближе к разработчикам. Они включаются одним флагом — «включить экспериментальные фичи». И у тебя в браузере появляется сразу всё, над чем Google в данный момент работает.



Браузеры начали отказываться от браузерных префиксов для CSS, для JavaScript-а и для свойств. А Apple по-прежнему считает, что это правильная вещь, и экспериментальные вещи сразу появляются в браузере, их никак не включить и не выключить.



Apple до сих пор придумывает некоторые вещи на лету: «А почему бы нам не сделать классные иконки для вкладочек?» А в спецификации в W3C про это ничего нет. Так что они придумали, сделали и задокументировали мимо W3C.



Или: «Мы придумали, как веб-приложение устанавливать на рабочий стол вашего iPhone». Нет спецификации нормальной, только немного документации на сайте.



Apple сейчас немного напоминает Microsoft времён IЕ6. Все не настолько плохо — Apple, конечно, много занимается стандартизацией и разработкой. Но некоторые черты есть, поэтому немного грустно на это смотреть.



Про то, как происходит стандартизация в веб и про то, почему это самая сложная технология человечества



— А как вообще происходит стандартизация какой-то большой фичи для веба?



— Есть два пути, по которым сейчас всё происходит.



Первый путь — старинный. Когда писались все основы текущего веба — HTML, CSS и прочие, — они писались на бумаге. Печатались на печатной машинке или на компьютере. Их сначала придумывали, а потом говорили разработчикам браузеров: «Это должно работать так, реализуйте».



А браузеры отвечали: «Нам это не нравится. Мы реализуем иначе». И из-за этого и возник дикий веб конца девяностых и начала двухтысячных. И этот путь никуда не исчез — до сих пор некоторые стандарты сначала пишут на бумаге, но уже с гораздо более хорошим пониманием, и такого разброда не получается.



И есть второй путь. Он поначалу был очень плохой идеей и приносил плохие вещи, а сейчас он становится интереснее и лучше. Это путь, когда внутри браузера или внутри компании появляется какая-то задача, и они решают её способом браузера. Допустим, pointer-events со спецификацией, которые родились в Microsoft. Ребятам понадобился Grid Layout, чтобы сделать плитки для Windows 8 — интерфейс Metro. А pointer-events понадобилась потому, что они сделали touch-устройства — свои первые Microsoft Surface, — и начали двигаться в touch-рынок.



Microsoft сделали эти спецификации для себя, но они оказались настолько хороши, что они практически тут же выпустили эти спецификации на рынок — отправили рабочие черновики в W3C и прочие места и начали уговаривать всю отрасль внедрить их у себя.



Это хороший путь — они показали, внедрили и ещё помогли сделать реализацию для других браузеров, в том числе, для Firefox. Они уже даже уломали Chrome — правда, разработчики согласились не сразу.



Cейчас есть альтернативные реализации Grid Layout в Firefox и в Safari и Chrome, а изначально всё это появилось в IЕ10.



— А как это выглядит формально? Как иерархически это всё структурируется? Разработчики браузера просто говорят, что, мол, теперь наш браузер поддерживает набор каких-то независимых спецификаций?



— Если коротко, то раньше основными были спецификации HTML и CSS, и разработчики старались упихнуть вообще все в какую-то из них. В HTML-спеку — структура, какие-то API, связанные с HTML, и так далее. В CSS тоже: CSS1 — это набор одних фич, CSS2 — набор других.



Потом начал появляться CSS3, и люди поняли, что это всё – ерунда, и сейчас таких вещей, как CSS3 и HTML5, формально не существует. Есть просто спецификации HTML и CSS, и у каждой из них есть модули, а у модулей — версии.



Тот же самый Grid Layout сейчас называется «Grid Layout level1». Раньше было CSS colors level 3. И люди говорили: «Ну, это CSS3-цвета». А на самом деле это «CSS, третий подход к решению проблемы».



Сейчас есть Grid Layout level1. Это просто CSS и Grid Layout версии 1. Когда понадобятся новые фичи, скорей всего они войдут уже в level 2, level 3 и так далее. То есть, у каждого модуля есть своя версионность.



— Модулей много?



— Модулей довольно много — их десятки. На разные темы: flexbox, гриды, цвета, блоки, поведение флоутов. И что интересно — если раньше писали отдельные модули, и разработчикам браузеров приходилось реально понимать, как эти модули друг с другом взаимодействуют, то сейчас начали писать интеграционные модули. То есть, берут и связывают разные спецификации вместе и пишут третью, которая их дружит вместе. И в итоге реализация появляется гораздо интереснее. Например, если раньше float можно было использовать для смещения картинки налево так, чтобы текст её обтекал, то сейчас

есть такие вещи как float top, float bottom. И для этого пишут отдельную спецификацию, описывают её взаимодействие с другими элементами. Сейчас происходит много интеграционной работы между спецификациями CSS и HTML.



— Там не возникнет комбинаторного взрыв? Когда надо описать взаимодействие каждого с каждым, спеки начинают множиться, как грибы после дождя.



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



Веб — это самая, как мне кажется, сложная платформа по созданию интерфейсов, по созданию вообще чего-либо в истории человечества. Поэтому новых браузерных движков нет, а спецификации сложно писать, поэтому один браузер не справится — нужна конкуренция, нужно движение.



Про то, насколько трудна работа веб-разработчика



— Сейчас большинство людей в индустрии так или иначе связаны с вебом. И под веб, собственно, программируют. Это трудная работа?



— Веб до сих пор остаётся платформой, под которую довольно легко начать. Чтобы программировать под iPhone, выпустить приложение в App Store, тебе нужно купить Mac, тебе нужно купить iPhone, тебе нужно платить за Apple-овскую подписку сто баксов в год. А ещё нужно образование, чтобы вообще понимать парадигмы программирования, паттерны, выучить язык и так далее…



А чтобы написать первую свою HTML-страницу и показать её нескольким миллиардам человек на земле с мобильными устройствами или десктопами, нужно просто открыть блокнот и написать там HTML-теги. Текстом. И никому ничего за это не платить. Положить сайт на какой-нибудь бесплатный хостинг. Порог вхождения до сих пор очень низкий, не нужно запрыгивать на какие-то табуретки.



— Является ли низкий порог входа тем фактором, который дает вебу двигать всю индустрию?



— Думаю, это является одной из главных причин того, что веб побеждает и, в общем-то, победил. Есть две причины. Во-первых, важен низкий порог вхождения. Человек, у которого есть школьное или университетское гуманитарное образование, может в любой момент начать верстать.



— HTML сейчас во многих школах проходят в десятом классе…



— Да. И люди с гуманитарным образованием начинают заниматься веб-разработкой. Это показатель того, что порог вхождения низкий. Вот я из гуманитариев, в принципе, потом перевернувшийся.



Вторая важная причина — всё это никому не принадлежит. Например, Flash, о котором все говорили, что это «будущее веба», принадлежал долгое время Macromedia, потом Adobe. Соответственно, им же принадлежат патенты. Никакая крупная компания не будет вкладываться в то, что принадлежит другой компании, чтобы не оказаться в узких рамках патентных сложностей или каких-то ежегодных платежей.



Сейчас это наше общее достояние — веб и веб-технологии. Конечно, приходят люди и говорят: «Нам веб не нравится. Веб сложный, много движков, давайте мы напишем крутую софтверную платформу на каком-нибудь Swift». Новая интерфейсная софтверная платформа, новый язык, классный, опенсорсный даже. И это делает его гораздо интереснее.



Objective-C, на котором все раньше писали под Mac OS и iOS, принадлежит Apple. И многие вендоры не хотели связываться с технологией, которая находится целиком в руках другой компании.



— Откровенно говоря, язычок так себе. Он сложный, старый, C-подобный, родом из шестидесятых годов…



— Вот. А веб… Веб был всегда такой мечтательный, декларативный, понятный простому человеку, который обладает базовой грамотностью. И реально открытость и доступность сделали веб тем, чем он является сейчас.



Про JavaScript, его плюсы, минусы и «продолжения»



— Но мы же понимаем, что есть ещё JavaScript, который совсем не декларативный. И основное, за что сейчас критикуют веб, это тоже JavaScript. Потому что движки разные, и с ними очень много проблем. И с самим языком есть большие проблемы. Как так вышло, что этот довольно странный и древний по синтаксису язык победил?



— Он никому не принадлежит и работает в каждой кофеварке. Браузер есть практически везде. Чтобы запустить код, написанный на С, его ещё нужно скомпилировать под несколько платформ, а JavaScript — сразу работает в браузере.



Джависты и прочие люди, приходящие в JavaScript, говорят: «Ужасный язык, в нем все не так, как мы привыкли». А если ты с самого начала пишешь в вебе — тебе, в общем-то, не жмёт.



— То есть, это просто искажение восприятия?



— Да. Это просто деформация людей, которые привыкли работать с одним, а теперь работают с другим. Естественно, это всё приводит к появлению новых языков — JavaScript типизируют с помощью TypeScript и т.п.



— Когда я последний раз заказывал разработку сайта, мне разработчик сказал: «Слушай, только я буду верстать не под текущую версию JavaScript, а под следующую версию стандарта, которая ещё не реализована в браузерах». Я так понимаю, что у JavaScript есть какая-то версионность, он сам является некоторым диалектом? Можешь про это подробнее рассказать?



— Есть спецификация ECMAScript. Есть ECMA-сообщество, которое и разрабатывает JavaScript. Долгое время там ничего не происходило, и разработчики начали придумывать, фантазировать собственные реализации языка следующим образом: мы пишем на некотором довольно безумном языке, с какими-то собачками, угловыми скобочками и другими штучками, а это всё компилируется в ECMAScript 5 — в тот JavaScript, который работает везде. Этот синтаксический сахар назывался CoffeeScript. Без угловых скобочек, с отступами, с безумными конструкциями, которые упрощали написание языка и реализовывали с помощью синтаксической трансформации те вещи, которые были неудобны…



— Транслировать язык — довольно тяжёлая задача.



— Они похожи в базовых принципах. И очень многое из CoffeeScript пришло в следующую версию ECMAScript, JavaScript в браузерах. Долгое время в старых браузерах у нас был ECMAScript, потом ECMAScript 5 в современных браузерах, а сейчас ECMAScript 6 уже реализован в браузерах процентов на 90. Оставшиеся 10%, которые так уж хочется некоторым разработчикам, тоже можно использовать. То есть, можно писать код прямо по спецификации ECMAScript 6, или ECMAScript-2015, как она теперь называется, а потом включить маленький транслятор, который сделает из этого кода работающий везде код на ECMAScript 5.



Сейчас, если язык развивается медленнее, чем нужно каким-то разработчикам, эти разработчики придумывают собственную версию языка и делают транслятор для него. Это справедливо для CSS — всякие Sass, и Less, и Stylus, и PostCSS, в частности.



Это справедливо для JavaScript, но было трендово и модно несколько лет назад. А сейчас всё больше людей предпочитают писать на чистом JavaScript без всякого безумия и транслировать только совсем мелкие фичи.







Про jQuery, и почему он до сих пор нужен



— 10 лет назад начался AJAX. Из него вырос jQuery и всё остальное. Сейчас найти вокруг людей, которые серьёзно пишут на jQuery — сложная задача.



— Нет, на самом деле мы просто не замечаем какую-то часть рынка, которая до сих пор фигачит на jQuery. jQuery сильно упростил работу с JavaScript в самом начале, когда приходилось писать отдельную ветку JS-кода для каждого браузера. Прежде всего, он решал задачу и упрощал синтаксис некоторых вещей. Чтобы сделать AJAX-запрос, нужно было написать jQuery.ajax(), — он делал то, что нужно, вместо того, чтобы писать на 30 строк ерунду.



Вокруг этой всей синтаксической упрощёнки начало появляться море плагинов. Вещей, реализующих выбор даты в выпадающем окошке, слайд-шоу и так далее. Разработчику, чтобы нафигачить сайт, нужно совсем немного — скачать Bootstrap, подключить jQuery-плагин, поменять тему, вставить картиночки — и готово! Эта индустрия быстрых сайтов под простые задачи — она до сих пор на фрилансе, и даже у больших контор, которые занимаются разработкой, она вовсю ещё распространена. Поэтому jQuery никуда не уходит. И это действительно вещь, которой стоит пользоваться, когда у тебя простые задачи, и ты хочешь сделать всё максимально быстро.



В ответ на меняющуюся реальность вокруг, когда уже не нужно писать несколько веток работающего во всех браузерах кода, jQuery сам начал развиваться иначе. Сейчас откидывается обратная совместимость всё больше и больше, в jQuery меньше всяких polyfill-ов и прочей фигни, больше используются встроенные браузерные методы. jQuery 2 отбросил одну совместимось, jQuery 3 практически отбросит другую, не будет заниматься кросс-браузерностью, а будет просто реализовывать интересные синтаксические вещи, такие как: спрятать элемент, переключить классы и так далее.



Браузеры стали работать предсказуемее. Многие вещи, которые были реализованы в jQuery проще, появились в спецификациях. И этот процесс, когда сначала разработчики придумывают то, что им удобно самим и реализовывают в виде библиотек, а потом все появляется в спецификациях — это очень интересное взаимодействие. Все это делает развитие веба ещё быстрее, ещё интереснее.



Microsoft написал себе когда-то XMLHttpRequest, которые начали называть AJAX. А потом вышла спецификация XHR2. А потом это стало настолько неудобно, что отбросили всё это к чёрту и написали отдельную спеку fetch, которую сейчас все браузеры реализуют, в ней есть polyfill и так далее. Всё очень быстро развивается, и тот же самый jQuery то ли будет, то ли уже использует тот самый fetch, если он понимает, что тот есть в данном браузере. Потому что fetch работает быстрее и удобнее.



Про концепцию одностраничного веба и ее ограничения



— Следующая история, которая мне интересна, это одностраничный веб. Это хорошее дизайнерское решение с точки зрения юзабилити? Или это ограничение конкретных фреймворков?



— Речь про SPA (Single Page Application). Идея пришла, мне кажется, из всяких админок, из всяких сложных интерфейсов, где перезагружать всю страницу и терять контекст происходящего — проблема: у тебя есть двадцать восемь форм, ты переходишь на другую страницу, и тебе нужно сохранять состояние формы — это всё очень сложно.



Ребята старались делать сложные интерфейсы админок и прочих дел так, чтобы страница у них была одна, а данные хранились во всяких там json-ах, в кэше или на сервере, которые периодически запрашиваются. То есть, сайты не перезагружаются как таковые, просто происходят запросы данных. В пустой исходник страницы вставляется JavaScript, который всё начинает рисовать. Происходят какие-то запросы к базам данных и т.п.



— У меня ощущение, что это попытка реализовать на вебе десктопную логику.



— Есть такое ощущение. Есть сложный давний спор о клиентском рендеринге — с самого начала на странице нет ничего, потом приходят данные, и на клиенте JavaScript-ом начинает рисоваться весь HTML против того, что HTML приходит с сервера. Это всё до сих пор открытая дискуссия.



Некоторые люди стучат пяткой в грудь и говорят, что вопрос решённый и это будущее. А другие говорят, что серверный рендеринг по-прежнему позволяет стартовать страницу быстрее и экономить память на клиенте.



— При клиентском рендеринге вся логика отрисовки ложится на клиента. А значит, клиент должен быть тяжелее, процессор мощнее и т.п.



— Эта дискуссия до сих пор открыта. У меня нет ощущения, что кто-то из оппонентов выиграл. Представим, что в случае клиентского рендеринга на сервере побился один символ в JavaScript — сайт не будет работать вообще! У пользователя будет белая страница, а в консоли много красного. Недавно у твиттера было такое, потому что у них что-то побилось. А если на странице всего лишь не загрузился какой-то JavaScript, в принципе ей можно пользоваться.



— Выходит, это вопрос надёжности.



— Вопрос надёжности здесь встаёт остро. Поэтому я сторонник такой идеи — нужно отдавать браузеру HTML, а потом улучшать этот HTML JavaScript-ом настолько, чтобы он работал удобнее. Такой компромиссно-гибридный вариант.



Ember.js и AngularJS умеют это делать следующим образом: они рендерят на сервере свой HTML, отправляют его браузеру, а потом уже на основе этого его улучшают дополнительным подгружаемым JavaScript. Получается так называемое «универсальное приложение».







Про HTTP, HTTPS и HTTP/2



— Мы говорим про довольно высокоуровневые слои. Давай спустимся ниже и поговорим про HTTP и HTTP/2. Что сейчас с ними происходит?



—В какой-то момент вебу стало узко. Когда мы оптимизировали JavaScript, ускорили рендеринг и то да сё, мы вдруг поняли, что самым узким местом сейчас является сеть. Потому что нам приходилось склеивать ресурсы, например, несколько мелких картинок в одну, чтобы не слать запросы — ведь есть ограничения на количество соединений с каждым доменом и на размер запроса, есть оверхеды у каждого запроса.



— По спецификации HTML браузер может делать две коннекции к каждому URL-у, а в реальности браузеры делают по 6, по 10, по 20. Это очень забавно.



— Да, разработчики браузеров стараются оптимизировать загрузку страниц, создать баланс между нагрузками на железо пользователя, на сервер и всем остальным.



Некоторое время назад все поняли, что в вебе всё классно и круто на клиенте с точки зрения фронтенда, а вот сеть проседает, — и началась разработка. Сначала это был протокол SPDY, который начали реализовывать в браузерах. По-моему, мы в Opera его ещё на Presto (движок Opera до версии 12 — прим. авт.) успели реализовать.



— Он гугловый?



— Его делал не только Google, там и другие ребята участвовали. Были SPDY-модули для Nginx, для Apache, чтобы всё это нормально работало. В итоге все эти идеи из SPDY перешли в HTTP/2. И у нас появился протокол для передачи данных, который был разработан не за дверями университета на бумаге, а который реально реализует потребность современного веба. Меньше служебной информации, больше данных; пакеты можно склеивать, можно поддерживать постоянное соединение и так далее.



— Например, компрессия хэдеров.



— Да-да. Очень много всего, что работает гораздо эффективнее, но есть ограничение, что все эти вещи работают только секьюрно, только через HTTPS. Приход HTTP/2 очень сильно меняет фронтенд, потому что все техники, которые мы за эти годы узнали и приняли в свое вооружение, становятся больше не нужны. И нам приходится сейчас осознавать, что всё, что мы считаем хорошим, — оно на самом деле, если не вредит, то, по крайней мере, бесполезно.



Сначала разработчик, которому нужно завтра запустить сайт и который работает быстро, придумывает какую-то фигню за вечер с бубном, и она неожиданно работает в браузере. Так было со спрайтами, так было со polyfill и прочими фичами.



Тот же CoffeeScript. Сначала разработчики быстро придумывают что-то, говорят: «Нам нужно это», а потом разработчик спецификации протоколов и всего остального думает: «А, вот это разработчикам нужно», и реализовывает это более правильно, эффективно, совместимо со всеми остальными стандартами.



— Как я понял, сейчас все браузеры уже поддерживают эту спецификацию?



— Да, браузеры начинают поддерживать HTTP/2.



— Сейчас имеет смысл переводить свои сайты на HTTP/2?



— Мне кажется, что об этом точно нужно знать и это нужно пробовать. Конкретно сейчас я бы рекомендовал всем переводить свои сайты сначала на HTTPS, дать задание админам, чтобы они, как минимум, расследовали и поняли, какова стоимость всех этих сертификатов. Есть бесплатные сертификаты, которые нужно обновлять раз в 90 дней.



HTTPS я точно могу рекомендовать, потому что многие API уже работают только под ним. Раньше геолокация пользователей работала и через HTTP, то сейчас в Chrome геолокация работает только через HTTPS.



То, что из трафика можно было перехватить ваше геоположение — плохо. Вследствие большинство API, у которых данные имеют отношение к пользователю и спрашивают у пользователя вещи, закрываются за HTTPS. Соответственно, вы не сможете ими пользоваться, если ваш сайт работает по HTTP.



Всё ещё пока не совсем так: не все хостинги умеют, не все админы врубаются, как это делать. Считается, что тот же самый Let's Encrypt уже вышел из беты, но в реальности в нем всё ещё до конца не отлажено. Но я всё-таки рекомендую всем переходить на HTTPS, потому что и данные нужно защищать, а браузерное API терять не стоит. Ну, а после перехода на HTTPS сможете заняться и переходом на HTTP/2.



— А что это означает для разработчика?



— Нужно сделать так, чтобы сервера отдавали всё правильно. И это совсем админская заумь для меня — как поднять у себя этот HTTP/2. Это немножко другая история. Я больше знаю о том, что нужно сделать на клиенте, чтобы не делать лишних вещей.



— Собственно, как изменится клиентская разработка? Я, например, понял, что HTTP/2 — это крутая штука. Что дальше? Что я, как разработчик, должен сделать со своим сайтом?



— Избавиться от сетевых микрооптимизаций. Потому что очень много вещей решено самим протоколом.



— А как браузер поймёт, что теперь протокол другой?



— Браузер получает заголовки, в которых написано, что работает на сервере, какие сжатия поддерживаются, какой протокол и так далее. Для пользователя внешней разницы никакой не будет, просто клиент будет получать другие заголовки сервера и сможет на них полагаться.



— Условно говоря, браузер просто получает заголовок, что сервер поддерживает HTTP/2...



— … и начинает по-другому работать с сервером. Я не буду сейчас прямо расписывать всякие нюансы, но сейчас есть пяток хороших докладов с разных конференций конца прошлого года, которые рассказывают про HTTP/2.



В новостях «Веб-стандартов» раз в месяц появляются две-три ссылки про HTTP/2. Люди всерьез начинают этим заниматься. Но думать про HTTP/2 и про все эти оптимизации, пока у вас нет HTTPS, смысла нет…



— Но в браузерах это всё уже есть? И можно уже получать профит от этого?



— Плюс-минус всё есть. Полная поддержка — это вопрос, думаю, этого года. Пока это всё ещё сырое, чтобы прямо совсем стартовать и идти. Надо изучить. Тот же Виталий Фридман из Smashing Magazine рассказывал о том, что они перевели сайт на HTTPS, включили HTTP 2, и стало медленнее. И начали разбираться, что не так пошло. Посмотрели–посмотрели и поняли, что, это не стопроцентно очевидная вещь, которая прямо сразу всё сделает хорошо. Нужно настроить, нужно врубиться и так далее. Там слишком много админской магии для меня и для типичного разработчика.



— Кажется, что HTTP быстрее, потому что не нужно заморачиваться с кучей вещей. Анатоликс, — раньше он работал в Яндексе, — рассказывал об этом на последнем Highload: типичный антивирус сканирует HTTP-трафик, но не сканирует HTTPS. В итоге (внезапно) для клиента HTTP работает дольше, чем HTTPS.



— Да, и он показывал эти графики. Интересный был доклад. Но есть и другие проблемы: ты в московском метро к вайфаю подключился, и если у тебя не HTTPS, то провайдер начинает показывать тебе всякие баннеры или встраивают на страницы какие-нибудь штучки. Так что, быстро не будет. А ещё Билайн там у себя вставлял какие-то баннеры в трафик людям.



— В общем, если вы не хотите, чтобы на вашем сайте появилась всякая ерунда от отельного вайфая, от Билайна, московского метро и прочих чуваков — делайте на свойем сайте HTTPS. Правда, к вам может прийти Роскомнадзор — но это тема для другой беседы.



Про ритм жизни евангелиста



— Евангелизм для тебя — это выступления на мероприятиях, статьи, коммьюнити, конференции?



— Если бы я был евангелистом с Библией в одной руке и с крестом в другой в прежнюю эпоху, наверное, вообще бы не вылезал из какой-нибудь повозки с лошадьми, ездил по деревням, рассказывал.

Естественно, интернет позволяет делать гораздо больше всего онлайн. Например, наше с тобой интревью увидит куча людей — мне не нужно ехать к каждому из них домой.



Так получилось, что мы настолько застряли в вебе, что некоторые формы общения плохо воспринимаются. И идея конференций, идея встреч, когда ты можешь посмотреть в глаза человеку и убедить его в чём-то, рассказать ему о чём-то, — до сих пор работает. Поэтому я стараюсь бывать на конференциях чаще.



С другой стороны, есть особенность моей команды в Opera Software: она вся распределённая — сейчас в команде пять человек. Мы все съезжаемся несколько раз в году в центральный офис или куда-нибудь ещё. Скоро мы снова съезжаемся, чтобы синхронизироваться, пообщаться и спланировать, что мы будем делать.



— Основные направления того, что ты рассказываешь? Сейчас, например, мы много говорим про стандарты, мало говорим про Opera, про Opera Software. Почему так получается? Как стыкуются твои интересы с бизнесом Opera?



— Когда меня позвали на собеседование в Осло в 2009-ом году, мне задали вопрос: «Вообще чем бы ты хотел заниматься? Что тебе интересно?». Я рассказал, естественно, о себе, мне рассказали про компанию. И я спросил, чем мне в итоге придётся заниматься. На сколько продавать Opera и на сколько процентов рассказывать про веб-стандарты. Мне сказали, что, грубо говоря, веб-стандарты — 70%, продавать Opera — 30%.



На самом деле, мне не наврали, потому что, рассказывая про веб-стандарты, рассказывая про веб, про технологии, и вообще являясь экспертом в этой области, ты становишься заметным. Тебя знают, тебя слышат. И соответственно, если у людей возникает какой-то вопрос или проблема с Opera — они вспоминают: «ага, Макеев на конференции выступал. Вот он же там работает. Обратимся-ка к нему.»



Скажи мне, что ты будешь делать, если у тебя что-то не так в Firefox? Если что-то не так в Safari? Наверное, напишешь им в трекер. А тут можно встретиться, поговорить со мной, можно мне написать письмо или связаться другими способами.



— В твиттер. Даже в два твиттера, как мы вчера с тобой выяснили.



— Два твиттера — англоязычный и русскоязычный. Надо ещё на китайском завести. Шутка.



— Ну, это тяжёлая история. Проще будет нанять там евангелиста.



— Типа того. У нас, кстати, был Зи Бин из Китая. Тогда у нас команда была 13 человек, и люди были и в Латинской Америке, и в Азии. Когда мы перешли на новый движок, совместимость стала лучше, и в итоге меньше людей нужно для того, чтобы решать проблемы. Как результат — моя нагрузка выросла, и я теперь больше путешествую.



— Это Россия, Европа, в основном?



— Не только. Я два года подряд уже езжу на Chrome Dev Summit — очень интересное мероприятие в Калифорнии. Проходит в офисе Google. Поскольку там Chrome лидирует во многих направлениях, у них очень интересные доклады. И они всё это транслируют и тут же выкладывают записи. Поэтому, если вы ещё не смотрели записи с Chrome Dev Summit — очень рекомендую, потому что там происходят самые новые вещи.



Про мобильный веб и Opera Mini



— Года два назад говорили, что победил мобильный трафик, трафик с мобильных устройств: это и мобильный браузер, и приложения. Как в связи с этим, на твой взгляд, вообще меняется веб? Как в связи с этим должен переориентироваться веб-разработчик?



— Есть большая проблема. Разработчику ближе то, на чём он разрабатывает. Современный разработчик не будет разрабатывать на мобилке, которая у него в кармане — там это делать просто неудобно. Он разрабатывает на десктопе. Поэтому сайты, которые разрабатывает разработчик, лучше всего работают на десктопе, так как там есть инструменты отладки и всё остальное. В мобильных браузерах начали появляться удобные инструменты отладки, потому можно подключиться какому-нибудь Android по USB и начать удобную отладку, тут же смотреть на десктоп и отлаживать в телефоне, но для этого нужны устройства. Хорошо, если у тебя в кармане телефон для целевой платформы, а если у тебя какая-нибудь Nokia с кнопочками — сложновато. Нужно получать доступ к каким-то фабрикам с устройствами и так далее.



— Раньше ставили кучу виртуальных машин…



— И до сих пор, чтобы тестировать в IE или в Edge, нужно иметь виртуалку. Хотя стало проще — ставишь какой-нибудь бесплатный Virtual Desktop. И Internet Explorer начал выкладывать бесплатные виртуальные машины, удобные, с нужными версиями. Ты их скачиваешь тут же.



— «Microsoft думает о вас.»



— Да, в смысле тестирования они очень сильно помогли.



Есть такая тенденция, что разработчики больше заботятся о десктопе, хотя уже не стОит. И разработчики браузеров стараются им в этом помогать. Допустим, на Chrome Dev Summit в прошлом году в ноябре анонсировали новый отладчик для Chrome, для браузеров на основе Chromium, который сразу же показывает адаптированную версию. Если раньше вы открывали панель отладки в Chrome, и он вам показывал обычную страничку и панельку снизу, то сейчас он автоматически открывает адаптированную версию. Открывает окно, которое можно поресайзить, где можно выбрать модель телефона — он сам сделает zoom, scale и так далее. Разработчики браузеров стараются решать проблемы. Но всё равно, если у современного разработчика Android, iOS на столе, скорее всего, он уже отстаёт.



— Я знаю, что ребята, которые занимаются мобильной разработкой, имеют целый парк этих устройств. Роль тестовой лабы играет коробка со смартфонами, в которой человек берёт под расписку то, что ему надо.



— У меня дома 4 телефона, 3 планшета, ещё что-то. Специфика моей работы такова, что все устройства, на которых работают продукты нашей компании, у меня есть. Но если у типичного разработчика телефон только свой и ещё не той платформы — ему не повезло.



— На кнопочном телефоне есть Opera Mini.



— Я иногда захожу в магазин, ищу всякие телефоны с кнопочками, какие-нибудь Nokia. Они всё ещё продолжают выпускать простые мобилки. Если раньше там стоял какой-нибудь свой браузер, то в позапрошлом году мы заключили с ними контракт, что они все свои телефоны серии S, работающие на Java, в итоге перевели на наше решение — на все новые телефоны они теперь ставят Opera Mini.



— В Opera Mini родилось много интересных технологий, которые потом пришли в «большую» Opera. Например, в старой Opera на движке Presto, была интересная история — опциональный серверный рендеринг, когда запускается рендеринг картинок через ваши сервера, которые сжимают картинки, тем самым экономя пользователю трафик и ускоряя загрузку страниц.



— Это было не напрямую связано с Opera Mini, потому что там другие вещи происходят, принципиально гораздо более тяжёлые и злые. Мы пропускали трафик через себя, соответственно, картинки сжимались — сначала просто более сильным jpg, потом начали использовать WebP и так далее.



Но Opera Mini подошла к тому моменту, когда она всё ещё популярна, но какие-то сайты в ней ещё не работают. Клиентский рендеренг в Opera Mini работать не будет, потому что JavaScript не может исполняться сразу. Нужно сходить на сервер, да ещё чтобы по дороге ничего не поломалось, и вернуться обратно. Для того, чтобы отрисовать следующий кадр, например, выпавшее меню, — нужно сходить на сервер. Это слишком долго. Поэтому мы продолжаем работать над технологиями, которые позволят сжимать так же сильно, как Opera Mini, но работают по-другому.



— А Opera Mini развивается или нет? Это интернет для старых телефонов или это, скажем, какие-то embedded устройства, или телевизоры?



— Когда-то Opera Mini работала на простых кнопочных мобилках, потом мы запустили Opera Mini для Android — это полноценный браузер, где есть закладки, интерфейс, кнопочки, touch и прочее. Но страница рендерится всё равно на сервере.



Запуск Opera Mini для iOS был интересным поворотным моментом. Там было 3 режима сжатия: там есть обычный Safari-движок, потому что на iOS другого быть не может, Safari со сжатыми картинками и просто Opera Mini. И ты мог переключать режимы сжатия в зависимости от того, насколько тебе нужно экономить трафик и быть совместимым. Как мне рассказал Кристин Урибе, Product Manager Opera Mini, сжатие в режиме Mini происзодит немного по-разному, в зависимости от устройства. На айфоне люди привыкли к картинкам бОльшего качества, и поэтому им выдаются менее сжатые картинки. А для маленьких мобилок работает более сильное сжатие.



Нынче мы ушли с обычных мобилок на большие устройства. На многих рынках у нас два полноценных браузера для Android — Opera и Opera Mini. У Opera — свой движок, рендеринг происходит прямо на телефоне. Всё рисуется с помощью Chromium-движка. В Opera Mini рендеринг работает на сервере, всё сжато, некоторый фичи, допустим, JavaScript, вообще не работают. И вот что интересно: люди всё чаще выбирают Opera Mini на своём мощном смартфоне!



— А с инженерной точки зрения, чем отличаются Opera и Opera Mini?



— Визуально они выглядят одинаково, но страницы в них рендерятся по-разному. В итоге люди в странах, где трафик дорогой, плохой, сети перегружены — какие-нибудь азиатские или африканские страны, — они часто выбираю Opera Mini. У них 3G начались раньше, чем нормальный Интернет по проводам. Соответственно, сети перегружены, все в Интернет выходят исключительно с мобильных телефонов. И там совсем другие проблемы нам нужно решать.



Про RFID метки и поддержку биконов браузерами



— Как меняется веб в связи с API для геолокации? Я знаю такой пример: выходишь из метро, и твой провайдер, у которого заключён контракт с ближайшей пивнухой и есть данные по температуре воздуха с Gismeteo, посылает тебе SMS: «Что-то жарко. Не хочешь ли ты выпить холодненькое пиво в такой-то пивнухе?». Веб реально становится таким, каким мы его никогда не видели: в нём появляются гео-данные, появляется big data… Что ты думаешь об этом? Может быть, Opera в этой области что-то делает?



— Мы где-то в августе выпустили поддержку биконов — физического веба, просто экспериментальную сборку Opera для Android. И это было нашей попыткой исследовать эту область. Это RFID-метки в реальном мире, которые транслируются в браузер. Если у вас открыт браузер на телефоне, он вам присылает уведомления в Android о том, что есть какая-то метка. Например, вы подходите к автобусной остановке и можете на вашем смартфоне посмотреть расписание автобуса.



— Сама Opera шлёт мне уведомления?



— Да. Браузер умеет работать с этими метками. Не Android как таковой, а именно браузер.



Большинство меток — это ссылки. Есть несколько способов закодировать. У меня дома валяется такая маленькая беленькая коробочка, которая может работать два-три года без заряда — она просто запаяна. У неё наклейка сбоку. Наклеил, воткнул, закодировал её, чтобы она транслировала какие-нибудь адреса или температуру текущую. И всё это можно отправлять в браузер.



— Если поставить такой бикон на выходе из метро, то мне даже не нужно с

провайдером связываться…




— Да, Opera сама тебе предложит какую-то вещь, связанную с локацией. И это был, кстати, один из случаев, когда мы опередили Chromium, потому что в Chrome это началось совсем недавно. А мы это успели сделать в августе 2015-ого. Хотя движок у нас один и тот же. Просто мы вложились в эксперимент чуть больше, поторопились с ним, чтобы попробовать какие-то вещи. И вот, на том же Chrome Dev Summit, про который я говорил, каждому участнику выдали маленький бикон. В итоге 400 человек ушли оттуда с маленькими этими штучками, которые можно было запрограммировать.



— Нам уже давно предлагают сделать всякие мобильные приложения, чтобы человек пришёл на конференцию, подошел к залу и конференционное приложение показало ему не все подряд, а что-то конкретное, связанное с этим залом. Например, информацию по конкретному докладу, который сейчас идет в этом зале.



— Было очень смешно, когда на конференции нам всем выдали биконы. Сидит зал на 400 человек, у каждого есть бикон в кармане. И ты открываешь телефон и пытаешься понять, какой из них твой — а их очень много. Они все включены по умолчанию, прямо с завода.

И я придумал способ, как это найти свой! Поскольку там есть датчик температуры, я немножко потёр свой бикон — у него температура повысилась, я его себе зарегистрировал.



— С ними можно много задач решать. Можно снимать данные: как люди ходят, в каких залах. Можно им анкеты фидбека рассылать предметно. Можно на бейдж повесить.



— В принципе, это интересная задача. Вопрос в том, как эту технологию применить, потому что мы-то всё это поддержали, но нужно, чтобы производители рекламы, производители развлечений или другие бизнесы начали её использовать.




Original source: habrahabr.ru (comments, light).

https://habrahabr.ru/post/305394/

Комментарии (0)КомментироватьВ цитатник или сообщество
Дмитрий_Парфонов

Какой браузер выбрать?

Понедельник, 11 Июля 2016 г. 14:55 (ссылка)
chaynikam.net/view_articles.php?id=7


статья о выборе браузера для работы

Комментарии (0)КомментироватьВ цитатник или сообщество
Александр_Рубцов

Ave Maria Song Prayer.

Суббота, 09 Июля 2016 г. 16:25 (ссылка)

Это цитата сообщения Dmitry_Shvarts Оригинальное сообщение

Ave Maria Song Prayer










>>>

Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
Dmitry_Shvarts

Ave Maria Song Prayer

Пятница, 08 Июля 2016 г. 06:35 (ссылка)








>>>


Метки:   Комментарии (15)КомментироватьВ цитатник или сообщество
masiania1

Opera меняется

Вторник, 21 Июня 2016 г. 12:39 (ссылка)
lapplebi.com/news/2541-oper...etsya.html

Разработчики браузера Opera объявили о переходе на движок WebKit и оболочку Chromium.
Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
masiania1

Представлена первая версия Opera на движке Webkit

Суббота, 18 Июня 2016 г. 21:52 (ссылка)
lapplebi.com/obzory/2536-pr...ebkit.html

Заявленный ранее переход норвежского браузера Opera на движок WebKit и оболочку Chromium стал приобретать вполне осязаемые очертания.
Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
EFACHKA

Управление браузером OPERA с помощью мыши и сочетания клавиш

Пятница, 17 Июня 2016 г. 13:03 (ссылка)


3424885_index54 (455x314, 17Kb)



Управление браузером OPERA с помощью мыши и сочетания клавиш.



Читать далее...
Метки:   Комментарии (2)КомментироватьВ цитатник или сообщество
SoftLabirint

Ancient Heart: Hard Compilation (2016) MP3 » SoftLabirint.Ru: Скачать бесплатно и без регистрации - Самые Популярные Новости Интернета

Среда, 08 Июня 2016 г. 22:26 (ссылка)
softlabirint.ru/music/rock/...6-mp3.html


Ancient Heart: Hard Compilation (2016) MP3

Исполнитель: Various Artist

Название: Ancient Heart: Hard Compilation

Страна: World

Лейбл: VA-Album Rec.

Жанр музыки: Hard Rock, Metall, Alternative

Дата релиза: 2016

Количество композиций: 110

Формат | Качество: MP3 | 320 kpbs

Продолжительность: 08 :26 :38

Размер: 1,17 Гб (+3%)



Tracklist:



CD1:

01. Feared - Fall of Man

02. Yngwie Malmsteen - Abandon

03. Dark Funeral - Beast Above Man

04. Dark Suns - Escape with the Sun

05. Ted Poley - Hands Of Love

06. Sincreation - 3.Mustamaalaus

07. Taria Turnen - An Empty Dream

08. Paradox - Ballot or Bullet

09. Hellyeah - Be Unden!able

10. In Mourning - Below Rise To The Above

11. Eternity's End - Eagle Divine

12. Omen - Eulogy

13. Sleeping Well - Free

14. Pellek - In Windows

15. Crimson Fire - Young, Free, Lust

16. The Vision Bleak - Ancient Heart

17. Survive This! - Disappear

18. Sky Architects - Remembrance

19. Alarion - Turn of Fate

20. Attica Rage - All Summer Long

21. Lost Opera - Betrayal

22. DragonForce - Black Fire

23. Radiohead - Ful Stop

24. Iron Savior - Gunsmoke

25. Abscido - How Many Times

26. Luthor - Medusa

27. Garbage - Night Drive Loneliness

28. Broach - Open My Eyes

29. Katatonia - Sanction

30. Filter - Take Me To Heaven

31. September Damage - The End of the Days of Chaos

32. Nordic Union - When Death Is Calling

33. Megafauna - Gaia

34. Saosin - The Stutter Says A Lot

35. JWL - The Swarm

36. Wings Of Destiny - Siren's Song

37. Volbeat - Black Rose (Feat. Danko Jones)

38. The Irontown Diehards - Blood On The Horizon

39. NERVOSA - Failed System

40. Arkadia - Kaatiala

41. Kari Rueslatten - Letting Go

42. First Signal - Minute of Your Time

43. Derdian - Screams of Agony (feat. Mark Basile)

44. The Electric - She Makes Me Work For It

45. Dany Lademacher's Wild Romance - Sucker For My Telephone

46. Combichrist - Time Again

47. Tragic Earth - What If

48. Blakshine - Antipolitical

49. Death Angel - Hatred United/United Hate

50. The Ikarus Effect - Omega

51. The De?ants - Save Me Tonight

52. Sugar Virus - Wolf's Breath

53. Suede - We Are the Pigs

54. Alice on the roof - Monopoly Loser

55. Saving Jane - Immortal



CD2:

01. Radiohead - Daydreaming

02. First Signal - Love Gets Through

03. Volbeat - The Bliss

04. Sky Architects - Compass

05. Survive This! - Feel Tonight

06. In Mourning - Ashen Crown

07. Omen - Cry Havoc

08. Dany Lademacher's Wild Romance - Personal Jesus

09. Eternity's End - The Hourglass

10. Broach - Turn Back

11. Attica Rage - Warheads LTD

12. Nordic Union - Wide Awake

13. JWL - Post

14. Tragic Earth - Bury Me

15. Katatonia - Decima

16. Death Angel - Father Of Lies

17. Suede - Filmstar

18. Arkadia - Foundation

19. Blakshine - Getaway Car

20. Luthor - Legacy Of Hate

21. Dark Suns - Monster

22. Iron Savior - Seize The Day

23. Filter - The City Of Blinding Riots

24. Abscido - The Doorstep

25. Yngwie Malmsteen - Top Down, Foot Down

26. The De?ants - Waiting On A Heartbreak

27. Megafauna - Interlude

28. Wings Of Destiny - Sea Of Oblivion

29. NERVOSA - Guerra Santa

30. Crimson Fire - Hunter

31. Kari Rueslatten - Dance With The King

32. DragonForce - My Spirit Will Go On

33. Dark Funeral - Temple Of Ahriman

34. Sleeping Well - Winds Of Liberty

35. Sincreation - 5.Fall Of Troy

36. Alarion - Colourblind

37. The Vision Bleak - The Whine of the Cemetery Hound

38. The Ikarus Effect - Alpha

39. Paradox - Cheat & Pretend

40. Garbage - Even Though Our Love Is Doomed

41. Sugar Virus - Goat by the Throat

42. Ted Poley - Higher

43. September Damage - Phantom of the Opera

44. Hellyeah - Blood Plague

45. The Irontown Diehards - Step Inside

46. The Electric - The Fighter

47. Saosin - The Secret Meaning of Freedom

48. Pellek - All That I Am

49. Derdian - Forevermore (feat. Terence Holler & Elisa C. Martin)

50. Тарья Турунен - Goldfinger

51. Lost Opera - May I?

52. Combichrist - Don't Care How You Feel About It

53. Feared - Changes

54. Anna Tsuchiya - GUILTY

55. Alice on the roof - Feel Tonight



DOWNLOAD LINKS: Ancient Heart: Hard Compilation (2016) MP3



Download | TurboBit.net

http://turbobit.net/cjqmu91ojqze/AncientHeart2016.rar.html



Download | HitFile.net

http://www.hitfile.net/dejBSBB/AncientHeart2016.rar.html



Download | Файлообменник.рф

http://файлообменник.рф/dycdgwhu9ouy/AncientHeart2016.rar.html



Download | DepFile.com

http://kyc.pm/w1VdQpF0A/AncientHeart2016.rar



Download | LaFiles.com

http://lafiles.com/bnk6errij8wn/AncientHeart2016.rar.html



 



Подписка на новости сайта…

http://feeds.feedburner.com/Soft-Labirint

http://feeds.feedburner.com/Soft-Labirint?format=xml

https://feedburner.google.com/fb/a/mailverify?uri=Soft-Labirint



 



 

Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
Leovik10

КАК СКАЧАТЬ ФАЙЛЫ?

Понедельник, 30 Мая 2016 г. 09:33 (ссылка)
chaynikam.net/view_lesson.php?id=1


Урок о скачивании файлов из Интернет! После просмотра картинок, нажимайте на ссылку вверху!





1.

0_96e04_4671197f_XL.gif (550x659, 719Kb)



Читать далее


Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
SoftLabirint

Сборник программ PortableApps v.14.1 Update Apps 13.05.2016 by adguard (Multi/RUS) » SoftLabirint.Ru: Скачать бесплатно и без регистрации - Самые Популярные Новости Интернета

Воскресенье, 16 Мая 2016 г. 03:16 (ссылка)
softlabirint.ru/soft/system...tirus.html


Сборник программ PortableApps v.14.1 Update Apps 13.05.2016 by adguard (Multi/RUS)

Коллекция нового портативного софта, объединённая в единую оболочку для удобного быстрого запуска. В готовую коллекцию уже входят программы таких категорий, как: безопасность, графика и изображения, интернет, музыка и видео, образование, офис, разработка, специальные возможности, утилиты. Всё предварительно сконфигурировано, чтобы работать портативно.



• Достаточно скопировать сборку в нужное место или на переносное устройство и можно работать.

• В сборку вошло 300 приложений (от стабильных до бета-версий продуктов).



Некоторые особенности оболочки:

• Оболочка имеет удобное интуитивно понятное меню.

• Есть тонкая настройка оболочки, с помощью которой можно легко настроить любые параметры под себя.

• Поддержка большого количества языков.

• Все программы распределены по категориям.

• В настройках можно выбрать понравившуюся Вам тему оформления.

• Все приложения можно поддерживать в актуальном состоянии, просто нажав кнопку Приложения-> Проверить обновления.

• Также можно настроить автопроверку возможных обновлений приложений при каждом запуске оболочки.

• Имеется возможность добавлять свои приложения с указанием нужной категории.

• Можно быстро найти в списке нужное приложение, вспользовавшись функцией поиска.

• Большиство из приложений при запуске "подхватывают" язык Вашей системы.

• И многое другое...



СОСТАВ СБОРНИКА:



Безопасность:

ClamWin Portable 0.99

Eraser Portable 5.8.8.1

EraserDrop Portable 2.1.1

HijackThis Portable 2.0.5

Kaspersky TDSSKiller Portable 3.1.0.9

KeePass Classic Portable 1.31

McAfee Stinger Portable 12.1.0.1999

Password Gorilla Portable 1.5.3.7

Password Safe Portable 3.38.2

PeerBlock Portable 1.2

PWGen Portable 2.8.0

Spybot — Search & Destroy Portable 2.5



Графика и изображения:

AndreaMosaic Portable 3.36

AniFX Portable 1.0 Rev 2

Blender Portable 2.77

Caesium Portable 1.7.0

Cornice Portable 0.6.1.5

Dia Portable 0.97.2 Rev 2

DiffImg Portable 2.2.0

Fotografix Portable 1.5 Rev 2

FotoSketcher Portable 3.20

Fyre Portable 1.0.0

GIMP Portable 2.8.16

Greenfish Icon Editor Pro Portable 3.5

Hot Spot Studio Portable 2.1 Rev 2

IcoFX Portable 1.6.4 Rev 2

Inkscape Portable 0.91

IrfanView Portable 4.42

JPEGView Portable 1.0.35.1

K-3D Portable 0.8.0.1 Rev 2

LazPaint Portable 6.4.1

Pencil Project Portable 2.0.5 Rev 2

PhotoFilmStrip Portable 2.1.0

PhotoFiltre Portable 7.2.1 Rev 3

PicPick Portable 4.1.2

PngOptimizer Portable 2.4.2

RawTherapee Portable 4.2.1/3

Smart Deblur Portable 1.27

XnView Portable 2.35



Интернет:

DamnVid Portable 1.6.0

Ekiga Portable 4.0.1 Rev 2

Feed Notifier Portable 2.6

FeedRoller Portable 0.65

FileZilla Portable 3.16.1

Mozilla Firefox, Portable Edition 46.0.1

Mozilla Firefox, Portable Edition 2nd Profile 1.2

Mozilla Firefox Developer Edition, Portable 48.0 Alpha 2

Mozilla Firefox ESR, Portable Edition 45.1.1

Mozilla Firefox, Portable Edition (Nightly) 49.0 Alpha 1 Pre

Mozilla Firefox, Portable Edition (Nightly 64-bit) 49.0 Alpha 1 Pre

Mozilla Firefox, Portable Edition (Beta) 47.0 Beta 1

Free Download Manager Portable 3.9.7.1627

Google Chrome Portable 50.0.2661.94

Google Chrome Portable (64-bit) 50.0.2661.94

Google Chrome Portable (Beta) 51.0.2704.29

Google Chrome Portable (Dev) 52.0.2716.0

gPodder Portable 3.9.0

Instantbird Portable 1.5

Iron Portable 49.0.2600.0

Juice Portable 2.22

KiTTY Portable 0.67.0.2

K-Meleon Portable 75.1

KVIrc Portable 4.2.0 Rev 3

LAN Messenger Portable 1.2.35

Links Portable 2.12

Lynx Portable 2.8.7 Rev 2

Maxthon Cloud Portable 4.4.8.2000

MicroSIP Portable 3.11.0

Miranda NG Portable 0.95.4

Miranda IM Portable 0.10.48

Opera Mail Portable 1.0.1044

Opera, Portable Edition 36.0.2130.65

Opera, Portable Edition Legacy 12.18

PChat Portable 1.5.2

Pidgin Portable 2.10.12

PopMan Portable 1.3.1 Rev 3

Private Browsing by PortableApps.com 3.1

PuTTY Portable 0.67

qBittorrent Portable 3.3.3

QuiteRSS Portable 0.18.4

QupZilla Portable 1.8.9

QuteCom Portable 2.2.1 Rev 2

SeaMonkey, Portable Edition 2.40

SeaMonkey, Portable Edition 2nd Profile 1.2

Skype Portable 7.22.0.108

Mozilla Thunderbird, Portable Edition 45.0

Mozilla Thunderbird, Portable Edition 2nd Profile 1.2

Mozilla Thunderbird, Portable Edition (38 Beta) 38.0 Beta 5

Transmission-Qt Portable 2.84.8

TweetDeck Portable 3.3.7 Rev 2

uTorrent Portable 3.4.6.42178

WackGet Portable 1.2.4 Rev 2

WinSCP Portable 5.7.7

WinWGet Portable 0.20.0.3

wxDownload Fast Portable 0.6 Rev 2



Музыка и Видео:

AIMP Portable 4.02.1713

Audacity Portable 2.1.2

AutoDrum Portable 4.1

CDEx Portable 1.7.9

cdrtfe Portable 1.5.5

CoolPlayer+ Portable 2.19.6

DVDStyler Portable 2.9.6

fre:ac Portable 1.0.26

InfraRecorder Portable 0.53

Linux MultiMedia Studio Portable 1.1.3

MediaInfo Portable 0.7.84

Mp3splt-gtk Portable 0.9.2

Media Player Classic — Home Cinema Portable 1.7.10

MuseScore Portable 2.0.3

Paul's Extreme Sound Stretch Portable 2.2-2 Rev 2

MuzicBrainz Picard Portable 1.3.2

SMPlayer Portable 16.1.0

Songbird Portable 2.2.0

TAudioConverter Portable 0.9.9

TEncoder Video Converter Portable 4.5.10

VirtualDub Portable 1.10.4

VLC Media Player Portable 2.2.2 Rev 2

WaveShop Portable 1.0.14

wxMP3gain Portable 3.7

XMPlay Portable 3.8.2.3



Образование:

Artha Portable 1.0.3

BPBible Portable 0.5.2

Celestia Portable 1.6.1 Rev 2

FreeMat Portable 4.2

GoldenDict Portable 1.0.1 Rev 2

Gramps Portable 3.4.9

Marble Portable 1.9.1 Rev 2

Mnemosyne Portable 2.3.5

Solfege Portable 3.22.2 Rev 2

Stellarium Portable 0.14.2

Tipp10 Portable 2.1.0 Rev 2

TypeFaster Typing Tutor Portable 0.4.2



Офис:

AbiWord Portable 2.8.6 Rev 3

AbiWord Portable (Test) 2.9.2 Rev 2

A Note Portable 4.2.4

BabelPad Portable 8.0.0.6

Cherrytree Portable 0.36.8

CintaNotes Portable 3.1.3

Evince Portable 2.32.0-145 Rev 2

Finance Explorer Portable 8.0.0

FocusWriter Portable 1.5.5

Foxit Reader Portable 7.3.4.0311

Gnucash Portable 2.6.11

Gnumeric Portable 1.12.17

Jarte Portable 5.4

KchmViewer Portable 7.5

KeepNote Portable 0.7.8

LibreCAD Portable 2.0.10

LibreOffice Portable 5.1.1

LibreOffice Portable Still 5.0.5

Money Manager Ex Portable 1.2.6

Apache OpenOffice Portable 4.1.2

PDFTK Builder Portable 3.9.4

PDF-XChange Viewer Portable 2.5.316.1

PNotes Portable 9.3.0

RedNotebook Portable 1.11.0

Scribus Portable 1.4.6

Scribus Portable Test 1.5.1

Sigil Portable 0.9.4

SpeedCrunch Portable 0.11

Stickies Portable 8.0c Rev 2

Sumatra PDF Portable 3.1.1

Mozilla Sunbird, Portable Edition 1.0b1 Rev 2

Mozilla Sunbird, Portable Edition 2nd Profile 1.2

Task Coach Portable 1.4.3

The Guide Portable 2.0 Rev 2

WinDjView Portable 2.1

ZoomIt Portable 4.5 Rev 3



Разработка:

AkelPad Portable 4.9.7

Cppcheck Portable 1.73

Database Browser Portable 5.3.1.6

Frhed Portable 1.6.0 Rev 3

Geany Portable 1.26 Rev 2

gVim Portable 7.4

HM NIS Edit Portable 2.0.3 Rev 2

IniTranslator Portable 1.9.0.52

KompoZer Portable 0.8 Beta 3

Notepad++ Portable 6.9

Notepad2-mod Portable 4.2.25.964

Notepad2 Portable 4.2.25 Rev 2

NSIS Portable (Unicode) 2.46.5 Rev 3

NSIS Portable (ANSI) 2.50

PortableApps.com Installer 3.1.3

PortableApps.com Launcher 2.2

Q-Eye Portable 5.0.0.7

DB Browser for SQLite Portable 3.8.0

Sqliteman Portable 1.2.2

SWI-Prolog Portable 7.2.3

XAMPP Control Panel 1.6



Специальные возможности:

Balabolka Portable 2.11.0.600

On-Screen Keyboard Portable 2.0

Virtual Magnifying Glass Portable 3.6



Утилиты:

2X RDP Portable 12.0 build 2193

7-Zip Portable 15.14

Ant Renamer Portable 2.12.0

AquaSnap Portable 1.17.1

Autoruns Portable 13.51 Rev 3

BabelMap Portable 8.0.0.5

BleachBit Portable 1.10

CamStudio Portable 2.7.2

Checksum Control Portable 2.4

Clicky Gone Portable 1.4.4.1 Rev 2

Command Prompt Portable 2.4

Console Portable 2.00 b148 Rev 2

ControlPad Portable 0.72

Converber Portable 2.3.1

ConvertAll Portable 0.6.1

Cook Timer Portable 0.9.3 Rev 2

CPU-Z Portable 1.76

CrystalDiskInfo Portable 6.8.1

CrystalDiskMark Portable 5.1.2

CubicExplorer Portable 0.95.1 Rev 2

Daphne Portable 2.04

DebugView Portable 4.81 Rev 5

Dicom Portable 1.1.1

Diffpdf Portable 2.1.3

Disk Cleaner Portable 1.7.1645 Rev 2

Ditto Portable 3.21.50

DM2 Portable 1.23.1.1

Don't Panic! Portable 3.1.0

dotNETInspector Portable 1.5.0

DSynchronize Portable 2.31.8

DTaskManager Portable 1.54.1

Duplicate Files Finder Portable 0.8.0

DynDNS Simply Client Portable 2.0.0.2 Rev 2

Explorer++ Portable 1.3.5

FastCopy Portable 3.13

FileAlyzer Portable 2.0.5.57

FontForge Portable 2014-11-26

FreeCommander XE Portable 2016 Build 715

FreeFileSync Portable 6.2

FreeUPX Portable 1.7

GPU-Z Portable 0.8.7

grepWin Portable 1.6.12

Gridy Portable 0.70

HDHacker Portable 1.4 Rev 3

HWiNFO Portable 5.22.2820

IObit Uninstaller Portable 5.2.5.135

IObit Unlocker Portable 1.1

jPortable Launcher 3.0

jPortable Launcher (64-bit) 3.0

JkDefrag Portable 3.36 Rev 2

jPortable Browser Switch 1.0

Lightscreen Portable 2.1

Listary Portable 3.51.858

PCI-Z Portable 1.3

PeaZip Portable 6.0.0

PortableApps.com AppCompactor 3.2.0

Process Explorer Portable 16.12 Rev 2

Process Hacker Portable 2.38

Process Monitor Portable 3.20 Rev 4

Q-Dir Portable 6.34

QwikMark Portable 0.4

RAMMap Portable 1.5

Rapid CRC Unicode Portable 0.3.19

RBTray Portable 4.3 Rev 2

RegAlyzer Portable 1.6.2.16

Regshot Portable 1.9.0

Revo Uninstaller Portable 1.95 Rev 2

Rufus Portable 2.8

Shortcuts Search And Replace Portable 1.6.15

Smart Defrag Portable 4.4.0

SnapTimer Portable 0.1

SpeedyFox Portable 2.0.15.96

SSD-Z Portable 16.01.18b

Synkron Portable 1.6.2 Rev 2

System Explorer Portable 7.1.0

TCPView Portable 3.05 Rev 3

TeamViewer Portable 11.0.59131

Texter Portable 0.6 Rev 2

TinyTask Portable 1.50 Rev 2

Toucan 3.1.0

TreeSize Free Portable 3.4.5

TyperTask Portable 1.20 Rev 2

UltraDefrag Portable 7.0.0

UNetbootin Portable 613

UUID-GUID Generator Portable 1.1

Virtual Volumes View Portable 1.2 Rev 2

VirtuaWin Portable 4.4

WhatChanged Portable 1.07

WhoDat Portable 0.9.1

WinCDEmu Portable 4.0

WinDirStat Portable 1.1.2.80 Rev 3

Windows Error Lookup Tool Portable 3.0.7

winMd5Sum Portable 1.0.1.55 Rev 4

WinMerge Portable 2.14.0

WinMTR Portable 0.92 Rev 2

WinPenguins Portable 0.76

Wise Data Recovery Portable 3.83

Wise Disk Cleaner Portable 9.11

Wise Program Uninstaller Portable 1.92

Wise Registry Cleaner Portable 9.11

Workrave Portable 1.10

World Clock Portable 8.0

Xenon File Manager Portable 1.5.0.2

XN Resource Editor Portable 3.0.0.1

xpy Portable 1.3.8

YUMI Portable 2.0.2.0

Zint Barcode Studio Portable 2.4.3

ZSoft Uninstaller Portable 2.5 Rev 3



Изменения в этой версии:

• Платформа обновлена до версии 14.1

• Обновлены версии многих программ



Установка:

• 1. Смонтировать ISO в виртуальный привод (при помощи Alcohol 120%/52%, Daemon Tools или стандартными средствами Windows 8 и выше)

• 2. Запустить setup.exe;

• 3. Выбрать путь куда и какие приложения распаковать вместе с оболочкой;

• 4. Пользоваться.

P.S. Во время установки Вам будут предлогаться разные лицензионные соглашения и языки (как в оригинальным установщике), соглашаемся со всеми.

 



Сборник программ PortableApps v.14.1 Update Apps 13.05.2016 by adguard (Multi/RUS)



Сборник программ PortableApps v.14.1 Update Apps 13.05.2016 by adguard (Multi/RUS)



Сборник программ PortableApps v.14.1 Update Apps 13.05.2016 by adguard (Multi/RUS)



Сборник программ PortableApps v.14.1 Update Apps 13.05.2016 by adguard (Multi/RUS)



Сборник программ PortableApps v.14.1 Update Apps 13.05.2016 by adguard (Multi/RUS)



Сборник программ PortableApps v.14.1 Update Apps 13.05.2016 by adguard (Multi/RUS)






Контрольные суммы:

CRC32: C2438116

MD4: 27A769EF1298296DBB8F0756E585E9A6

MD5: D69A68C03B3A86B9B054827DFF3E691A

SHA-1: 584BCDA25756A2D23DBCC9B343A7005E5EEA6750



Системные требования:

• Windows XP, Vista, 7, 8, 8.1, 10 (32-bit / 64-bit)

• Свободного места: 12 ГБ (для полного комплекта)



Информация о софте:

Дата выхода: 13 мая 2016 года

Название: Сборник программ PortableApps v.14.1 Update Apps 16.05.13 by adguard

Версия: v.14.1 / 16.05.13 / Update Apps 13.05.2016

Разработчик/автор сборки: PortableApps / adguard

Система: x86/x64/Windows XP/Vista/7/8/8.1/10

Язык интерфейса: Русский, английский, мультиязычный

Лекарство: Не требуется

Размер: 3,99 GB



Скачать: Сборник программ PortableApps v.14.1 Update Apps 13.05.2016 by adguard (Multi/RUS) >>>



 



 

Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество

Следующие 30  »

<opera - Самое интересное в блогах

Страницы: [1] 2 3 ..
.. 10

LiveInternet.Ru Ссылки: на главную|почта|знакомства|одноклассники|фото|открытки|тесты|чат
О проекте: помощь|контакты|разместить рекламу|версия для pda