Jump to content

Расширяемый язык разметки приложений

(Перенаправлено из XAML )
Расширяемый язык разметки приложений (XAML)
Расширение имени файла
.xaml
Тип интернет-СМИ
приложение/xaml+xml
Разработано Майкрософт
Первоначальный выпуск ноябрь 2006 г .; 17 лет назад ( 2006-11 ) [1]
Последний выпуск
v2019
12 марта 2019 г .; 5 лет назад ( 12.03.2019 ) [2]
Тип формата Язык разметки пользовательского интерфейса
Расширено с XML

Расширяемый язык разметки приложений ( XAML / ˈ z æ m əl / ) — это декларативный язык на основе XML , разработанный Microsoft для инициализации структурированных значений и объектов. Он доступен в соответствии с обещанием открытой спецификации Microsoft . [3]

XAML широко используется в Windows Presentation Foundation (WPF), Silverlight , Workflow Foundation (WF), библиотеке пользовательского интерфейса Windows (WinUI), универсальной платформе Windows (UWP) и пользовательском интерфейсе многоплатформенного приложения .NET (.NET MAUI). В WPF и UWP XAML — это язык разметки пользовательского интерфейса для определения элементов пользовательского интерфейса, привязки данных и событий. Однако в WF рабочие процессы определяются XAML .

Элементы XAML напрямую сопоставляются с экземплярами объектов среды Common Language Runtime (CLR), а атрибуты XAML сопоставляются со свойствами и событиями CLR этих объектов.

Все, что создано или реализовано в XAML, может быть выражено с использованием более традиционного языка .NET, такого как C# или Visual Basic .NET . Однако ключевым аспектом технологии является снижение сложности инструментов для обработки XAML, поскольку она основана на XML. [4]

Технология

[ редактировать ]

Первоначально XAML обозначал расширяемый язык разметки Avalon, а Avalon — кодовое название Windows Presentation Foundation (WPF). [5] Однако до завершения разработки .NET Framework 3.0 Microsoft приняла XAML для Workflow Foundation (WF). [5]

В WPF XAML описывает визуальные пользовательские интерфейсы . WPF позволяет определять как 2D-, так и 3D-объекты, повороты, анимацию и множество других эффектов и функций. Файл XAML можно скомпилировать в файл языка разметки двоичных приложений (BAML). [5] [6] который можно вставить как ресурс в сборку .NET Framework. Во время выполнения механизм платформы извлекает файл BAML из ресурсов сборки, анализирует его и создает соответствующее визуальное дерево или рабочий процесс WPF.

В контексте WF XAML описывает потенциально долгодействующую декларативную логику, например, создаваемую инструментами моделирования процессов и системами правил. Формат сериализации для рабочих процессов ранее назывался XOML, чтобы отличать его от использования XAML в разметке пользовательского интерфейса, но теперь они больше не различаются. Однако расширение файлов, содержащих разметку рабочего процесса, по-прежнему остается «.xoml». [7]

В XAML используется особый способ определения внешнего вида, называемый Template s; В отличие от синтаксиса каскадной таблицы стилей , он ближе к XBL . [8]

Для создания файлов XAML можно использовать Microsoft Expression Blend , Microsoft Visual Studio , размещаемый визуальный дизайнер WF или XAMLPad. [9]

Снимок экрана: разработка приложения Windows Presentation Foundation (WPF) с использованием XAML и C# в Visual Studio 2022.

В этом примере Windows Presentation Foundation показан текст «Привет, мир!» в контейнере XAML верхнего уровня под названием Canvas.

<Canvas xmlns="http://schemas.microsoft.com/client/2010"        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">  <TextBlock>Hello, world!</TextBlock></Canvas>

Схема (т. xmlns="http://schemas.microsoft.com/..." часть), возможно, придется изменить для работы на вашем компьютере.Используя схему, рекомендованную Microsoft, пример также может быть [10]

<Canvas xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation">  <TextBlock>Hello, world!</TextBlock></Canvas>

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

<TextBox x:Name="txtInput" /><TextBlock Text="{Binding ElementName=txtInput,Path=Text}" />

Различия между версиями XAML

[ редактировать ]

Существует три основные реализации XAML от Microsoft:

Эти версии имеют некоторые различия в поведении синтаксического анализа. [11] Кроме того, анализатор XAML Silverlight 4 не на 100% обратно совместим с файлами Silverlight 3. Файлы XAML Silverlight 3 могут быть отклонены или обработаны по-другому анализатором Silverlight 4. [12]

Приложения XAML в веб-браузерах

[ редактировать ]

Исторически приложения на основе XAML можно было запускать в некоторых веб-браузерах , таких как Internet Explorer и Firefox . Этого можно достичь с помощью файлов XBAP, созданных из приложений WPF , или с помощью плагина браузера Silverlight . Однако оба эти метода в настоящее время не поддерживаются всеми основными браузерами из-за того, что они полагаются на интерфейс плагина браузера NPAPI , который больше не поддерживается . [13] [14]

Проблемы блокировки

[ редактировать ]

В 2007 году Европейский комитет по интероперабельным системам (ECIS) – коалиция, состоящая в основном из американских компаний-разработчиков программного обеспечения – обвинил Microsoft в попытке перехватить HTML и заменить его XAML, создав тем самым привязку к поставщику . [15] [16] Джереми Реймер, пишущий для Ars Technica, назвал этот комментарий «самой вопиющей ошибкой» и добавил, что XAML вряд ли когда-либо заменит HTML. [16]

См. также

[ редактировать ]
  1. ^ «[MS-XAML] Спецификация сопоставления объектов Xaml 2006» (PDF) . Майкрософт . Июнь 2008 года.
  2. ^ «Расширяемый язык разметки приложений (XAML)» . Майкрософт . 12 марта 2019 г.
  3. ^ Уортингтон, Дэвид. «Microsoft добавляет XAML в список «открытых спецификаций» – Время разработки программного обеспечения в Интернете» . Архивировано из оригинала 11 декабря 2008 г. Проверено 06 апреля 2021 г.
  4. ^ «Подробно о синтаксисе XAML» . Библиотека Windows Presentation Foundation . Майкрософт . 12 августа 2021 г. — через Microsoft Docs .
  5. ^ Jump up to: а б с Роб Релиа: январь 2004 г. - Сообщения, заархивированные 11 октября 2007 г. в Wayback Machine.
  6. ^ неизвестно (30 июля 2009 г.). «Что такое БАМЛ?» . ДОТНЕТ Паук. BAML означает двоичный язык разметки приложений, который представляет собой скомпилированную версию XAML. Когда вы компилируете XAML, он создает файл BAML.
  7. ^ Эндрю, Пол (25 января 2006 г.). "xoml или xaml?" . Архив сообщества MSDN . Майкрософт . Программы (или модели) рабочих процессов сохраняются в формате XAML, который является общим для Avalon и предназначен для сериализации типов .NET в виде XML. Avalon XAML — это пользовательский интерфейс, а Workflow XAML — бизнес-процесс, поэтому существует значительная семантическая разница. Расширение файла XOML, похоже, останется для моделей рабочих процессов, хотя формат файла — XAML.
  8. ^ Гатри, Скотт (22 февраля 2008 г.). «Учебное пособие по Silverlight, часть 7. Использование шаблонов элементов управления для настройки внешнего вида элемента управления» . Блог СкоттГу .
  9. ^ Эйвери, Джеймс; Холмс, Джим. «3.3 Написание XAML в XamlPad — Инструменты разработчика Windows [Книга]» . www.oreilly.com . О'Рейли.
  10. ^ Страница обзора Microsoft XAML по адресу Обзор XAML (корневой элемент и xmlns)
  11. ^ «Различия в обработке XAML между версиями Silverlight и WPF» . Архив Сильверлайта . Майкрософт . 17 ноября 2011 г. — через Microsoft Docs . Silverlight включает анализатор XAML, который является частью базовой установки Silverlight. Silverlight использует разные анализаторы XAML в зависимости от того, предназначено ли ваше приложение для Silverlight 3 или Silverlight 4. В Silverlight 4 эти два анализатора существуют параллельно для обеспечения совместимости. В некоторых случаях поведение анализа XAML в Silverlight отличается от поведения анализа в Windows Presentation Foundation (WPF). WPF имеет собственный синтаксический анализатор XAML.
  12. ^ «Различия в обработке XAML между версиями Silverlight» . Архив Сильверлайта . Майкрософт . 17 ноября 2011 г. — через Microsoft Docs .
  13. ^ адегео. «Часто задаваемые вопросы о поддержке XBAP» . Learn.microsoft.com . Проверено 16 мая 2024 г.
  14. ^ Накарнам (16 марта 2020 г.). «Окончание поддержки Silverlight — жизненный цикл Microsoft» . Learn.microsoft.com . Проверено 16 мая 2024 г.
  15. ^ Бир, Стэн (28 января 200 г.). «Microsoft предъявляет обвинения ЕС Vista» . iTWire . Проверено 22 августа 2013 г.
  16. ^ Jump up to: а б Реймер, Джереми (26 января 2007 г.). «Председатель европейского комитета обвиняет Microsoft во взломе Интернета» . Арс Техника . Конде Наст . Проверено 22 августа 2013 г.
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: ef03f173d3602d70d3e5988112bd39ff__1715838960
URL1:https://arc.ask3.ru/arc/aa/ef/ff/ef03f173d3602d70d3e5988112bd39ff.html
Заголовок, (Title) документа по адресу, URL1:
Extensible Application Markup Language - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)