MXML: Difference between revisions
m (using an external editor) |
|||
Line 1: | Line 1: | ||
{{Incomplete}} | {{Incomplete}} | ||
<pageby nominor="false" comments="false"/> | <pageby nominor="false" comments="false"/> | ||
== | |||
This entry is part of the [[Flex tutorials]] | |||
== Introduction == | |||
MXML is an XML-based user [http://en.wikipedia.org/wiki/User_interface_markup_language interface markup language]. MXML is considered a proprietary standard due to its tight integration with Adobe technologies, in particular [[Flash]]. | MXML is an XML-based user [http://en.wikipedia.org/wiki/User_interface_markup_language interface markup language]. MXML is considered a proprietary standard due to its tight integration with Adobe technologies, in particular [[Flash]]. | ||
The [[Adobe Flex]] developer kit can be use to compile MXML + ActionScript code into Flash. | The free [[Adobe Flex]] developer kit can be use to compile MXML + ActionScript code into [[Flash]]. Flex (i.e. the combination of MXML and Actionscript) did become a fairly popular technology for developping [[rich internet application]]s (e.g. educational multimedia). It seems to gain popularity since it's a sort of "semi-thick client" technology and for once | ||
Adobe takes a much better political approach. Both the compiler and the documentation is open and free. | |||
MXML allows to define | MXML allows to define | ||
Line 59: | Line 61: | ||
* Use an XSD schema with a XSD-supporting [[XML editor]] | * Use an XSD schema with a XSD-supporting [[XML editor]] | ||
* Use the specialized ActionScript/Flex editor. | * Use the specialized ActionScript/Flex editor. | ||
See also the [[Adobe Flex]] | |||
== Links == | == Links == |
Revision as of 16:10, 6 November 2008
<pageby nominor="false" comments="false"/>
This entry is part of the Flex tutorials
Introduction
MXML is an XML-based user interface markup language. MXML is considered a proprietary standard due to its tight integration with Adobe technologies, in particular Flash.
The free Adobe Flex developer kit can be use to compile MXML + ActionScript code into Flash. Flex (i.e. the combination of MXML and Actionscript) did become a fairly popular technology for developping rich internet applications (e.g. educational multimedia). It seems to gain popularity since it's a sort of "semi-thick client" technology and for once Adobe takes a much better political approach. Both the compiler and the documentation is open and free.
MXML allows to define
- layout structure
- some behaviors
- presentation of information
There is no official schema for MXML, but some people did create schemas. In particular, check out Ali Mansuroglu's flex3.xsd or Matthias Georgi's Relax/rnc version.
Introductory example
Firstly, install the Flex SDK.
A Flex program is a text file that contains a combination of xml elements and optionally actionscript instructions. Here, we just focus on the MXML part.
A basic mxml document would look something like this:
File myFirstApplication.mxml :
<?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" horizontalAlign="center" verticalAlign="middle" width="300" height="160" > <mx:Panel paddingTop="10" paddingBottom="10" paddingLeft="10" paddingRight="10" title="My First Application" > <mx:Label text="Hello World!" fontWeight="bold" fontSize="24"/> </mx:Panel> </mx:Application>
Make sure to respect XML Syntax (e.g. closing tags).
Put the text above in a text file. Save the text file as "myFirstApplication.mxml". See the "editing software" section in the Flex article if you plan to use an editor with Flex support. But for starters you can use any text editor, preferable an editor with XML support.
Assuming the Flex SDK is properly installed, in the terminal, type:
mxmlc myFirstApplication.mxml
Information appears on the screen and about half a second later, if all is well, you get informed that a file "myFirstApplication.swf" has been produced. Open this file in a flash player or in a web browser.
SWF files generated by Flex require Flash Player 9 or above.
Software
There exist several solutions for writing mxml code:
- Use the Abode Flex Builder
- Use a Relax schema, e.g. Gnu Emacs with
- Use an XSD schema with a XSD-supporting XML editor
- Use the specialized ActionScript/Flex editor.
See also the Adobe Flex
Links
- At Adobe
- Flex Developer Center has a lot of information. Not always obvious to find the best entry point for beginners, but have a look at these (if the links didn't move ...):
- Coding with MXML and ActionScript
- Building components in MXML
- Flex Programming Elements (A manual chapter).
- flex.org (an Adobe blog) aggregates Flex news from a number of sites. It includes MXML-related stuff.
- MXML Schemas
Adobe doesn't seem to provide any sort of schema that would allow you to use an XML editor. But there are some initiatives.
- Flex 1.5/2 (old) mxml2.xsd from Falkensweb. I made a local copy
- flex3.xsd made by Ali Mansuroglu. I made a local copy
- Matthias Georgi in order to support development on Emacs created a Relax NG Schema for Adobe Flex 3 (flex3.rnc download) and that is based on Ali's XSD.
- Others
- MXML (Wikipedia. Still a stub, i.e. not very useful as of Aug. 2008)
- An overview of MXML: The Flex markup language by C. Coenraets, Adobe (2004). Outdated, but still useful !