Я делаю браузерные расширения под конкретную задачу и довожу их до состояния, когда дополнение уже лежит в магазине и ставится в один клик. Основа почти любого проекта — скрипты, встраиваемые в страницу и меняющие поведение сайта прямо на месте, фоновая логика, работающая даже при закрытом окне расширения, и понятный попап, из которого запускаются все действия. Настройки и данные складываю в локальное и синхронизируемое хранилище, чтобы ничего не терялось после перезапуска и подхватывалось на других устройствах.
Чаще всего расширению нужно общаться с внешними сервисами, и эту часть я закрываю целиком: подключаю REST- и GraphQL-эндпоинты, делаю авторизацию через OAuth с обновлением токенов, обхожу ограничения по частоте запросов и кэширую ответы ради отзывчивости интерфейса. Когда задача про автоматизацию, расширение само отслеживает изменения на страницах, заполняет формы и по расписанию складывает данные туда, где они вам нужны.
Отдельно занимаюсь тем, что тормозит выпуск: перевожу код на Manifest V3, запрашиваю только нужные разрешения и веду модерацию до одобрения, поэтому вы получаете прозрачный код и рабочее расширение с поддержкой обновлений.
Чаще всего расширению нужно общаться с внешними сервисами, и эту часть я закрываю целиком: подключаю REST- и GraphQL-эндпоинты, делаю авторизацию через OAuth с обновлением токенов, обхожу ограничения по частоте запросов и кэширую ответы ради отзывчивости интерфейса. Когда задача про автоматизацию, расширение само отслеживает изменения на страницах, заполняет формы и по расписанию складывает данные туда, где они вам нужны.
Отдельно занимаюсь тем, что тормозит выпуск: перевожу код на Manifest V3, запрашиваю только нужные разрешения и веду модерацию до одобрения, поэтому вы получаете прозрачный код и рабочее расширение с поддержкой обновлений.