Статьи / Программирование / Windows 7 Libraries и API / Библиотека Windows 7 Libraries .NET Sample Library (ч.2)
Библиотека Windows 7 Libraries .NET Sample Library (ч.2)Просмотров: 1716
21.04.2009 12:28
 
Это вторая статья в цикле, посвященном библиотекам 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 есть одна главная библиотека, содержащая четыре библиотеки второго уровня — документы, музыка, изображения и видео. Пользователи могут сохранять файлы прямо в соответствующую библиотеку, и хотя библиотеки не являются папками файловой системы в привычном смысле, они всё же имеют соотнесённое пространство в файловой системе, куда можно сохранять файлы. Каждая библиотека содержит два физических адреса: личная папка пользователя (по умолчанию известная папка, включённая в библиотеку, например, папка "Мои Документы" в библиотеке документов), и папка для общего доступа. Для самостоятельно выбранных категорий таким пунктом доступа будет первая добавленная папка. Пользователи могут поменять предустановленное место хранения для любой из библиотек в любое время. Но при удалении установленного по умолчанию места хранения система выбирает в качестве такового следующую папку в библиотеке. Кроме всего прочего, пользователи могут сохранять файлы в любую из папок внутри библиотеки, если у них имеются соответствующие права.

Чтобы папка была успешно добавлена в библиотеку, необходимо, чтобы её можно было индексировать локально, на удалённом компьютере с Windows или на сервере, где работает индексация Windows Search. Для поддержания высоких стандартов качества работы поиска в оболочке Windows, добавлять неиндексируемые вложенные папки нельзя.

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

Вы можете пользоваться новым IShellLibrary API для того, чтобы ваша программа могла манипулировать библиотеками. Это поможет программам постоянно синхронизировать пользовательские файлы, и Windows, как только произойдёт изменение данных в структуре библиотек, сообщит об этом программе, которая пользуется библиотекой. Для нас, программистов, это мощный инструмент, в то же время налагающий большую ответственность.

Ну а в следующей статье мы поговорим о низкоуровневой архитектуре библиотек и поглубже заглянем в недра API.
Источник: www.thevista.ru