|
[XML-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: The Free World vs Microsoft Inc: A Closer Look At Groovy
Actually, I believe projects like XSP in Cocoon can truly benefit from
something like this. I am going to forward your message to the Cocoon
users mailing list.
Kind regards,
Oleg
Gerald Bauer wrote:
> Hi,
>
> allow my to follow up with another commentary on
> XAML - Microsoft's latest "innvention" unveiled at the
> Longhorn Love-In last week in Los Angeles - that lets
> you mix markup languages with classic programming
> languages and declares both first-class citizen made
> for each other.
>
> To see how "revolutionary" Microsoft's latest XAML
> thingy is may I introduce Groovy a new dynamic
> scripting language for the Java runtime cooked up by
> James Strachan (of Geronimo, Jelly, dom4j and more
> fame) and Bob McWhirter (of Jaxen, dom4j, codehaus and
> more fame) that lets you do more with less and that
> also tries to fix up XML using the headline
> "TreeBasedSyntax".
>
> James writes on the Groovy TreeBasedSyntax Wiki
> page:
>
> We have native syntax support for List and Maps. We
> should also support arbitrary nested tree structures.
> e.g. DOMish APIs or Ant tasks or Jelly tags or Swing
> widgets or whatever. Each may have their own
> particular factory mechanism to create the tree of
> objects - however they can share the same markup
> syntax to define them - in a concise alternative to
> XML.
>
> In general we'd like to support a few kinds of
> markup...
>
> * generic tree structures (making groovy.lang.Node a
> first class syntax like Map and List are)
> * custom tree structures (beans, DOMs, Swing, Ant,
> Jelly etc)
> * metadata (JDK 1.5 style)
>
> Now James is not all talk but also wipes up some
> examples that already work with the latest Groovy CVS
> snapshot:
>
> f = frame(size:[300,300], text:'My Window') {
> label(bounds:[10,10,290,30], text:'Save changes')
> panel(bounds:[10,40,290,290]) {
> button(text:'OK', action:{ save(); close() })
> button(text:'Cancel', action:{ close() })
> }
> }
>
> James also shows off how you can mix scripting with
> markup:
>
> f = frame(text: calculateFieldName(foo, 1234))
>
> // lets iterate through some map
> map = [1:"hello", 2:"there"]
>
> for e in map {
> label(name:e.value)
> textfield(name:e.value)
> }
> }
>
> Full story @
> http://wiki.codehaus.org/groovy/TreeBasedSyntax
>
> Any comments?
>
> - Gerald
>
> PS: For more info about Groovy, check out the Java
> Republic stories titled "Groovy - Jazzing Up Plain Old
> Java" online @
> http://viva.sourceforge.net/republic/2003/09/groovy_jazzing_up_plain_old_java.html
> and "Groovy: Making Java More Funky" online @ http://viva.sourceforge.net/republic/2003/10/groovy_making_java_more_funky.html
>
> ______________________________________________________________________
> Post your free ad now! http://personals.yahoo.ca
>
> -----------------------------------------------------------------
> The xml-dev list is sponsored by XML.org <http://www.xml.org>, an
> initiative of OASIS <http://www.oasis-open.org>
>
> The list archives are at http://lists.xml.org/archives/xml-dev/
>
> To subscribe or unsubscribe from this list use the subscription
> manager: <http://lists.xml.org/ob/adm.pl>
>
>
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|
|||||||||

Cart








