Сообщений 19    Оценка 290        Оценить  
Система Orphus

Avalon – ноябрьский Community Technical Preview

Авторы: Tim Sneath
Karsten Januszewski и Arik Cohen

Перевод: Чистяков Владислав
Купаев Михаил

Источники: Avalon November 2004 Community Technology Preview
RSDN Magazine #5-2004
Опубликовано: 08.04.2005
Исправлено: 09.04.2005
Версия текста: 1.0
Что такое Avalon?
Ноябрьский Community Technical Preview Avalon
Инсталляция Avalon
Что вошло в CTP-версию?
WinFX SDK
Обзор новых возможностей
Новые элементы управления
Раскадровка
Текст и шрифты
Анимация текста
Улучшение Grid
Связывание с данными
Что не вошло в эту версию?
Заключение

Что такое Avalon?

Avalon – это рабочее название новой графической подсистемы (presentation subsystem) Windows. Он содержит движок отображения и основанный на managed-коде Framework. Avalon унифицирует отображение и манипуляцию документами, мультимедиа-контентом и пользовательским интерфейсом. Он позволяет разработчикам и дизайнерам создавать богатый и современный GUI рассчитанный на пользователей с разным опытом.

Разработчикам и дизайнерам Avalon предоставляет унифицированную платформу, позволяющую использовать для создания UI единую парадигму. .NET-разработчикам этот Framework должен показаться близким. Он должен значительно сократить количество кода, требуемое для создания интерфейса, наиболее удобного для пользователя. Для дизайнеров Avalon представляется как платформа, позволяющая устранить границы между контентом, мультимедиа и приложением.

Ноябрьский Community Technical Preview Avalon

На Professional Developers Conference (PDC) в октябре 2003 года Microsoft продемонстрировал Avalon как часть WinFX API (нового managed API следующей версии Windows – Longhorn). Пользователи прислали множество (формальных и неформальных) откликов по поводу WinFX, в которых, в частности, просили о том, чтобы WinFX был доступен и на предыдущих версиях Windows. В итоге Microsoft принял решение о том, что такие части WinFX, как Avalon и Indigo, будут доступны на Windows XP и Windows Server 2003.

Команда Avalon-а в последнее время усилено трудилась над поддержкой указанных ОС, и в текущей CTP Community Technical Preview мы можем лицезреть первые плоды этого труда. Как и другие CTP-версии, эта не тестировалась так же тщательно, как бета-версии, и может быть нестабильной, показывать плохую производительность или конфликтовать с другими приложениями. Естественно, что эта версия не поддерживается Microsoft официально, а все аспекты ОО-модели и API могут быть изменены в дальнейшем. Microsoft разумно советует не ставить эту версию Avalon на машины, от которых зависит ваш бизнес или счастье :).

Инсталляция Avalon

Для работы Avalon требуется .NET Framework 2.0 Beta 1. Это может быть оригинальная версия 40607.16 или версия 40607.47, поставляемая с августовской CTP-версией Whidbey. С точки зрения требований к железу CTP Avalon требует минимум: 1 ГГц Pentium, 256 MB оперативной памяти и видеокарту, совместимую с DirectX 9. Рекомендуется использовать видеокарты типа ATI Radeon 9600, nVidia GeForce 4 или более быстрые. Это не окончательные требования к железу. Окончательные еще не были анонсированы.

Что вошло в CTP-версию?

Наиболее интересными возможностями данной версии являются:

WinFX SDK

В поставку текущей версии входит ранняя версия WinFX SDK. Она включает документацию, утилиты и примеры, призванные упростить создание managed-приложений с использованием Avalon. Поскольку это промежуточная версия (пре-бета), документация и примеры могут быть неполными или неточными. Об известных проблемах можно узнать из прилагающегося описания.

Эта версия так же включает базовые средства для поддержки Avalon-а средой разработки Visual Studio 2005. Среди них визарды для создания WUI- и GUI-приложений, набор control-ов, поддержка IntelliSense (как для любых .NET-библиотек, что само собой разумеется, так и для XAML), поддержка отладки и интеграция help-а по Avalon-у с help-ом VS. Описание (release notes), входящее в поставку, содержит замечания по последовательности установки и другим аспектам процесса установки.

Обзор новых возможностей

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

Рисунки 1-4. Динамическое изменение интерфейса (skins). Logon Screen изменяется в зависимости от выбранного пользователя.

Новые элементы управления

В этой версии в состав Avalon вошел ряд новых control-ов:

Раскадровка

Одним из ключевых аспектов Avalon является интеграция анимации с программной моделью. В ранние версии Avalon уже входило представление свойств зависимости (dependency properties), то есть свойств объектов Avalon, которые могут быть анимированы. Однако возможности координации различных анимаций с использованием различных объектов и временных последовательностей не было. Теперь появились раскадровки. Они предоставляют возможность группировать и синхронизировать несколько анимаций. Это позволяет запускать, останавливать или прерывать, а также перезапускать анимации. Раскадровки позволяют создавать более сложные типы анимации.

Текст и шрифты

Одно из ключевых достоинств движка Avalon – огромное количество работы по улучшению читаемости. Во всех отношениях, от субпиксельного clear-type до адаптивной заливки текстом, Avalon поднимает читаемость текста в Windows на новый уровень. Новый класс Fonts предоставляет средства перечисления гарнитур и семейств шрифтов из системного каталога или из мест, определяемых пользователем. Пример поддержки шрифтов можно найти по адресу http://winfx.msdn.microsoft.com/?//winfx.msdn.microsoft.com/winfx/sampledocs/text/wcpsamp_layout_typography4.aspx.

Анимация текста

В этой версии существенно улучшена анимации текста. Свойство TextEffects можно использовать для анимации отдельных символов текста. В следующем примере слово "world", например, перемещается по экрану:

Рисунок 5.

<Text>
  <Text.TextEffects>
    <TextEffect CharacterIndex="6" Count="5">
      <TextEffect.Transform>
        <TranslateTransform>
          <TranslateTransform.Y>
            <DoubleAnimation IsAdditive="True" 
                             Duration="10" 
                             RepeatBehavior="Forever" 
                             From="-20" 
                             To="20"/>
          </TranslateTransform.Y>
        </TranslateTransform>
      </TextEffect.Transform>
    </TextEffect>
  </Text.TextEffects> 
Hello world 
</Text>

Можно применять и такие преобразования, как масштабирование или поворот символов.

Улучшение Grid

Дизайнеры и разработчики часто обращаются к различного вида сеткам и таблицам для упорядочивания расположения элементов страницы. Avalon Grid control (http://winfx.msdn.microsoft.com/?//winfx.msdn.microsoft.com/winfx/ref/ns/system.windows.controls/c/grid/grid.aspx) заполняет эту нишу. В этой версии появились слои, абсолютное позиционирование и гибкое масштабирование контента. Avalon содержит также и Table control (http://winfx.msdn.microsoft.com/?//winfx.msdn.microsoft.com/winfx/ref/ns/system.windows.documents/c/table/table.aspx).

Связывание с данными

Несколько новых возможностей связывания с данными в Avalon включают асинхронное связывание, а также multi binding, позволяющее подключение коллекции связей к одному свойству. К сожалению, примеров использования новых возможностей пока нет. Однако понять, что это такое, можно, внимательно прочитав описание библиотеки классов System.Windows.Data (http://winfx.msdn.microsoft.com/?//winfx.msdn.microsoft.com/winfx/sampledocs/dataservices/colors.aspx).

Что не вошло в эту версию?

Несколько предостережений:

\Windows\Resources\Themes\Luna\PresentationFramework.Luna.NormalColor.FxStyles

для серебряной схемы:

\Windows\Resources\Themes\Luna\PresentationFramework.Luna.Metallic.FxStyles 

и оливковой схемы, соответственно:

\Windows\Resources\Themes\Luna\PresentationFramework.Luna.Homestead.FxStyles 

Заключение

Avalon CTP – это продолжение усилий Microsoft по обеспечению прозрачности разработки ПО для пользователей. Эта версия Avalon выпущена для того, чтобы получить отклик от сообщества разработчиков.


Эта статья опубликована в журнале RSDN Magazine #5-2004. Информацию о журнале можно найти здесь
    Сообщений 19    Оценка 290        Оценить