Закрыть объявление

Множество фишек выпало при вырубке леса сложности для оригинального iPhone. Во имя упрощения и удобства использования революционного телефона Apple сократила некоторые аспекты операционной системы до абсолютного минимума. Одна из идей заключалась в том, чтобы избавиться от классического управления файлами.

Ни для кого не секрет, что Стив Джобс ненавидел файловую систему в том виде, в котором мы ее знаем по настольным компьютерам, он считал ее сложной и трудной для понимания обычным пользователем. Файлы, спрятанные в куче подпапок, необходимость обслуживания во избежание хаоса, все это не должно было отравить работоспособную систему iPhone OS, а единственное управление, которое требовалось на исходном iPhone, было через iTunes для синхронизации мультимедийных файлов или системы. имел единую библиотеку фотографий, из которой можно было загружать изображения или сохранять их в ней.

Путешествие через боль пользователя

С появлением сторонних приложений стало ясно, что модель «песочницы», обеспечивающая безопасность системы и файлов внутри нее, где доступ к файлам возможен только со стороны приложений, в которых они хранятся, недостаточна. Таким образом мы получили несколько вариантов работы с файлами. Мы могли доставлять их из приложений на компьютер через iTunes, меню «Открыть в…» позволяло скопировать файл в другое приложение, поддерживающее его формат, а «Документы в iCloud» позволяли синхронизировать файлы из одного и того же приложения. приложения на платформах Apple, хотя и довольно непрозрачным образом.

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

Благодаря внедрению Dropbox и других сервисов пользователи получили возможность получать доступ к одним и тем же файлам из любого приложения, редактировать их и сохранять изменения, не делая копий. Это решение значительно облегчило управление файлами, но оно было далеко от идеала. Внедрение файловых хранилищ означало большую работу для разработчиков, которым нужно было выяснить, как приложение будет обрабатывать синхронизацию и предотвращать повреждение файлов, плюс никогда не было гарантии, что ваше приложение будет поддерживать используемое вами хранилище. Работа с файлами в облаке имела еще одно ограничение: устройство должно было постоянно быть онлайн, а файлы нельзя было хранить только локально.

Семь лет с момента выхода первой версии iPhone OS, сегодня iOS, и, наконец, Apple предложила окончательное решение, в котором она отходит от первоначальной идеи управления файлами на основе приложения, предлагая вместо этого классическую файловую структуру, хотя и умно. обработанный. Поприветствуйте iCloud Drive и средство выбора документов.

ICloud Drive

iCloud Drive — не первое облачное хранилище Apple, его предшественником является iDisk, входивший в состав MobileMe. После ребрендинга сервиса на iCloud его философия частично изменилась. Вместо конкурента Dropbox или SkyDrive (теперь OneDrive) iCloud должен был стать пакетом услуг специально для синхронизации, а не отдельным хранилищем. Apple сопротивлялась этой философии до тех пор, пока в этом году она наконец не представила iCloud Drive.

Сам iCloud Drive мало чем отличается от Dropbox и других подобных сервисов. На рабочем столе (Mac и Windows) он представляет собой специальную папку, которая постоянно обновляется и синхронизируется с облачной версией. Как стало известно в третьей бета-версии iOS 8, у iCloud Drive также будет собственный веб-интерфейс, вероятно, на iCloud.com. Однако у него нет выделенного клиента на мобильных устройствах, вместо этого он интегрируется в приложения внутри компонента. Средство выбора документов.

Магия iCloud Drive заключается не только в синхронизации добавленных вручную файлов, но и в включении всех файлов, которые приложение синхронизирует с iCloud. У каждого приложения есть своя папка в iCloud Drive, помеченная значком для лучшей ориентации, и отдельные файлы в ней. Документы Pages можно найти в облаке в соответствующей папке, то же самое касается и сторонних приложений. Аналогично, приложения Mac, которые синхронизируются с iCloud, но не имеют аналога в iOS (Preview, TextEdit), имеют собственную папку в iCloud Drive, и любое приложение может получить к ним доступ.

Пока неясно, будут ли у iCloud Drive дополнительные функции, такие как Dropbox, такие как обмен ссылками на файлы или многопользовательские общие папки, но мы, вероятно, узнаем об этом осенью.

Средство выбора документов

Компонент Document Picker — неотъемлемая часть работы с файлами в iOS 8. С его помощью Apple интегрирует iCloud Drive в любое приложение и позволяет открывать файлы за пределами собственной «песочницы».

Средство выбора документов работает аналогично средству выбора изображений. Это окно, в котором пользователь может выбирать отдельные файлы для открытия или импорта. Практически это очень упрощенный файловый менеджер с классической древовидной структурой. Корневой каталог будет таким же, как и основная папка iCloud Drive, с той разницей, что здесь также будут локальные папки с данными приложения.

Файлы сторонних приложений не обязательно должны быть синхронизированы с iCloud Drive, Document Picker может получить к ним доступ локально. Однако доступность данных распространяется не на все приложения, разработчик должен явно разрешить доступ и пометить папку «Документы» в приложении как общедоступную. Если они это сделают, пользовательские файлы приложения будут доступны всем другим приложениям, использующим средство выбора документов, без необходимости подключения к Интернету для iCloud Drive.

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

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

Действие перемещения файла может затем просто переместить элемент из одной папки приложения в другую. Поэтому, если вы хотите использовать одно приложение для управления всеми файлами, хранящимися локально на вашем устройстве, File Mover позволит вам это сделать.

Для каждого приложения разработчик указывает, с какими типами файлов оно может работать. Средство выбора документов также адаптируется к этому и вместо отображения всех файлов во всем iCloud Drive и локальных папках приложения показывает только те типы, которые приложение может открыть, что значительно упрощает поиск. Кроме того, Document Picker обеспечивает предварительный просмотр файлов, отображение списка и матрицы, а также поле поиска.

Стороннее облачное хранилище

В iOS 8 iCloud Drive и Document Picker не являются эксклюзивными, наоборот, сторонние поставщики облачных хранилищ смогут подключаться к системе аналогичным способом. Средство выбора документов будет иметь кнопку переключения в верхней части окна, с помощью которой пользователи смогут выбрать просмотр iCloud Drive или другого доступного хранилища.

Сторонняя интеграция требует работы только от этих поставщиков и будет работать аналогично другим расширениям приложений в системе. В некотором смысле, интеграция означает поддержку специального расширения в iOS 8, которое добавляет облачное хранилище в список в меню хранилища средства выбора документов. Единственным условием является наличие установленного приложения для данного сервиса, которое интегрируется в систему или Document Picker через его расширение.

До сих пор, если разработчики хотели интегрировать какое-то облачное хранилище, им приходилось добавлять хранилище самостоятельно через доступные API сервиса, но ответственность за правильное обращение с файлами, чтобы не повредить файлы и не потерять данные, ложилась на их головы. . Для разработчиков правильная реализация может означать долгие недели или месяцы разработки. Благодаря Document Picker эта работа теперь передается непосредственно поставщику облачного хранилища, поэтому разработчикам остается только интегрировать Document Picker.

Это не совсем применимо, если они хотят глубже интегрировать репозиторий в приложение со своим собственным пользовательским интерфейсом, как это делают, например, редакторы Markdown. Однако для большинства других разработчиков это означает значительное упрощение разработки, и они могут практически интегрировать любое облачное хранилище за один раз без каких-либо дополнительных усилий.

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

Благодаря iOS 8 все облачные хранилища, которые пользователь устанавливает на свое устройство, могут быть интегрированы в систему, будь то крупные игроки или менее известные сервисы. Если вы выбрали Dropbox, Google Drive, OneDrive, Box или SugarSync, ничто не мешает вам использовать их для управления файлами, если эти поставщики соответствующим образом обновляют свои приложения.

Вывод

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

Хотя iOS 8 дает системе огромную свободу благодаря всему вышеперечисленному, все же существуют некоторые заметные ограничения, с которыми придется иметь дело разработчикам и пользователям. Например, у iCloud Drive нет собственного приложения как такового, оно существует только в средстве выбора документов на iOS, что немного затрудняет отдельное управление файлами на iPhone и iPad. Точно так же средство выбора документов нельзя, например, вызвать из приложения «Почта» и любого файла, прикрепленного к сообщению.

Для разработчиков iCloud Drive означает, что им придется сразу переключаться с «Документов в iCloud» для своих приложений, поскольку службы несовместимы друг с другом, и пользователи, таким образом, потеряют возможность синхронизации. Но все это лишь небольшая цена за те возможности, которые Apple предоставила пользователям и разработчикам. Преимущества iCloud Drive и Document Picker, вероятно, не проявятся сразу после официального выпуска iOS 8, но это большие перспективы на ближайшее будущее. Тот, кого мы звали много лет.

Ресурсы: MacStories, iMore
.