Adding (DLR) Scripting to a Desktop Application
Want to Learn More?
I highly recommend Michael Foord's book, IronPython in Action.
I have blogged about MahTweets a couple of times: The long search for the perfect WPF Twitter Client. Over. and MahTweets goes 2.7.
MahTweets is a MS-PL open source social media client, created using MEF and WPF, based on .NET 4.0.
MahTweets 3.0 is presently in beta, with 5 strong contributors.
ADVERTISEMENT: If you are a UI/UX expert, and would like to experiement and contribute to an open source project: we need you!
Over the last 6 weeks, I have been adding Dynamic Language Runtime (DLR) to MahTweets; specifically for IronPython and IronRuby scripting.
Why?
Applications that are extensible become platforms. People build systems around these applications as they are malleable. Along with MEF, scripting is an equally valid way to extend an application’s abilities.
What does it look like?
Pop over to the MahTweets.com web site to see what has been implemented so far in version 3.0:
- MahTweets 3.0 Scripting: Introduction
- MahTweets 3.0 Scripting: Part 2, Getting Inside MahTweets
- MahTweets 3.0 Scripting: Part 3, Going Beyond the Simple: adding UI
- MahTweets 3.0 Scripting: Hidden Features
How?
The key block of code is something called ScriptCollection.cs
This is a work-in-progress: it manages the directories and files. Also, the scripts entry points within the script files; and calling scripts from the MahTweets application.
Over time, I will be making this a little less MahTweets specific, and produce more documentation.
It is best to get the base code solid and tested in production.
MahTweets is in beta, and I use it 24x7. Yes, I am a twitter junkie.