Мне интересно использовать Xaml со смесью выражений для создания пользовательских интерфейсов в приложении. Однако из-за ограничений целевой архитектуры я не могу использовать WPF или C#.
Итак, что меня интересует, так это любые примеры / существующие проекты или советы от любого, кто имеет опыт использования этой технологии по использованию Xaml в его «чистой» форме в качестве языка спецификации, не привязанного к WPF.
Конкретные вопросы:
1) Можно ли использовать Blend + Xaml без элементов WPF или без классов поддержки C#?
2) Существуют ли какие-либо другие реализации синтаксических анализаторов Xaml и т. д., Которые используют разные архитектуры, и могут ли они работать со смесью или аналогичными инструментами.
3) Существуют ли альтернативные инструменты редактора / дизайнера, которые могут помочь в этой ситуации?
Мне известны проекты MyXaml и MycroXaml, и я нашел много ресурсов в Интернете о Xaml, но 99% из них относятся непосредственно к WPF. Это хорошо для понимания концепций Xaml, но не помогает в том, что мне нужно.
Большое спасибо!





Помогает ли вам Silverlight в любом случае? Теперь доступен подключаемый модуль Eclipse, позволяющий использовать Silverlight с eclispe. Таким образом, вы сможете использовать Expression blend для разработки своего пользовательского интерфейса и использовать Java для внутреннего кодирования (я думаю, это план на будущее). Ознакомьтесь с этой ссылкой для получения более подробной информации. http://www.eclipse4sl.org/
Вы проверили спецификацию XAML. http://download.microsoft.com/download/0/A/6/0A6F7755-9AF5-448B-907D-13985ACCF53E/[MS-XAML visible.pdf
XAML 2009 и system.xaml.dll в clr 4.0, вероятно, станут подарком для вас, если вы подождете.
вот презентация PDC по этому поводу. http://channel9.msdn.com/pdc2008/TL36/
Теперь, поскольку вы сказали, что не можете использовать C#, я предполагаю, что вы не можете использовать структуру .net ?? или используя Mono. Насколько мне известно, нет планов по внедрению поддержки XAML в Mono. Так что либо вам придется написать свой собственный синтаксический анализатор XAML, либо граф объектов.
Конечно, если вы готовы это сделать, вы можете дождаться спецификации XAML 2009, поскольку она добавляет значительные улучшения в язык xaml.
Дуглас
Я использую XML-документ на основе XAML в качестве ядра нового AppMaker v3. В настоящее время я разбираю его в Ruby, чтобы сгенерировать различные выходные данные, включая приложения WPF на чистом XAML / C#.
XAML очень легко анализировать, особенно если вы используете подход XPath:
windows = []
REXML::XPath.each(doc, "//Window") do |xml|
windows << Window.new(xml)
end
#... invoking ...
@items = []
xml.each_element("Canvas/*") do |itemXML|
@items << WindowItem.makeItem(itemXML)
end
Настоящая проблема, о которой нам нужно больше информации, заключается в том, какой графический интерфейс вы пытаетесь создать. Явный позиционный макет Canvas в XAML легко анализировать и генерировать несколько простых элементов управления и рисования Win32. Если вы попадете в макет на основе ограничений, такой как StackPanel, вам придется воссоздать большую часть поведения WPF.
Если вы не используете WPF, то Xaml как его ядро на самом деле не лучше XML. Xaml имеет несколько разновидностей, но по сути они являются дополнительными функциями в виде библиотек. Вы можете использовать Vanilla Xaml в качестве основы, но тогда вам, по сути, придется создать синтаксический анализатор, который его читает, а затем структуру кода, которому он по существу сопоставляется. Xaml не знает, что такое StackPanel, он по сути отправляет текстовые данные для компиляции тем, что знает, что это такое, это та часть, которую вам не хватает, и это довольно большая часть.
Вы запутались в поддержке Mono XAML и WPF, XAML - это представление XML-сериализации / графа объектов. WPF и Silverlight - это графические наборы инструментов, которые при желании можно создать с помощью XAML. mono очень давно поддерживает XAML (начиная с silverlight 2.0). Теперь (декабрь 2010 г.) он поддерживает написание приложений Silverlight 3.0 на рабочем столе Linux с моно, но процесс сборки для проекта немного ручной. Приложив некоторые усилия, вы можете развернуть настольное приложение Silverlight 3.0 в моно, но сейчас это далеко не так просто.