4

I am interested in using Xaml with expression blend for creating user interfaces in an application. However, because of the limitations of the target architecture, I cannot use WPF or C#.

So, what I am interested in is in any examples / existing projects or advice from anyone who has experiance of this technology on the use of Xaml in it's "Pure" form as a specification language not tied to WPF.

Specific questions:

1) Is it possible to use Blend + Xaml without the WPF elements, or without C# backing classes?

2) Are there any other implementations of Xaml parsers etc. which use different architectures, and can they work with blend or similar tools.

3) Are there alternative editor / designer tools which can help in this situation?

I am aware of the MyXaml and MycroXaml projects, and have found a lot of resources on the web about Xaml, but 99% of it relates directly to WPF. This is fine for understanding the concepts of Xaml, but doesn't help with the implimentation I need.

Many thanks!

4 Answers 4

3

Have you checked out the XAML spec. http://download.microsoft.com/download/0/A/6/0A6F7755-9AF5-448B-907D-13985ACCF53E/[MS-XAML].pdf

XAML 2009 and the system.xaml.dll in clr 4.0 is probably going to be a god send for you if you can wait for it.

here is the PDC presentation on it. http://channel9.msdn.com/pdc2008/TL36/

Now since you said you can't use C#, I am guessing you are not able to use the .net framework?? or using Mono. as far as I know there are no plans to implement XAML support in Mono. So either you would have to write your own XAML parser, and Object graph.

Of course if you are willing to do that you may want to wait for XAML 2009 spec as it adds significant improvements to the xaml language.

Douglas

Sign up to request clarification or add additional context in comments.

1 Comment

You have confused Mono's support of XAML and WPF, XAML is an xml serialization/object graph representation. WPF and Silverlight are graphical toolkits that can optionally be created using XAML. mono has supported XAML for a very long time (since silverlight 2.0). It now ( Dec 2010 ) supports writing running silverlight 3.0 apps on a linux desktop with mono but the build process for a project is a little bit manual. With some careful work you can deploy a silverlight 3.0 desktop application on mono but it is far from easy right now.
3

Does Silverlight help you in anyway?. Now there is an Eclipse plug-in available for you to use Silverlight with eclispe. So you will be able to use Expression blend to design your UI and use Java for the backend coding(Future plan I think). Check out this link for more details. http://www.eclipse4sl.org/

Comments

1

I am using a XAML-based XML document as the core of the new AppMaker v3. I'm currently parsing it in Ruby to generate various output including pure XAML/C# WPF apps.

XAML is very easy to parse especially if you take an XPath approach:

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 

The real issue, about which we need more information, is what kind of GUI you are trying to generate. The Canvas explicit positional layout in XAML is easy to parse and generate some simple Win32 controls and drawing. If you get into the constraint-based layout like StackPanel then you will have to recreate much WPF behaviour.

Comments

0

If your not using WPF then Xaml as its core is no better than XML really. Xaml has a few flavours but they are essentially addition functionality in the form of libraries. You could use Vanilla Xaml as a base but then you would essentially have to build a parser that reads it and then a framework of code that it essentially maps to. Xaml does not know what a StackPanel is it essentially sends the Textual data off to be compiled by whatever does know what it is, this is the part you would be missing, and its a pretty big part.

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.