Постигая сущность библиотек
Это вторая статья в цикле, посвященном библиотекам Windows 7. Сегодняшняя статья расскажет об основах библиотек и о преимуществах, которые они дают разработчикам.
Что дают библиотеки в Windows 7 пользователям?
Чтобы лучше понять концепцию библиотек в Windows 7, необходимо заглянуть в историю – что было до Windows 7. Ранние версии Windows, такие как Windows Vista и XP, имели комплекты специальных папок, в которых пользователи хранили свою информацию, например, «Мои документы» или «Мои рисунки». В Windows Vista эти специальные папки автоматически индексировались, чтобы сделать поиск внутри них максимально эффективным для конечного пользователя. Несмотря на очевидные удобства такого подхода, многие, и я в том числе, разбрасывают свои файлы по всему компьютеру в различных местах, например, c:\temp, d:\Birthday2008\pictures, а то и вообще помещают их на удалённый носитель. Это затрудняет индексирование и вообще отрицательно сказывается на результатах поисковых запросов, частенько устраивая пользователю настоящие приключения с розыском нужных данных.
Windows 7 с помощью библиотек помогает решить проблемы с неупорядоченными данными, предоставляя пользователю полный контроль над структурой папок. Это означает, что в Windows 7 можно заранее определить, какие папки вносить в структуру библиотек документов. Это относится к любой библиотеке. Таким образом, можно утверждать, что библиотеки – это набор папок, определённых пользователем. Включая папки в библиотеки, пользователи сообщают системе, где расположены важные данные. Система индексирует указанные папки, делая возможным быстрый поиск и упорядочивание на основе свойств файлов.
Пользователи Windows 7 применяют библиотеки для управления своими документами, музыкой, изображениями и другим контентом. Как видно в Windows Explorer и общем файловом диалоге, библиотеки – неотъемлемая часть оболочки Windows. Эта интеграция очень важна, поскольку обеспечивает возможность просмотра и организации файлов совершенно так же, как и в самой обыкновенной папке, что не требует переучивания. Щелкнув по библиотеке, пользователь получает доступ к своим документам. Больше того, благодаря интеграции в оболочку, можно осуществлять поиск, фильтруя результаты по дате, типу или автору, как в Windows Explorer, так и в общем файловом диалоге. Другими словами, пользуясь библиотеками, пользователи получают в своё распоряжение гибкое индексируемое хранилище. Рисунок ниже демонстрирует интеграцию нескольких папок в единую библиотеку, богатые возможности поиска и основные элементы Windows Explorer в Windows 7.
Что же такое библиотека?
Во многих смыслах библиотека мало чем отличается от обычной папки. Как говорилось выше, когда пользователь открывает библиотеку, он видит несколько файлов или папок. В отличие от папки, библиотека может показывать файлы, хранящиеся в нескольких папках одновременно. Это небольшое, но важное отличие. Библиотеки не хранят объекты. Они следят за содержимым папок, в которых расположены файлы пользователя, и обеспечивают централизованный доступ и богатые возможности сортировки (по типу, дате или автору) для всего совокупного содержимого. Библиотеки фокусируют на информации, оставляя в тени работу файловой системы.
По умолчанию в Windows 7 есть одна главная библиотека, называемая Libraries, содержащая четыре библиотеки второго уровня – документы, музыка, изображения и видео. Пользователи могут сохранять файлы прямо в соответствующую библиотеку, и хотя библиотеки не являются папками файловой системы в привычном смысле, они всё же имеют соотнесённое пространство в файловой системе, где находятся файлы. Каждая библиотека содержит два физических адреса: личная папка пользователя (по умолчанию известная папка, включённая в библиотеку, например, папка «Мои Документы» в библиотеке документов), и папка для общего доступа. Для самостоятельно выбранных категорий таким местом сохранения будет первая добавленная папка. Пользователи могут поменять предустановленное место хранения для любой из библиотек в любое время. Но при удалении установленного по умолчанию места хранения система выбирает в качестве такового следующую папку библиотеки. Кроме всего прочего, пользователи могут сохранять файлы в любую из папок внутри библиотеки, если у них имеются соответствующие права.
Чтобы папка была успешно добавлена в библиотеку, необходимо, чтобы её можно было индексировать локально, на удалённом компьютере с Windows или на сервере, где работает индексация Windows Search. Для поддержания высоких стандартов качества работы поиска в оболочке Windows, добавлять неиндексируемые вложенные папки нельзя.
Что ещё нужно знать разработчикам о библиотеках?
Теперь, когда смысл существования библиотек ясен, программистам следует понять, как реализовать поддержку библиотек в создаваемых приложениях. Это очень важно, поскольку через библиотеки, пользователи информируют систему о критичности тех или иных данных. Это позволяет получать доступ к пользовательским библиотекам и их содержимому, экономя время и силы на отдельную организацию хранения данных для своей программы.
Можно воспользоваться новым IShellLibrary API для того, чтобы программа могла манипулировать библиотеками. Это поможет постоянно синхронизировать пользовательские файлы, и Windows, как только произойдёт изменение данных в структуре библиотек, сообщит об этом программе, которая контролирует библиотеку. Для нас, программистов, это мощный инструмент, в то же время налагающий большую ответственность.
В следующей статье мы поговорим о низкоуровневой архитектуре библиотек и поглубже заглянем в недра API.
Comments
Anonymous
April 16, 2009
PingBack from http://microsoft-sharepoint.simplynetdev.com/%d0%bf%d0%be%d1%81%d1%82%d0%b8%d0%b3%d0%b0%d1%8f-%d1%81%d1%83%d1%89%d0%bd%d0%be%d1%81%d1%82%d1%8c-%d0%b1%d0%b8%d0%b1%d0%bb%d0%b8%d0%be%d1%82%d0%b5%d0%ba/Anonymous
May 14, 2009
Вспомогательные функции библиотек Windows 7 После двухнедельного перерыва мы возвращаемся к нашим техническимAnonymous
May 24, 2009
Синхронизация библиотек Windows 7 И вот новая статья из серии, посвященной библиотеках Windows 7. НаAnonymous
June 11, 2009
Библиотеки Windows 7 – управляемый код Вот и подошло к концу наше продолжительное погружение в программные