Комментарии Нила Дикина по поводу XAML

Первые комментарии по поводу XAML от Нила Дикина (Neil Deakin):

  • Это определенно XUL-подобный язык, описывающий ползовательские интерфейсы. Почему они просто не использовали XUL? Ну а что, вы ожидали, что MS будет использовать что-то, что не они сами сделали?
  • XAML, похоже, просто кодовое слово. Иногда в документации написано, что это кодовое слово и XAML всегда встречается в кавычках.
  • Только XAML-файлы, которые не содержат кода могут быть отображены в IE. Я себе слабо представляю, кому может понадобиться приложение без кода. Если ваше приложение содержит код, оно должно быть скомпилировано в исполняемый файл. Если я правильно понимаю, то это значит, что удаленный (remote) XAML невозможен. Несмотря на это, используется принцип "нажми один раз", который работает абсолютно так-же, как XPInstall в Мозилле, позволяющий пользователю устанавливать приложения одним нажатием мышки. Вы должны скомпилировать и задать информацию для установки (deployment information) — очень похоже на то как XPInstall использует файл install.js и RDF-манифесты. При этом там есть ссылка на 'application/xaml+xml' (где 'x-' или 'vnd.'? Майкрос-оо-фт? Станд-а-рты?) который, как мне кажется, используется для приложений без кода. Это все значит, что вам для разработки нужен еще и компилятор, который весьма кстати продается Майкрософтом. XAML не поддерживает интерпретируемых языков типа JavaScript и JScript.
  • Вы можете запустить скомпилированный код в отдельном окне или в браузере, но не в том и другом. Смена требует перекомпиляции.
  • Каждому тэгу XAML соответствует класс. Аттрибуты тэгов соответствуют полям (свойствам) класса. Например класс "Кнопка" может быть задан как <Button Width="100" FontSize="10">
  • CSS не используется — вместо этого есть специальные аттрибуты. Есть что-то, называющееся "стили", которое больше похоже на классы CSS, судя по кол-ву элементов. Эти "стили", похоже, позволяют изменять свойства внутрренних элементов, например thumbs и slider, полосы прокрутки могут быть изменены с помощью куска XML. На самом деле примеры подсказывают, что у стилей есть некоторые возможности, сходные с XBL, но это выглядит еще более запутывающе.
  • Есть так-же способ связи с данными (databinding), похожий на тот, который уже есть в IE — связывание с XML, SQL и т.д. В XUL это сделано при помощи шаблонов и RDF. В XAML данные, к которым происходит привязка, даже названы "datasource" (по аналогии с XPFE).
  • Есть так-же что-то, что можно описать как "ещё один XML-язык описания векторной графики, но не SVG". При этом он очень похож на SVG, но беглый взгляд и небольшое знакомство с SVG подсказывает, что это не тоже самое. Тем не менее, оно называется Windows Vector Graphics. Да, это как раз то, что нужно миру — больше похожих, но разных языков векторной графики.
  • На сколько я вижу, нет ни XBL ни оверлеев (overlays) ни чего либо подобного. Нестандартные компоненты могут быть запрограмированы на C# (или что там у них испльзуется). То есть нет ничего такого же крутого как расширения Firebird (Firebird extensions)
  • В документации, как и в большей части MSDN, очень тяжело ориентироваться. Большая часть очень смутно написана и больше похожа на просто список функций. Есть только несколько страниц, которые объясняют как что-то сделать. Поэтому, возможно, я что-то упостил. Возможно, там есть интересные возможности, которые я упустил, но я не думаю, что XAML сам по себе так уж и силен. На самом деле он больше похож на простое отображение классов в XML.


Опубликовал admin
20 Окт, Среда 2004г.



Программирование для чайников.