iOS есть за что похвалить и есть за что поругать. В противном случае не появлялись бы всевозможные концепты быстрых настроек или правильных оповещений. Но по большому счету это все «рюшечки» и существуют более серьезные ограничения, которые сказываются как на положительном опыте эксплуатации iOS-устройств, так и на эффективности работы с ними. При этом, как бы парадоксально не звучало, существуют и вполне легальные способы данные ограничения нивелировать, вот только разработчики не спешат этим заниматься, а Apple как-то вообще наплевать, судя по отсутствию реакции со стороны компании. Речь идет о некоем аналоге системы сервисов OS X, реализованном в iOS. Более того, уже есть несколько приложений, полноценно их использующих. Вот о них, а также о потенциальных возможностях iOS и пойдет речь ниже.
Уверен, многие пользователи знают один из лучших RSS-клиентов для iPad — Mr. Reader. Если еще не знаете о нем, рекомендую пройти по ссылке выше и почитать обзор, программа действительно стоящая и конкурентов у нее мало. Так вот, еще в середине прошлого года Mr. Reader выгодно выделялся среди аналогов своей функциональностью в плане работы с дополнительными сервисами. Что я имею ввиду: так, прямо из программы можно было открыть статью в определенном браузере, а не только в Safari, или же перебросить часть текста в одно из установленных на планшете приложений, вроде Evernote.
Похожие возможности есть у некоторых встроенных приложений Apple, будь то Mail.app (можно открыть документ в определенном редакторе) или «Фото» (отправить изображение по почте, в твиттер и т. п.). Но, во-первых, собственное сервисное меню Apple очень ограничено, во-вторых, для компании не составляет труда добавить любые функции в свои приложения, у нее нет ограничений SDK. Как же столь широкой функциональности добился сторонний разработчик, и при этом его приложение не вылетело из App Store?
Дело в том, что используемые в Mr. Reader приемы вполне легальны. Более того, они были описаны известным программистом и дизайнером Крисом Кларком (Chris Clark) еще в 2010 году. Это система индивидуальных URL-схем, когда вызов определенного приложения и совершения с ним некоего действия описывается с помощью специальной ссылки. Именно такие ссылки и использовал разработчик Mr. Reader, внедрив их в код программы.
Количество приложений с поддержкой индивидуальных URL-схем постепенно росло, как и возможности по манипуляции с ними. В почтовый ящик создателя Mr. Reader Оливера Фюернисса (Oliver Fuerniss) посыпались просьбы включить те или иные возможности в клиент, но сделать это он банально не мог физически. Нельзя объять необъятное, и у Фюернисса нет возможности постоянно править код ради добавления пары-тройки программ или лишь определенных команд по взаимодействию с выделенным контентом. Он поступил проще — сделал так, что пользователь может сам добавлять любые URL-схемы в Mr. Reader. Более того, в приложении реализован простой инструмент написания таких схем.
Система работы в данном случае простая. Во-первых, в RSS-клиенте сохранились доступные ранее схемы и их легко добавить в сервисное меню или даже отредактировать самостоятельно. Во-вторых, можно добавлять собственные приложения или альтернативные веб-браузеры. Для этого есть небольшая форма с несколькими полями, где указывается название приложения (или то, как действие будет отображаться во всплывающем меню), протокол (чтобы Mr. Reader понимал, а какое конкретно приложение надо вызывать), сама URL-схема и ее доступность в меню перехода или выделения текста. Сами схемы и команды для определенных программ обычно описаны на сайте разработчиков и их несложно найти через любой поисковый сервис. Кроме того, в самом Mr. Reader, в нижней части экрана есть несколько кнопок, вставляющих основные команды, вроде [источник], [название статьи], [выбранный текст] и т. п.
На основе этих команд можно создать весьма интересные функции. Например, опцию автоматической публикации твита через Tweetbot, причем в нем будет указан выбранный текст и его источник, а после клика на «Опубликовать» система автоматически переключится обратно в Mr. Reader.
Источник: MacStories
Не менее легко организовать и поиск по выбранному слову в Articles (эта схема есть среди стандартных) и т. п. Вариантов использования такой системы автоматизации своей рутины и взаимодействия с другими приложениями бесконечно много.
К тому же система работы URL-схем функциональна даже для вызова отдельных окон сторонних приложений прямо внутри той или иной программы. В Mr. Reader таким образом реализован перевод текста, когда используется Google Translate и результат перевода появляется прямо внутри всплывающего окна. Также если кликнуть на ссылку в App Store, то не произойдет назойливого переключения в соответствующее приложение, а просто появится окно App Store внутри Mr. Reader с описанием выбранной программы. Раньше подобное я видел только в Mail.app (это появилось лишь в iOS 6).
Если вы думаете, что Оливер Фюернисс бог программирования и у него какие-то связи в Apple, мол, компания закрывает глаза на использование таких, вроде бы как недокументированных функций, то это не так. Есть как минимум еще один пример эффективного использования URL-схем в iOS сторонним разработчиком, причем делать он это начал пораньше Фюернисса. Приложение называется Launch Center Pro, оно доступно в App Store и позволяет значительно упростить многие многократно совершаемые в iOS действия, используя для этого описанную выше систему. Правда, «шаманить» самому вам не дадут, там предлагаются уже готовые схемы, но их очень и очень много.
То есть, возможность взаимодействия между приложениями в iOS есть и реализована она на весьма неплохом уровне, решает массу проблем, на которые жалуются пользователи и вообще — это какая-то сказка на фоне банальных мучений с открытием ссылок в альтернативном браузере, если не устраивает Safari. Почему же Apple не продвигает эту сказку в массы? Почему молчит и не агитирует разработчиков на эффективное использование URL-схем? Почему… в общем, еще много таких вот «почему» роится в голове, но ответа на них нет.
Могу лишь предположить, что в проекте по развитию iOS у компании есть некие планы по самостоятельному внедрению такого рода возможностей с их доступностью в SDK, но схема их реализации отличается от доступной сейчас. То есть, начни она продвигать URL-схемы (которые являются скорее костылем, чем полноценным решением) сейчас или раньше, то потом разработчикам придется многое переделывать, случись изменение концепции взаимодействия ПО внутри операционной системы.
Кому интересно поглубже изучить работу URL-схем, переходите по указанному в конце статьи источнику (и по ссылкам внутри него), там автор рассматривает практические аспекты работы с ними и не только, если походить по ссылкам внутри (требуются знания английского языка). Для меня же лично в Mr. Reader пока хватает того, что есть среди его стандартных схем. Буду надеяться, что Apple таки что-то сделает с сервисами и сервисным меню в этой самой лучшей на свете мобильной операционной системе. Хотя, самой лучшей ее все-таки делает сторонний софт. [MacStories]
9 комментариев
Форум →все равно это танцы с бубном. В iOS не хватает механизма с Intent-ами как на Android. Принцип очень простой. В специальном файле прописывается что-то вроде – мое приложение может делать это, это и это. Когда другое приложение хочет выполнить какое-то действие, то оно просто ищет среди всех приложений те, которые могут это сделать и мы можем выбрать из них нужное. Вот и все. Никаких кастомных URL схем, не надо руками в приложении добавлять новые аппы и т.д.
@teaseme, Согласен с вами и надеюсь, что нечто подобное Apple реализует в будущем. Но сейчас хоть что-то есть и то радость. Хотя эту радость разработчики как-то не спешат внедрять.
статьтя в стиле открите америки колумбом= ))) урл схемы существуют давным давно и юзаеются вполне активно
правда в основном между своими приложениями… или с фейсом или тви… и эппл ничего не замалчивает… это открытое документированное сдк
@EvGeniyLell, то, что об этом знаете вы, не значит, что знают все. Для меня, например, система URL-схем была новой, и хоть обзор Mr. Reader я делал больше полугода назад, но афишировать внимание на применении таких штук автор стал лишь сейчас. Тогда это было сделано внутри кода. Опять же, почему другие приложения не используют эти схемы столь же активно? Жду достойного ответа от Apple.
Launch Center Pro – штука весьма сомнительная.
Раньше в описании было написано, что с эта хрень запуакает приложения быстрее, чем… подразумевалось быстрее, чем iOS. Какая фантастика!)) Сейчас, насколько я понимаю, это не пишут, а делают упор на шорткаты. Хотя видео всё равно “мошенническое” у них – сравнивают запуск приложений с нуля с тем, как их прога из фонового режима их запускает. Особенно с Инстаграммом шикарно, когда он открылся с уже готовой фоткой))))
Особенно сейчас радуют приложения, которые используют, например, перевод выделенного слова через систему уведомлений – не супер (не всплывающее окошко с переводом), но вполне помогает. Эта возможность есть у программ-оболочек для словарей GuruDic, Dictionary Universal.
@Dexfir, будет действительно здорово, если apple добавит новые возможности по интеграции в OS, а не через url.
UC browser сегодня поставил. Тоже использует эти схемы. Присмотритесь, очень хороший проект.
На Surface приложения могут “общаться” друг с другом. Например можно с одного приложения (например Autodesk Express) можно браузить и открыть фото из альбома фейсбук и т.д. Сделали бы также, было бы классно.
Нашли орфографическую ошибку в новости?
Выделите ее мышью и нажмите Ctrl+Enter.Как быстро скачать фото из iCloud на чужом компьютере
Как отслеживать скидки в iTunes Store
Куда надежнее отдать на ремонт iPhone и Mac?
Как отключить выгрузку приложений c iPhone
Почему не приходят уведомления, когда iPhone заблокирован
Как в macOS Ventura посмотреть конфигурацию Mac. Ищем Отчет о системе
Как спрятать приложение Почта на iPhone
Как в Safari изменить учетную запись Google по умолчанию