Плагины браузера
Среди разработчиков приложений очень популярны всевозможные магазины приложений для телефонов, такие как Google Play или Apple App Store. Благодаря стандартным инструментам, предоставляемым Google и Apple, создание приложения доставляет удовольствие, а создатель, публикуя приложение на торговой площадке, получает доступ к широкой аудитории. Конечно, популярность этих платформ означает, что конкуренция среди разработчиков очень высока и довольно сложно прорваться с продуктом, а тот факт, что это совершенно новая экосистема (для backend, frontend, desktop разработчиков) означает, что входной барьер для разработчика высок и требует значительной специализации.
Существует также другая группа магазинов приложений — магазины расширений для браузеров, обычно известные как плагины. На первый взгляд они могут показаться менее привлекательными, чем мобильные платформы. В конце концов, телефон сопровождает нас все время, и мы используем рабочий стол только часть дня (плагины браузеров обычно не работают в своих версиях для смартфонов). Однако стоит отметить, что в современном офисе большая часть продуктивного времени обычно проводится в веб-браузере. Особенно, если мы работаем в экосистеме браузера, такой как Gmail или Office 360.
Поскольку рабочий стол в основном используется для офисной работы, создавая полезные инструменты для настольных платформ, у нас есть наибольший потенциал для повышения производительности офисных работников, и в то же время у нас есть потенциальный спонсор, готовый платить за такое повышение производительности — работодатель офисного работника.
Создание подключаемых модулей для браузера также имеет то преимущество, что оно характеризуется низким входным барьером для веб-разработчиков — они обычно создаются в Javascript с использованием специальных API. Нет трудностей с освоением нового языка, среды, архитектуры или платформы, как в случае с мобильными приложениями. Учитывая вышесказанное, а также гораздо меньшее количество разработчиков приложений для этих платформ, они кажутся хорошей нишей для создания платных приложений, поддерживающих продуктивность бизнеса.
Преимущества платформ плагинов для браузеров:
• Меньше конкуренции, чем на мобильных платформах
• Ориентация на бизнес-клиента, который большую часть времени проводит за компьютером
• Создано на JavaScript - низкий входной барьер для WEB-разработчиков
Платформа Chrome
В последние годы самым популярным веб-браузером для настольных ПК является Chrome, на долю которого приходится около 68% рынка. Остальной рынок разбит на несколько браузеров с однозначным процентом от общего числа пользователей. Неудивительно, что чаще всего разработчики создают плагины для этой платформы, и мы разберемся с описанием этой платформы позже в статье.
Возможности, предлагаемые платформой Chrome:
Прежде всего, создав код, который изначально должен работать только в Chrome, мы можем отказаться от любых забот о совместимости и взаимодействии. Мы можем уверенно использовать EcmaScript 6 и все экспериментальные API из HTML5 и других, которые были реализованы только в Chrome и отсутствуют в других браузерах.
Конечно, помимо обычных возможностей EC6 и HTML5, среда плагина также позволяет нам взаимодействовать с пользователем (чаще всего, нажимая кнопку на панели навигации), а также предоставляет плагину доступ к слою DOM страниц, просматриваемых пользователем.
Благодаря этому активный плагин может анализировать то, что пользователь видит на экране, а также мешать этому контенту. Это, казалось бы, тривиальное свойство на самом деле дает широкий спектр возможностей, поскольку мы можем использовать его для расширения функциональности интерфейсов веб-сайтов, используемых нашими пользователями.
Помимо доступа к источнику просматриваемых страниц, Chrome предоставляет разработчику специальные расширения API, позволяющие вмешиваться в работу браузера. Например, правильно построив расширение, мы можем получить представление о запросах, отправляемых веб-сайтом на сервер, и даже изменять эти запросы на лету.
До недавнего времени Chrome даже предоставлял API для доступа к голым сетевым сокетам (socket API), что позволяло даже реализовать HTTP-сервер в плагине. В настоящее время этот тип подключаемого модуля (который в экосистеме Chrome называется «Упакованное приложение») устарел и постепенно прекращается, и неясно, что произойдет с этим API - будет ли он доступен для обычных расширений или будет запрещен.
Выбор ниши и автоматизация повторяющихся действий
Типичное применение расширений Chrome - расширение функциональных возможностей существующих веб-приложений и веб-сайтов, а также автоматизация повторяющихся действий. При выборе целевой группы стоит учесть, какие повседневные действия, выполняемые в браузере, повторяются и отнимают у пользователя много времени. В идеале, если нам удастся найти группу получателей, время которых конвертируется в деньги по высоким ставкам (они много зарабатывают и много работают), и эта группа будет достаточно широкой, чтобы обеспечить адекватную тягу.
Субъективный контрольный список выбора целевой группы:
1. Мы ищем профессиональную группу, то есть людей, время которых конвертируется в деньги — создание приложений для студентов может быть выгодным, но гораздо проще убедить в приобретении профессионалов
2. В идеале наша целевая группа должна быть узкоспециализированной, но в то же время достаточно многочисленной.
3. В идеале, если наша целевая группа выполняет повторяющиеся действия на некоторых порталах, и в идеале, если эти порталы устарели и неудобны в использовании, или у нас есть идея, как легко обогатить или расширить их функции с помощью технологий.
Выбор целевой группы клиентов вышеуказанным способом гарантирует, что если нам удастся улучшить для них громоздкий процесс, выполняемый в браузере, они будут готовы заплатить за такое улучшение.
Как начать?
Как упоминалось ранее, барьер для входа в программирование расширений Chrome невелик для веб-разработчиков поэтому если вы уже знаете JavaScript и HTML, вы можете использовать учебные пособия, созданные Google, и начать свой первый проект на их основе. Для этого не нужны ни SDK, ни специальные редакторы — все, что вам нужно, это обычный редактор кода и стандартная установка Google Chrome. Также рекомендую использовать готовую структуру папок и файлов - т.н. шаблон. Я не рекомендую использовать слишком сложные JS-фреймворки при запуске проекта надстройки. Иногда они несовместимы с архитектурой расширений Chrome, иногда довольно неочевидным образом.
Если вы еще не являетесь веб-разработчиком, не рекомендуется изучать JavaScript с нуля при написании расширения. Несмотря на простоту, это довольно специфическая среда, которая может усложнить процесс отладки кода.
Web