Создаём своё первое десктопное приложение при помощи HTML, JS и Node-WebKit

В наше время при помощи JavaScript и HTML можно сделать практически всё. А благодаря Node-WebKit (недавно переименован в NW.js) можно делать даже десктопные приложения, которые выглядят, как нативные и имеют доступ ко всем частям ОС. Сегодня мы покажем, как создать простое десктопное приложение при помощи Node-WebKit, используя jQuery и несколько модулей для Node.js.

Node-WebKit — комбинация Node.js и встроенного браузера WebKit. Код JavaScript выполняется в особом окружении, из которого есть доступ и к стандартному API браузеров, и к Node.js.

Устанавливаем Node-WebKit
Для разработки нужно скачать исполняемый файл node-webkit и вызывать его из командной строки. Позже всё вместе упакуется в одну программу, которая будет запускаться пользователем.

Скачайте файлы, подходящие для вашей системы, и распакуйте их в подходящее место. Запускать их нужно так:

# если у вас linux/osx /path/to/node-webkit/nw /your/project/folder # если у вас windows C:\path\to\node-webkit\nw.exe C:\your\project\folder # (пути указаны только для примера)

Откроется новое окно node-webkit, в которое будет выведено множество отладочных сообщений.

Первое приложение

Мы подготовили для вас тестовое приложение для примера. Оно скачивает последние статьи с Tutorialzine и делает из них карусельку при помощи jQuery Flipster.

структура каталогов

В архиве содержатся вышеуказанные файлы. Выглядят они как статический сайт, но работать в браузере при запуске index.html не будут – им нужны модули Node.js. Для запуска воспользуйтесь командой

/path/to/node-webkit/nw .

Она и запустит наше превосходное приложение.

Как это сделано
Всё начинается с файла package.json, который node-webkit ищет при запуске. Там описано, что нужно загружать и даны разные настройки окна.

package.json
{ "name": "nw-app", "version": "1.0.0", "description": "", "main": "index.html", "scripts": { "test": "echo \"Ошибка: тест не задан\" && exit 1" }, "author": "", "window": { "toolbar": false, "width": 800, "height": 500 }, "license": "ISC", "dependencies": { "pretty-bytes": "^1.0.2" } }

В свойстве window описана необходимость открыть окно размера 800 х 500 пикселей и спрятать у него тулбар. В него загрузится файл из свойства main. У нас это

index.html
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <title>Tutorialzine Node-Webkit Experiment</title> <link rel="stylesheet" href="./css/jquery.flipster.min.css"> <link rel="stylesheet" href="./css/styles.css"> </head> <body> <div class="flipster"> <ul> <!— Tutorialzine’s latest articles will show here —> </ul> </div> <p class="stats"></p> <script src="./js/jquery.min.js"></script> <script src="./js/jquery.flipster.min.js"></script> <script src="./js/script.js"></script> </body> </html>

И наконец, наш файлик с JavaScript. Вот где самое интересное.

// Смешать в одном файле код jQuery и Node.js? Да не вопрос! $(function(){ // Показать данные о компьютере, используя модуль os var os = require(‘os’); var prettyBytes = require(‘pretty-bytes’); $(‘.stats’).append(‘Number of cpu cores: <span>’ + os.cpus().length + ‘</span>’); $(‘.stats’).append(‘Free memory: <span>’ + prettyBytes(os.freemem())+ ‘</span>’); // Нативная библиотека Node webkit для UI. Понадобится попозже var gui = require(‘nw.gui’); // Загрузить последние посты с Tutorialzine var ul = $(‘.flipster ul’); // Ограничений на запрос данных с других доменов нет, поэтому // мы можем отправить ajax-запрос на другой сайт. $.get(‘http://feeds.feedburner.com/Tutorialzine’, function(response){ var rss = $(response); // Найдём статьи в RSS фиде rss.find(‘item’).each(function(){ var item = $(this); var content = item.find(‘encoded’).html().split(‘</a></div>’)[0]+'</a></div>’; var urlRegex = /(http|ftp|https):\/\/[\w\-_]+(\.[\w\-_]+)+([\w\-\.,@?^=%&:/~\+#]*[\w\-\@?^=%&/~\+#])?/g; // Загрузим первую картинку из статьи var imageSource = content.match(urlRegex)[1]; // Создадим li для каждой статьи и добавим в ненумерованный список var li = $(‘<li><img /><a target="_blank"></a></li>’); li.find(‘a’) .attr(‘href’, item.find(‘link’).text()) .text(item.find("title").text()); li.find(‘img’).attr(‘src’, imageSource); li.appendTo(ul); }); // Инициализируем плагин flipster $(‘.flipster’).flipster({ style: ‘carousel’ }); // По клику на карусельке откроем страницу в дефолтном браузере. // Иначе она открылась бы в нашем окне, а нам это не надо. $(‘.flipster’).on(‘click’, ‘a’, function (e) { e.preventDefault(); // откроем URL в дефолтном браузере gui.Shell.openExternal(e.target.href); }); }); });

В браузере нельзя получить доступ к информации на другом домене через jQuery. Но node-webkit убирает эти ограничения.

Использованные модули:
Shell – модуль node webkit для работы с десктопом OS – встроенный в Node.js модуль. Умеет возвращать объём свободной системной памяти Pretty Bytes – преобразует байты в человеко-читаемые строки 1337 → 1.34 kB.

Также есть jQuery и плагин jQuery-flipster. И всё!

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

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

Есть и минус – исполняемые файлы получаются уж очень большими (бывает, что и 40-50 Мб), поскольку в них упихивается и браузер webkit и node.js, и ваш код. Возможно, для создания простых небольших десктопных приложений это не идеальный вариант.

Заключение
Node-webkit – мощная штучка, открывающая новые возможности для веб-разработчиков. С её помощью можно создавать вспомогательные приложения для ваших веб-сервисов и делать десктопные клиенты, у которых будет полный доступ к компьютеру пользователя. Подробнее о node-webkit читайте в их wiki. http://habrahabr.ru/post/251723/

Анонс MongoDB 3

Как-то незаметно прошел анонс новой версии MongoDB. Изменение номера версии с 2 на 3 указывает на значительные изменения внутри базы данных. Разработчики заявляют о значительном увеличении производительности и более лучшей маштабируемости. Немного подробнее под катом.

Непосредственно анонс был 3 февраля. Если коротко, то третья версия теперь использует по умолчанию отрытый движок хранения данных WiredTiger, который был основан и разработан доктором Майклом Кэхиллом (Dr Michael Cahill), который ранее внес вклад в развитие PostgreSQL, и Кейтом Бостик (Keith Bostic), который известен своим вкладом в развитии Unix. Использование нового ядра поможет лучше и быстрее реализовать новый функционал, избавиться от узких мест и выдерживать более высокие нагрузки. Также в новой версии предоставят новое API.

Интеграция с WiredTiger позволит использовать сжатие, блокировки на уровне записи, обработку транзакций с множеством документов и поддержки дерева слияния со структурой журнала (Log-Structured Merge-Trees, LSM), а также позволит управлять конкурентным доступом с помощью многоверсионности (MultiVersion Concurrency Control, MVCC).

Чтобы не быть голословным, по этой и этой ссылке можно посмотреть бенчмарки.

Если хочется пощупать сейчас, то на сайте mongodb.org на данный момент можно скачать 11 релиз — кандидат.
По этой ссылке можно узнать подробный changelog.

ВНИМАНИЕ!(на всякий пожарный) Это не финальная версия и поэтому разработчики очень просят не использовать текущую версию в продакшине.

UPDATE. Также пока что не поддерживается SSL шифрование;
outcoldman SSL поддерживается, но только в enterprise версии на данный момент, либо если клмпилировать самому. Они просто вроде намекают, что будет в бесплатной.

Подведя итог можно сказать, что проект действительно нуждался в изменениях. При всех своих плюсах MongoDB часто подкладывала свинью разработчикам в совершенно неожиданных местах. Посмотрим что нам принесет хорошего релиз. http://habrahabr.ru/post/251745/

Блог департамента информационных технологий города Москвы на «Хабрахабре»

Привет, Хабр! Вот, наконец, и мы как часть большого и не самого поворотливого механизма дошли до того, чтобы завести тут свой блог.

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

Раз заговорив, уже трудно остановиться. Тем более, что из разгоревшейся дискуссии мы поняли, что жители «Хабрахабра» к жизни города неравнодушны, и что мы как ИТ-департамент можем и должны взаимодействовать с людьми, которые сами тесно связаны с ИТ и готовы помочь сделать наши сервисы лучше, по меньшей мере, чтобы за город не было стыдно, а в идеале – чтобы было чем гордиться и чем похвастаться перед друзьям-иностранцами.

Поэтому в самое ближайшее время мы запустим с «Хабрахабром» совместный спецпроект, на котором можно будет протестировать, а может – и попробовать поломать, доступ к 120 тыс. городских камер через наш новый сервис video.mos.ru (он еще не запущен). А пока можно оставить тут свою почту, чтобы получить приглашение в числе первых. Инвайтов совсем немного.

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

Спасибо за внимание, ждем в комментариях! http://habrahabr.ru/post/251711/

Новые баги utorrent или что для нас готовят программисты Bittorrent

Многие пользователи utorrent переходят на новые версии программы по привычке или до того момента пока у них не перестаёт что-то работать. Кто-то остановился на 2.2.1 или 2.0.4 как последних более-менее стабильных, а кто-то по сей день верен 1.8.2 и даже 1.7.7. Чем же так пугает и привлекает третья версия utorrent? Попробуем проследить и разобраться в изменениях которые были и тех, что ожидают нас в будущем.

Эволюция utorrent
Первый мой установленный utorrent был 1.8.2. Как раз то время когда в этих клиентах начинали прикручивать magnet-ссылки. Возможно, ошибки которые допустили программисты utorrent при добавлении этой функции, оказались слишком заметны пользователям 1.7.7 и 1.8.2. Можно сказать, с этого момента стали применяться во многом противоречивые подходы к созданию программы.
Потом разработчики пытались довести до ума альфа версию 1.9, которая имела много новшеств. Из заметных такие как: поддержка udp трекеров, новый utp протокол, приложения, работа дополнительных параметров в магнет-ссылке. Но в стабильный релиз ушла версия 2.0, которую достаточно долго пытались подлатать до версии 2.2.1.
И вот тут начинается самое интересное. С версии 3.0 в программу приходят радикальные изменения, к ним нас подготавливали специальными альфа версиями utorrent под названиями «Falcon» и «Griffin». Но большинство из нас заметило только огромное количество глюков и проблемы в работе жёсткого диска. По этому продолжительное время многие справедливо отказывались переходить с 2.2.1 на 3.х. А нового в 3.х было много:

Достаточно интересной была технология под названием DNA. Под это название пытались впихнуть сразу две задумки:
1. Загрузка файлов через p2p с помощью специальных файлов, которые запускались на компьютере без торрент-клиента, либо их можно было запустить в самом utorrent, при этом в главном окне utorrent появлялся синий значёк DNA (к сожалению скриншот не сохранился). Такие специальные файлы предлагал загрузить своим клиентам например сайт ASUS в разделе загрузок драйверов. Запустив их, пользователь потом мог скачать сами файлы драйверов через p2p.
2. Просмотр видео в встроенном на http странице плеере с частичной подгрузкой из p2p.

Магнет-ссылки понимали новые дополнительные параметры ws (веб-сид) и fl (загрузка торрент-файла по прямой http ссылке)

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

Многие провайдеры дождались включённой по умолчанию опции isp.bep22

Кроме работы ip-фильтра в клиенте, юзеры получили возможность создать специальный файл диапазонов приоритетных IP, к которым utorrent подключается в певую очередь. Тем самым, многим получилось значительно повысить скорость загрузки.

Просмотр «рейтингов» и «комментариев».

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

Достаточно лишь перетянуть любой файл или папку в окошко программы и utorrent создаст специальную ссылку на http страничку, с которой ваш знакомый не догадывающийся о существовании торрентов и p2p сможет скачать с вашего компьютера файлы даже если вы оба будете за NAT провайдера. К сожалению, судя по всему, скоро разработчики удалят эту настройку из программы, потому как в новых версиях utorrent она работает только под танцы с бубном. Но кто всё ещё хочет вернуть её работоспособность в свой utorrent 3.x измените следующие параметры в скрытых настройках программы.
Нажав и не отпуская SHIFT и F2 зайдите в Настройки—-Дополнительно. В самом низу списка найдите и измените значения в строках:
webui.raptor_host — raptor.utorrent.com
webui.raptor_port — 80
webui.raptor_secure — false
webui.talon_host — remote.utorrent.com
webui.talon_port — 80
webui.talon_secure — false
В настройке Удалённый доступ обязательно придумать и вписать имя и пароль, без них работать не будет!

Последующие версии до 3.3.2 включительно можно назвать работой над ошибками. И всё в итоге было бы хорошо со стабильностью программы в будущем… если бы не новые идеи и вместе с ними новый utorrent 3.4

Utorrent 3.4 — забытая революция ?
Думаете после неудач с DNA и raptor.utorrent.com разработчики закинули планы по интеграции торрента и веб в долгий ящик? Как бы не так! Всё начинается по новому кругу. На этот раз utorrent должен превратиться в файловый http сервер, но конечно же со своими p2p особенностями.

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

Из мелких заметных изменений в utorrent 3.4.2 для меня, наверное, будет работа с https веб-сидами (таки Dropbox по прежнему ещё раздаёт некоторые мои торренты на рутрекере) и неотключаемая реклама Pro версии.

Самое интересное скрыто от наших глаз, но если потянуть за «верёвочку», то можно найти и «пощупать» то, что для нас делается сейчас и может быть будет работать в следующих версиях программы.
Первая подсказка спрятана в настройке Playback

Дальше нашлась опция копирования ссылки файла
Copy Stream URL

Скопированная ссылка получилась такого вида
http://pairing:1B40250178C560733172CE3C811A4ACA831D6FB8@127.0.0.1:15906/proxy?sid=2&file=0&token=1B40250178C560733172CE3C811A4ACA831D6FB8&pairing=1B40250178C560733172CE3C811A4ACA831D6FB8&service=STREAMING">
Вставив эту ссылку в свой браузер — получите проигрывание файла встроенным плеером браузера, либо просто скачивание его в папку загрузок.
В этой ссылке есть несколько параметров связанных с настройками utorrent
webui.allow_pairing
webui.proxy_auth
webui.token_auth
Но так как половина параметров в ссылке не работает (всё что связано с хешами), можно укоротить её до http://127.0.0.1:15906/proxy?sid=2&file=0 Если это вставить в браузер, произойдёт то же самое что и с полной ссылкой. Работающие параметры ссылки:
sid= номер торрента (может быть любым, выдаётся utorrent при добавлении торрента).
file= номер файла ( вроде как постоянный, назначается по положению в колонке Путь)
15906 — выбранный порт в настройках utorrent

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

Передача файлов на прямую по httpДля этого у вас должен быть белый статический или динамический IP в интернете или хотя бы в локальной сети, а так же проброшен порт указанный в настройках utorrent. В скопированных ссылках 127.0.0.1 нужно заменить на ваш интернет или локальный IP.
http://44.0.5.15:15906/proxy?sid=2&file=0
В зависимости от того собираетесь ли вы передавать файлы всем или избранным, можете включить или отключить в настройках опцию webui.proxy_auth. Если будет включено, перед открытием страницы utorrent может попросить пройти авторизацию. По этому в начале не забудьте вписать имя и пароль в настройках Веб-интерфейса utorrent (гостевой логин не работает)
авторизация

Если webui.proxy_auth будет отключён, контент станет доступен всем без выскакивающего окошка авторизации.

Последовательная загрузка и просмотр медиа файлов торрента
Как вы уже вначале догадались, название самой опции «Copy Stream URL» и все скопированные ссылки с IP 127.0.0.1 сделаны только для воспроизведения загружаемого контента на этом же компьютере. Однако зачем разработчикам пришлось делать так сложно (со встроенным http сервером) не совсем понятно…
Интересен сам механизм работы клиента по таким ссылкам. К примеру, вы скачиваете торрент-файл с трекера и запустив его в utorrent ставите задание на остановку (не загружаете), затем копируте ссылку Copy Stream URL какого-нибудь файла из списка и вставляете эту ссылку в свой браузер. Как только браузер переходит по ссылке в utorrent запускается процесс последовательной загрузки частей только этого файла, с постепенной передачей его браузеру. Если в браузере остановить загрузку и/или вообще закрыть программу браузера, utorrent так же отреагирует остановкой задания.

база сайта или каталога в p2p сети
Новые возможности utorrent были замечены и The Pirate Bay www.piratebayuk.co.uk/setup.php Но как-то всё сложно у них там с юзабельнстью получается.
Step 2. Install and configure xampp
Download and Install xampp. (Visit the Xampp homepage here). Once Installed go to: Start->All Programs->Apache Friends->XAMPP->XAMPP Control Panel. Then complete the following operations:

К сожалению utorrent работает не совсем как веб-сервер, а скорее как файловый http сервер. Соответственно он может подгружать только файлы из p2p сети, затем браузер забирает из utorrent эти файлы и показывает их на своей странице. В добавок ко всему, загруженный торрент с файлами, на разных utorrent будет иметь различный sid=, но file= должны быть одинаковы так как названия и количество фалов в торренте у всех будет одинаковое.

Для того что-бы перенести сайт в торренты, необходимо сделать механизм глобальной правки sid= в ссылках в виде юзер-скрипта или расширения в браузере, который установит каждый юзер. А так же в торрент-файле необходимо будет поместить невероятно огромную кучу html страничек на каждую раздачу. Другое дело, если на компьютер пользователя будет установлена специальная программа для просмотра, умеющая работать по ссылкам utorrent. В настройках программы пользователь смог бы указать свой sid= торрента. Отображение онлайн раздач на трекере и в специальной программе может быть примерно одинаковым как по виду так и по содержимому. Общий вес загруженных пользователем файлов такого архива будет существенно меньше, чем если бы скачивался весь архив целиком. Юзер не должен и не будет качать/хранить на компьютере темы, которые ему не интересны. А вот раздавать сохранённые у себя части тем которые ему интересны он может.
Содержимое ахива сайта можно разбить на несколько торрент-файлов, а не пихать всё в один. Так в главном торрент-файле будет файл/файлы со всеми ссылками «карты сайта», остальные торрент-файлы будут относиться к определённой категории и хранить в себе как файлы с ссылками на файлы описания (скриншоты, текст, магнет-ссылки и пр.) так и к примеру файлы постеров и скриншотов (хотя, опять же их можно выделить в отдельный торрент-файл(ы), с возможностью указать дополнительные sid= ).
Ах мечты, мечты…

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

В utorrent 3.4 была добавлена возможность автоматического обновления задания в клиенте. Так скачав с трекера торрент-файл какого-нибудь сериала, в дальнейшем можно не следить за выходом новых серий и обновлением раздачи на форуме, а сразу получать обновлённый торрент и новые серии.
В процессе создания торрент-файла (специальной программой) или в Свойствах торрента задания utorrent прописывается http ссылка обновления торрент-файла.

После перезапуска клиента, возле задания появится синяя «точка», означающая что utorrent периодически опрашивает сайт на предмет загрузки нового торрент-файла.
В самом utorrent можно посмотреть ленту обновлений по каждому торренту (дата и файлы)

Разработчики utorrent опубликовали специальный мануал bittorrent.org/beps/bep_0039.html
Так же получилось раздобыть их экспериментальный торрент-файл, который внутри содержит соответсвующие записи в секции info.
внутренности

На момент когда я достал этот торрент-файл, по ссылке обновления загружалось
{ "message": "no update", "success": true }
В переписке с разработчиком utorrent получилось вытянуть только это
For the torrent to be updatable, it has to have either a «collections» key or «similar» key or both, and torrent downloaded by the update-url must be signed by the original torrent’s originator.

«collections» key or «similar» key is described in:
www.bittorrent.org/beps/bep_0038.html

update-url is described in:
www.bittorrent.org/beps/bep_0039.html

the signing is described in:
www.bittorrent.org/beps/bep_0035.html

thanks,

-Jeanette
Другие не исследованные настройки utorrent 3.4.х
Одной из интересных опций наверно будет vpn.dark_mode. Если её включить, клиент теряет обычную связь с трекерами и пирами. Что собственно и должно происходить для того, что бы «не палить» IP. Если логически развивать мысль дальше, работать это должно примерно как remote.utorrent.com, с той лишь разницей, что некий сервер должен быть одновременно прокси-сервером и ретрекером. То есть, при включении этой опции utorrent должен качать/раздавать только через этот сервер. При этом другие пиры должны так же, по идее, включить эту опцию.
Однако экспериментально заставить работать эту опцию у меня не получилось.

Загадочной и пугающей настройкой является distributed_share.enable и связанные с ней скрытые настройки (SHIFT+F2). Есть подозрение, что в Bittorrent делают некое подобие социальной сети с элементами p2p… http://habrahabr.ru/post/251625/

Улучшаем результаты поиска на мобильных устройствах

Привет, Хабр! Смартфон есть у каждого? Часто ищете на нём что-нибудь? Натыкались на ужасные мобильные версии сайтов? С этого дня всё должно измениться.

Поиск на мобильных устройствах отличается от десктопного: актуальные и свежие результаты пользователям нужны вне зависимости от того, где они расположены и насколько качественное подключение используется. Мобильное приложение? Замечательно. “Классический” сайт? Хорошо. Мобильная версия? Превосходно. Но что делать, если разработчик не позаботился о грамотной обработке переадрессаций с десктопной версии на мобильную? Пользователи из-за этого теряют время, иногда — ещё и деньги, нервы, билеты на самолёт и много чего ещё.

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

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

В результатах поиска будет больше сайтов, оптимизированных для мобильных устройств
С 21 апреля мы изменим ранжирование результатов: удобство страницы для мобильных устройств будет учитываться поисковой системой в качестве сигнала. Новый алгоритм затронет мобильный поиск на всех языках по всему миру и сильно изменит результаты поиска на мобильных устройствах. Пользователи будут чаще находить релевантные, высококачественные страницы, оптимизированные для просмотра с мобильников и планшетов.

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

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

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

На этом всё. Обновляйте приложения, внедряйте индексирование их контента, проверьте ваши сайты на предмет грамотной адаптации контента для мобильников, и да пребудет с вами сила Поиск Google.

Если у вас есть вопросы о сайтах для мобильных устройств или индексировании приложений — заходите на наш форум для веб-мастеров и в наше сообщество, там вам обязательно помогут! http://habrahabr.ru/post/250089/