Steve Anonsen and John Rivard: Inside LightSwitch
- Posted: Aug 25, 2010 at 1:08 PM
- 48,904 Views
- 5 Comments
Download
How do I download the videos?
- To download, right click the file type you would like and pick “Save target as…” or “Save link as…”
Why should I download videos from Channel9?
- It's an easy way to save the videos you like locally.
- You can save the videos in order to watch them offline.
- If all you want is to hear the audio, you can download the MP3!
Which version should I choose?
- If you want to view the video on your PC, Xbox or Media Center, download the High Quality WMV file (this is the highest quality version we have available).
- If you'd like a lower bitrate version, to reduce the download time or cost, then choose the Medium Quality WMV file.
- If you have a Zune, WP7, iPhone, iPad, or iPod device, choose the low or medium MP4 file.
- If you just want to hear the audio of the video, choose the MP3 file.
Right click “Save as…”
- High Quality WMV (PC, Xbox, MCE)
- MP3 (Audio only)
- MP4 (iPod, Zune HD)
- Mid Quality WMV (Lo-band, Mobile)
"Visual Studio LightSwitch is a new tool aimed at easily building data-driven applications, such as an inventory system or a basic customer relationship
management system."
Typically, when making difficult things easy, the price is solving a set of very
difficult technical problems. In this case, the LightSwitch engineering team needed to remove the necessity for non-programmer domain experts to think about application tiers (e.g., client, web server, and database) when constructing data-bound applications
for use in their daily business lives. LightSwitch is designed for non-programmers, but it also offers the ability to customize and extend it, which will most likely be done by experienced developers (see Beth Massi's Beyond
the Basics interview to learn about some of the more advanced capabilities).
This conversation isn't really about how to use LightSwitch (or how to extend it to meet your specific needs)—that's already been covered. Rather, in this video we meet the architects behind LightSwitch, Steve Anonsen and John Rivard, focusing on how LightSwitch
is designed and what problems it actually solves as a consequence of the design. Most of the time is spent at the whiteboard, discussing architecture and solutions to some hard technical problems. This is Going Deep, so we will open LightSwitch's hood and
dive into the rabbit hole.
Enjoy!
For more information on LightSwitch, please see:
Comments Closed
Comments have been closed since this content was published more than 30 days ago, but if you'd like to continue the conversation,
please create a new thread in our Forums,
or
Contact Us and let us know.
Follow the Discussion
Great! Well done guys
I must (again) give a tribute to man who did this game changing approach 20+ years ago in "PC FAND" development tool, started at CP/M machines to process large datasets (in fact, government level agriculture datacenters in centrally
planned economy ...) and then ported to MS-DOS and then, unfortunatelly NOT ported to windows - obviously quite impossible in "one man show" scenario. He didnt use objects, there was no no ORMs, entities, DSLs, model-driven (not to mention -centric) development
and many other buzzwords. In fact, here was declarative not only models (with at this level computed fields as you have now, validation checks, recordset change triggers...) and screens (not so much formalized UX but its controls layout at least, scripted
by imperative pascal-like code - used also anywhere else), but here was also declarative reports and streaming-based semiparallel "change" queries (called "transformations" - so NO sql yet, no query optimizations, but low-memory consuption "jobs" with events
attached even on grouped-by property changes to produce many output resultsets streams in single pass over all input streams), also role based permissions, network concurrency using file-locking added later etc. So it is great to see now similar approach properly
extensible even on 2 and 3 tier architecture, Azure and so on! I always dreamed about this, knowing that its really difficult to implement this beast, as it must be done as close to SQL server as possible to be effective, togeter with integrated client based
UI, so your app-server runtime and whole simplifying of even so complex deployment is really amazing, not to mention true object orientation, first-class CLR/JIT powered languages even for model calculated fields, great extensibility points at right places...
In fact I am shocked to see this done
. But the man who did it first for me was Gert Klötzer
.
Have a nice code, even in future !
Very cool. Thanks folks. Charles mentioned using Rx in the calculated fields discussion. If the Data types were wrapper types, Rx could seem to handle this nicely. Just need to figure out how to inspect expression to figure out which data types to hook into for a general solution.
public class MyInt
{
int value;
Subject<int> changed = new Subject<int>();
public int Value
{
get { return value; }
set
{
if (value == this.value)
return;
this.value = value;
changed.OnNext(this.value);
}
}
public IObservable<int> Changed
{
get
{
return changed.AsObservable();
}
}
public static void Test()
{
var a = new MyInt();
var b = new MyInt();
var c = new MyInt();
// Setup Sum function that is called after any change to args.
Observable.Merge(a.Changed, b.Changed, c.Changed)
.Subscribe(i =>
{
int result = a.Value + b.Value + c.Value;
Console.WriteLine("Update Sum: " + result);
});
// Program can now set Values anywhere and Sum will be updated.
a.Value = 1;
b.Value = 1;
c.Value = 1;
c.Value = 5;
}
}
Thanks Steve & John, you've restored my faith in MS!
Everyone who builds the multi-layered bussines applications which goes a little beyond the simple master-details forms, arrives at a framework which has to take care of these things.
That's not something for everyone. I came under the impression that the people building visual studio & tools had no real world experience with this stuff. I always wondered what the dynamics/navision people thought about that.
And here you are.
After building my own orm/frameworks/viewmanagers/service layers and what not, I alway wanted to make it complete with some designers/wizards & tools to make building the app itself and bussiness rules a little bit easier.
That's what lightswitch really is. And off course there will be trade offs, and it's a 1.0 (still beta) version.
But it looks very very promising ! And not only for the ex-foxpro/ms access/clipper developers!
And with the azure/cloud route, it has to be a sure winner.
Any targets known about rtm/rtw ?
MarcelDevG
Yeah. How I wanted this back when doing access apps
Is there a reporting story yet?
Nice, staceyw.
C
Remove this comment
Remove this thread
close