Learn something new every day -- there is a MAX Bloggers site.

Using ASP.NET Web Services from DreamWeaver:

  • What can I say, almost as easy as using them from VS

Building Code-based RIAs (aka Intro to Flex):

  • Flex: "Code you put on your J2EE server that helps you build Flash apps"
  • code written as MXML, upon request, compiled to SWF and returned
  • can write JSP to emit MXML, which Flex will push down as SWF
  • ship - 1st half next year
  • "I'm not going to click on anything, because I'm scared." - quote from Flex engineer.
  • {} can enclose any arbitrary AS code
  • in sample below, automagically builds watchers on the expression to populate when it changes (no need to wait for the WS to return)
  • default validator behavior is to red outline field, display tag help
  • supports "the first 12.5 chapters of the SVG spec"
  • have a number of layout managers, included none (absolute positioning)
  • have a number of validators, can create your own
  • navigators - enable moving between forms, such as TabNavigator, AccordianNavigator, ListNavigator, etc.
  • all tags map to components (ActionScript or Flash class or block of MXML)
  • existing controls can be skinned to alter display

Sample Flex app (may be interesting to those with Longhorn installed): 
<mx:Application xmlns:mx="" width="" height="" backgroundImage="gradient.svg">
    <mx:Style>css stylesheet</mx:Style>
    <mx:Effect>
        <mx:Sequence id-"myEffect" >
            <mx:Move xFrom="" duration-"" />
            <mx:Fade alphaFrom="">
        </mx:Sequence>
    </mx:Effect>
    <mx:WebService id="ws" wsdl=""
        result="out.visible=true"> <!-- can also call Java server-object, retrieve XML etc.-->
        <mx:operation name-"getInfo">
            <mx:request>
                <in0>{inp.text}</in0>
            </mx:request>
        </mx:operation>
    </mx:WebService>
    <mx:Form>
    <mx:ZipCodeValidator field="ws.getInfo.request.in0"/>
    <mx:FormItem label="">
        <mx:TextInput id="inp" width="" />
        <mx:Button click="ws.getInfo(inp.text)" >Click me</mx:Button>
    </mx:FormItem>
    <mx:FormItem label="">
        <mx:Label id="out" width="" visible="false" effect="myEffect">{ws.getInfo.result.city + ": " + ws.getInfo.result.state}</mx:Label>
        <mx:Binding
    </mx:FormItem>
    <mx:Script>
        function copyText() {
            out.text=inp.text;
        }
    </mx:Script>
    <mx:MediaDisplay id="" content="" />
    </mx:Form>
</mx:Appliction>