Archive for October 15th, 2009

Road Show – Fall 2009

After a long stretch of quietly hacking at home, I’m getting out to speak at some events again:

Stack Overflow DevDays in Washington D.C. on October 26th. The event is SOLD OUT with talks on Python, ASP.NET MVC, iPhone development, Google App engine, and jQuery. Something to learn for everyone!

 

stackoverflow devdays

Øredev! I’m looking forward to seeing Sweden again! There are 14 tracks covering everything from Java to .NET, and Agile Ways to Leadership. The list of great speakers include, but are in no way limited to, Douglas Crockford, Jim Coplien, Dan North, Neal Ford, Ola Bini, Tess “Debug Diag” Fernandez, Shawn Wildermuth, Julie LermanStephen Bowlen, Amanda “F#” Laucher, and Bea “WPF” Stollnitz.   There is also Bellware, Oren, Hanselman, and Mr. Neward. It’s going to be awesome.

 

EPiServer Meetup! I’ve been invited to fly into Stockholm while I am in Sweden to visit the awesome team at Nansen and talk at the EPiServer Meetup on November 4th. Watch the meetup page for more details.

DevConnections! I’m in the ASP.NET track and have a post-conference AJAX workshop on Friday with lots of tips and tricks. Looking forward to seeing guys like Rick Strahl, Markus Egger, Paul Litwin, and Miguel Castro again. Exciting!

 

 

devconnections

Code Camp! The Central Pennsylvania .NET Users Group is having a Code Camp on December 5th. I hope to see you there!

LINQ! I’m giving a three day class on LINQ and LINQ related technologies in Waltham, MA on December 8th. If you want to take a deep dive into the technology and see how LINQ and functional programming can transform not only your data access code but your business logic and tests, then sigh-up now. I’m sure we’ll go off on some interesting tangents, too.

pslogomedcolor


MAX 2009 Session Videos: Flex Frameworks, AR, & Best RIAs

InsideRIA had three sessions at Adobe MAX this year: The Battle of the Flex Frameworks Returns, with Greg Owen; Augmented Reality within the Flash Player, with Jesse Freeman; and InsideRIA's Secrets of the Best Rich Internet Apps of 2009 (So...

MockFlow: Online Wireframe Tool For Software and Websites

MockFlow is an online tool for creating wireframes of software and websites. It helps to enhance your planning process by enabling to quickly design and share interactive UI mockups. It comes with ready-to-use 70+ components and 200+ icons, all designed to suit wire framing.

MockFlow allows you to share your work in private/public mode and get feedback from your clients & users. Its simple usability, progressive page templates and quick presentation mode makes the wire framing process  really easy and collaborative. You can get a free account that allows 1 mockup with 4 pages, 2 collaborators / mockup, 10 MB storage and exports your work with watermark.

Features

  • Simple usability focused to make wire framing easier
  • Pages can be applied with multiple (recursive) templates saving time
  • Invite co-editors and reviewers to collaborate your Wireframe project
  • Create, Visualize and export your Wireframe’s SiteMap
  • Export your Mockup to image or PDF document including comments
  • Get annotated feedback directly in the mockup
  • You can apply your preferred Wireframe Font with one-click

MockFlow is a production of A Produle Systems (P) Limited. Visit MockFlow: http://mockflow.com/

Similar Posts:


Welcome Two New Elegant Coders

I am happy to introduce 2 new Elegant Coders! We are excited to have their contributions to the site and look forward to their wisdom.

Kirstin Juhl

@kirstinj

We are excited to have Kirstin drop wisdom like she has been doing on her current blog: I [heart] Code. From her own bio:

I am a former engineer who writes code. I did Toyota Operating System, Kanban, and Lean in my factories a decade ago, and am fascinated by its use in software development today. You can take the girl out of the factory, but you cannot take the engineer out of the girl, and so I approach everything in life as a problem to solved or optimized. Including software development. I strive to be a craftsman.

I am a mom, and I take lessons from parenthood into my work everyday.

Jason Jarrett

@staxmanade

Jason is a big-time Silverlight maven and the developer behind StatLight, a set of unit testing tools for Silverlight. I knew he was perfect for the tribe when he said, “… and so I added automocking to Unity for Silverlight.”

Yeah. :)

Welcome all.


Silverlight and ViewModel meet F#

Many MVVM implementations are available on the net, personally I love the approach used by Laurent Bugnion in the MVVM Light toolkit and Michael Sync in the Silverlight MVVM toolkit (Jeremiah Morril have posted a great article about this pattern, don’t forget to read it here).

All these examples use C#, what about F# for describing ViewModel classes? F# is a very powerful and readable language and permits to perform operations using a small amount of code. Last, but not least, at this time it’s a first citizen .NET language and can be easily used in Silverlight applications as well.

How can we build a Silverlight MVVM solution using F#?

First of all, download and install the F# for Silverlight templates and samples.

Let’s start by defining a simple F# ViewModel class containing a simple “Name” property and a “SearchCommand”, this one using the DelegateCommand implementation available in Prism:

namespace SilverlightViewModelFSharp.ViewModels

open System.ComponentModel
open Microsoft.Practices.Composite.Presentation.Commands;
open System.Windows

type MainPageVM() =

   //Definition of the PropertyChanged event
   let event = Event<PropertyChangedEventHandler, PropertyChangedEventArgs>()

   //Definition of the "name" property
   let mutable name = "This is the value of a property defined in the F# ViewModel"

   //Definition of a test Command
   let searchCommand = new DelegateCommand<string>(fun (x) -> MessageBox.Show(x) |> ignore )

   //INotifyPropertyChanged interface
   interface INotifyPropertyChanged with
      member this.add_PropertyChanged(e) = event.Publish.AddHandler(e)
      member this.remove_PropertyChanged(e) = event.Publish.RemoveHandler(e)

   //Definition of the "Name" property
   member this.Name
        with get() = name
        and  set(v) =
             name <- v
             event.Trigger(this, new PropertyChangedEventArgs("Name"))

   //Definition of the "SearchCommand"
   member this.SearchCommand
        with get() = searchCommand

Cool, don’t you love this F# syntax? It’s so readable :)

Now we are ready to bind the MainPageVM to a xaml view inserting this simple code:

<StackPanel Orientation="Vertical">
     <!-- Example of binding to a F# ViewModel Command -->
     <Button Height="40" Content="Click me!"
           cmd:Click.Command="{Binding SearchCommand}"
           cmd:Click.CommandParameter="Hello from a ViewModel F# Command parameter"/>

     <!-- Example of binding to a F# ViewModel property -->
     <TextBlock Text="{Binding Name}" Height="40"/>
</StackPanel>

To make the ViewModel magic work, just assign the MainPageView DataContext with the F# ViewModel:

public MainPageView()
   {
       InitializeComponent();
       this.DataContext = new MainPageVM();
   }

The source code is available for download here.

New: updated the source code for Visual Studio 2010 Beta 2.

Happy Silverlighting!!


  • Sponsored Links

  •  

  • .

    Copyright © 1996-2010 Answer My Query. All rights reserved.
    iDream theme by Templates Next | Powered by WordPress