Нашел уникально полезный виджет для iOS 14. Всем советую
Одной из интересных фишек iOS 14 стала возможность добавлять виджеты на рабочий стол iPhone.
Все лето мы ждали годные информационные карточки для разных приложений и сервисов, но после релиза мобильной ОС магазин заполонили бестолковые и бесполезные виджеты.
Начало казаться, что данная фишка вообще никогда не станет полезной и пользоваться ей будут только школьники для кастомизации своего гаджета. Все изменилось после появления одного приложения в App Store и большого количества энтузиастов, которые сильно расширили его возможности.
В чем проблема современных виджетов
Я уже рассказывал обо всех проблемах виджетов в iOS 14. Кратко напомню, почему большая часть информационных карточек не приносит никакой пользы.
Во-первых, виджеты не являются интерактивными. Они не позволяют сделать определенное действие с приложением, а лишь перенаправляют в него. Было бы здорово, например, удалять ненужную почту, ставить отметку о прочтении сообщения или банально переключаться между дневным и недельным прогнозами погоды. Однако, для всего этого приходится запускать приложение.
Во-вторых, в виджетах нет никакой смарт-составляющей. Стопки переключаются по незамысловатому алгоритму, а сами информационные карточки просто не умеют меняться в зависимости от времени суток или сценария эксплуатации. Хотя проблему попытались решить разработчики программы Widgetsmith, но остановились и не дожали перспективную идею с изменением виджета по времени.
В-третьих, в виджетах практически нет ручных настроек, пользователь должен довольствоваться тем, что предлагает разработчик. Если это бестолковая панель на половину экрана с возможностью перейдите в приложение, то больше ничего от такого виджета не получишь.
Дело здесь далеко не в ограничениях Apple, а в нежелании разработчиков сделать хоть что-то более-менее полезное. В большинстве случаев виджеты являются увеличенными ярлыками для запуска программы с парой выводимых показателей из приложения вроде количество писем, дел или заметок (и то не всегда).
Какой виджет реально полезный
Как это часто бывает в подобных ситуациях, если разработчики не могут дать пользователям что-то полезное, энтузиасты создадут это сами. Нечто подобное мы видели с появлением быстрых команд в iOS.
Тогда купертиновцы просто перекупили прогрессивную разработку для автоматизации и глубже вписали ее в мобильную ОС. Полезные скрипты, хаки и фишки добавили уже сторонние разработчики.
Подобием приложения Быстрые команды может стать новая утилита Scriptable.
Она тоже является платформой для написания и запуска сторонних скриптов, но направлена в основном на разработку полезных виджетов.
Такой подход гораздо удобней, чем виджет определенной программы, ведь приложение не ограниченно набором возможностей и позволяет выводить практически любую нужную пользователю информацию в удобном для него виде.
Что умеет Scriptable
Программа позволяет разрабатывать, настраивать и запускать сценарии, написанные на языке JavaScript. Скрипты могут интегрироваться с функциями iOS, взаимодействовать со стандартными приложениями или получать данные по запросам из сети.
Так можно получать что-то из стандартного файлового менеджера, почтовика, календаря, заметок, напоминаний и при этом обращаться за любой недостающей информацией в сеть.
Scriptable поддерживает ярлыки Siri, что позволяет настраивать автоматизацию любой сложности и активировать определенные фишки при помощи голосового ассистента.
Пользователи, которые хоть немного разбираются в написании кода, могут самостоятельно написать виджет под свои нужды. Достаточно объявить несколько переменных, присвоить им какие-либо значения, а потом использовать в сложных функциях и вычислениях.
Возможности приложение действительно безграничны, разработчики предлагают обширную документацию, а в сети уже образовываются сообщества энтузиастов, которые делятся своим кодом.
Сразу предупреждаю, что все это на данный момент работает в реально гиковском режиме. Готовых решений из коробки пока нет. Пользователи выкладывают код на GitHub, который нужно подстраивать под себя, модифицировать, собирать нужный виджет из кусочков кода.
Скорее всего, со временем появится большое количество гибко настраиваемых модулей, виджетов с большим количеством возможностей и функциональных расширений. Потенциал у данного приложения гораздо больше, чем у быстрых команд iOS.
Какие возможности дают виджеты на JavaScript
Покопавшись немного на просторах reddit, нашел несколько полезных и интересных виджетов для Scriptable.
1. Виджет, который показывает количество посетителей на вашем сайте. При желании можно прикрутить любую необходимую статистику.
2. Информационная панель с количеством новых случаев заболевания COVD-19 в вашем регионе.
3. Виджет с необходимой статистикой и меняющимися обоями. Его можно использовать как информер или в качестве живого слайд-шоу на домашнем экране.
4. Виджет с местом парковки автомобиля для тех, кто постоянно забывает, где оставил свой транспорт.
5. Виджет для отображения остатка сетевого трафика. Разумеется, оператор должен поддерживать вывод статистики по определенному сетевому запросу.
6. Виджет с круговой диаграммой, которая может отображать все, что угодно. Изначально круги показывают заряд батареи, дату и погоду.
7. Универсальный информер с кучей выводимых показателей. Может отображать погоду, заряд батареи, дату, текущее местоположение, данные из умного дома, количество подписчиков в социальных сетях и любую другу информацию.
8. Такой виджет может отслеживать статус нужных серверов, сайтов или облачных хранилищ.
9. Виджет для отслеживания информации о вашем домашнем медиасервере на базе Plex.
10. Виджет для отображения статистики профиля на GitHub.
Это самые простые примеры, которые появились в сообществе энтузиастов за пару месяцев существования приложения. Разумеется, можно все настроить под себя, заменив несколько значений в коде, а при желании получится даже «склеить» несколько виджетов в один.
Как настраивать виджеты в Scriptable
Сейчас на примере одного из информеров покажу, как использовать уже готовые наработки и вносить в них необходимые изменения. Настроим под себя спортивный виджет для отображения ближайших матчей любимой команды.
1. Устанавливаем программу Scriptable из App Store. Приложение бесплатное, а при помощи встроенной покупки можно отблагодарить разработчика.
2. Находим в сети подходящий скрипт или пишем код на JavaScript самостоятельно. Мы будем использовать вот этот.
3. Выделяем и копируем код на странице проекта.
4. Создаем новый скрипт в приложении Scriptable и вставляем в него содержимое буфера обмена.
5. Переходим на сайт thesportsdb.com и в поиске находим любимую футбольную команду.
6. Открываем страницу клуба и видим его ID в адресной строке браузера.
7. Вписываем этот ID в самом начале скрипта в строке «const teamId = хххххх».
8. Сохраняем скрипт и добавляем новый виджет Scriptable на рабочем столе iOS 14.
9. В настройках виджета выбираем наш скрипт и настраиваем его запуск при нажатии на информационную панель.
Так можно получить практически любую полезную информацию на рабочем столе вашего смартфона, а не те нелепые картинки, которые предлагают разработчики большинства программ из App Store.
Буду активно следить за новыми скриптами для данного приложения и знакомить вас с самыми годными вариантами.