[
Lists Home |
Date Index |
Thread Index
]
- To: Gerald Bauer <luxorxul@yahoo.ca>
- Subject: Re: [xml-dev] The Free World vs Microsoft Inc: A Closer Look At Groovy
- From: Oleg Dulin <dulino@olegdulin.com>
- Date: Sun, 02 Nov 2003 15:38:18 -0500
- Cc: xml-dev@lists.xml.org
- In-reply-to: <20031031185355.58652.qmail@web40809.mail.yahoo.com>
- References: <20031031185355.58652.qmail@web40809.mail.yahoo.com>
- User-agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.5) Gecko/20031007
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>
>
>
|