воскресенье, 14 октября 2012 г.

G.E.C.K: Способы взаимодействия приложений


Изначально, единственным доступным пользователю способом передачи данных между приложениями была файловая система. Одни программы сохраняли информацию в файлы, другие могли ей воспользоваться для дальнейших операций. Этому паттерну уже более 30 лет, вся IT индустрия успела преобразиться до неузнаваемости, но мы до сих пор продолжаем его использовать. Есть ли альтернативы? Безусловно! О них и пойдет разговор.
Пожалуй, первым успешным отступником от идеологии главенства файловой системы стал Стив Джобс. Взгляните на это видео:
iOS стала идеальной реализаций ОС с отсутствием доступа к файловой системе со стороны пользователя. С появлением многозадачности добавилась возможность обмениваться файлами между приложениями - согласитесь, обмениваться без посредников (файловых менеджеров) гораздо удобнее! Стало возможным напрямую указать, в каком приложении следует продолжить дальнейшую работу с файлом.
Похожая модель взаимодействия есть и в MacOS. Большинство приложений позволяют перетаскивать файлы при помощи иконок в заголовках окон. Аналогичные действия можно производить при помощи spootlite.
Еще один хороший пример реализации межпрограммного взаимодействия можно найти в приложении Skitch. В нем присутствует специальный ярлычок, при помощи которого текущее изображение можно перетащить в любое приложение:
Хороший способ взаимодействия через горизонтальное контекстное меню был заимствован у iOS. Его идею озвучил очень давно “Винни Пух” (отечественный вариант) - “Это ж-ж-ж не спроста”. Если вы выделяете текст, то наверняка вы что-то хотите с ним сделать. Поэтому, сразу после выделения вам предлагается горизонтальное меню со списком операций (“Cut”, “Copy”, “Paste”, “Suggest...”). Эту идею успешно перенесли на MacOS создатели приложения PopClip и Evernote.Click. Правда последнее получилось как в анекдоте “На хлеб намазывать можно, но есть пока нельзя...”, поэтому в качестве демонстрации я воспользуюсь PopClip:

Как мы видим, альтернатив файловым менеджерам и непосредственной работе с файловой системой хватает. Поэтому, если вы разработчик интерфейсов приложений, подумайте, возможно стоит избавить пользователей от лишних телодвижений?

Комментариев нет:

Отправить комментарий