Во время WWDC 2014 стало известно, что Apple готова привнести глубокие изменения в одну из самых неоднозначных сторон iOS — в управление документами и хранение файлов приложений. Новые фичи и API были детально освящены во время презентации и последующих многочисленных докладов WWDC. Теперь приложения смогут получить доступ к документам, находящимся в других приложениях, не создавая ненужные дополнительные копии.

Традиционно, Apple рассматривала iOS-приложения как отдельные «острова» с чрезвычайно небольшим количеством взаимосвязей. Модель взаимодействия «sandbox», она же песочница, обязывала хранить файлы приложения (например, страницы в текстовом редакторе) в отдельном месте . А это значит, чтобы перенести документ из одного приложения в другое, его нужно было скопировать, а затем перенести в новое приложение вручную.

1402542275-2014-06-12-at-04-55-23-

Песочница представляет собой набор элементов управления, которые ограничивают доступ приложения к файлам, сетевым ресурсам, железу и тд. Cистема устанавливает каждое новое приложение в свою собственную песочницу, где в последующем и хранятся все его файлы. Например, вы хотите написать тестовый документ в Pages, добавить в него обработанные снимки из фоторедактора, плюс ко всему, проверить синтаксис написанного текста. Для этого вам придется поочередно открывать все три приложения и постепенно сохранять изменения в оригинальном документе. Пытаяcь сделать то же самое в iOS, вы, ко всему прочему, получите три ненужных копии одного документа, которые будут занимать лишнее пространство на устройстве.

1402573900-ios_app_layout_2x

Нужно понимать, что песочница была использована Apple из соображений безопасности, чтобы избежать возможности потери или утечки важной информации. Конечно, хранение файлов в папках и подпапках — это пережиток эры PC, но у системы песочницы с силосами (прим. силос — склад для хранения различных материалов, за счет его вертикального расположения достигается значительная экономия площади, несмотря на внушительные объемы сберегаемого сырья, большим преимуществом силоса является обеспечение повышенного уровня защищенности хранимого сырья от воздействия внешних факторов окружающей среды) тоже есть свои недостатки: отсутствие взаимосвязей между ними, за счет чего, помимо ненужных копий, сложно найти «правильную» версию файла.

1402542481-Screen Shot 2014-06-12 at 05.02.18 AM

Поэтому разработчики сами начали искать выход из сложившейся ситуации, не ожидая появления новых решений от Apple. Они разработали iOS SDK для сторонних облачных сервисов, позволяющий синхронизировать и объединять изменения одного документа одновременно на нескольких устройствах. Самым мощным из таких сервисов под iOS, на сегодняшний день, является Dropbox. Сейчас существуют тысячи приложений, взаимодействующих с Dropbox, поскольку он позволяет работать с одной копией файла на разных устройствах.

С помощью новой iOS 8 Apple решила внести изменения в iCloud, представив iCloud Drive, а также разрешить сторонним приложениям обмениваться информацией между друг другом, не создавая ненужные дубликаты.

iCloud Drive

Самым заметным нововведением для пользователей стал iCloud Drive — хранилище для всех документов пользователя. Он будет доступен в специально отведенной папке в OS X и встроен в хранилище документов в iOS 8.

1402542484-share_hero

iCloud Drive будет отображать всю библиотеку файлов из всех iCloud-приложений, обозначая каждую папку определенным значком. На всех устройствах появится возможность просматривать документы, созданные в OS X или в iOS. Обладатели настольных компьютеров также смогут реорганизовать свой iCloud Drive, например, перетаскивая в него документы из Finder. Каждый пользователь сможет «свободно работать с документами» тем способом, «который ему нравится».

Хранилище документов

Появление iCloud Drive — это лишь одна сторона управления документами в iOS 8. У разработчиков появились новые API для хранения, открытия и работы с документами без создания дубликатов.

Новое хранилище документов позволит пользователям выбирать файлы вне определенного приложения. При этом разработчики смогут на свое усмотрение выбирать, стоит ли им давать доступ к документам для других приложений. Выбирать файлы за пределами песочницы пользователю поможет только хранилище, которое он сможет контролировать, предоставляя или отказывая ему в доступе к редактированию документов.

1402580207-Screen Shot 2014-06-12 at 03.32.34 PM

У хранилища документов будет доступно несколько типов файловых операций: Открыть, Переместить, Импортировать и Экспортировать. Согласно Apple, «Открыть» и «Переместить» будут сильно отличаться от традиционной обработки документов в iOS, так как эти операции будут предоставлять доступ к файлам других приложений. А вот «Импортировать» и «Экспортировать» будут вести себя как в старой iOS. Появятся копии файлов внутри или вне приложения, но они не будут закреплены за какой-то конкретной программой. В приложения, которые не поддерживают iCloud, тоже можно будет импортировать документы из других приложений.

Во время многочисленных докладов WWDC неоднократно подчеркивалось, что наличие iCloud Drive и возможности взаимодействия приложений сделает пользователя по-настоящему «счастливым». Но здесь важно отметить, что, несмотря на эти изменения, Apple не отказывается от системы песочницы и не будет предоставлять несанкционированный доступ к файлам приложения. Просто купертиновцы сделали свою систему немного более гибкой.

Поставщики облачных услуг

В iOS 8 у разработчиков появилась возможность добавлять определенные расширения в хранилище документов. Таким образом, сторонние приложения в iOS-интерфейсе получат доступ не только к iCloud Drive, но и к другим облачным хранилищам. В качестве примера, во время презентации WWDC, были представлены расширения для Box и OneDrive.

1402542457-Screen Shot 2014-06-12 at 04.47.52 AM

Сейчас, используя SDK таких хранилищ, как Google Drive или Dropbox, разработчикам приходится тратить значительное количество времени на синхронизацию и понимания принципа работы различных сервисов. С появлением новых расширений, можно будет легко загружать файлы из других облачных хранилищ, не вдаваясь в детали их работы.

Лучший пользовательский опыт с новыми сложностями

Новое взаимодействие приложений повлечет за собой значительные изменения в системе. Поэтому Apple советует разработчикам тщательно изучить сложности, с которыми они могут столкнуться при совместном использовании документов и расширений. Новые возможности могут вызвать некоторую путаницу и потребует от разработчиков дополнительных усилий, чтобы наладить новые крепкие связи между приложениями, понятными пользователю.

Новый тип управления документами, определенно, является шагом вперед, и со временем, новые технологии позволят безопасно, легко и просто обмениваться информацией между приложениям без потери данных, что поставит конец старой системе обмена данными.

via MacStories