CodeStock 2008 SilverLight
By CSharpner · August 9, 2008
Today (August 9th, 2008) was the 1st annual CodeStock convention. For a rundown of the events, click here. The first event was the opening keynote address by Jeff Prosise. He spoke mostly about SilverLight. Here's a quick and dirty synopsis of his address:- Microsoft no longer uses the term "UI (User Interface)". It's now "UX (User eXperience)".
- The Core BCL (Base Class Library) is composed of 6 DLLs (I don't have them listed here):
- There's an extended BCL
- Assemblies not included in the browser add on
- Microsoft will be reviewing usability and deciding which, if any, will be added to the core SilverLight BCL.
- Add references to these DLLs in your project and they'll automatically get downloaded to the client's PC when they use your SilverLight app.
- The browser will cache these DLLs so they will not be re-downloaded every time.
- Assemblies not included in the browser add on
- Networking
- Silverlight apps can cross domains (They can access servers outside of the server they were downloaded from).
- Can open sockets.
- Some features require user permission.
- I/O is always asynchronous. There is no option for synchronous I/O.
- There's a webclient class for controlling the client.
- background threads can't directly touch the UI (without marshaling)
- But the webclient can? (someone correct me on this).
- Controls
- The looks of the controls are completely customizable.
- Example: Listbox - item content can be any XAML.
- The looks of the controls are completely customizable.
- Multi-threading
- Thread, ThreadPool, Monitor, etc...
- Timers can fire events at given intervals, so handlers run on the UI thread.
- General File I/O.
- Not permitted unless an open file dialog is presented to the user and the user manually selects a file.
- "Isolated storage" is permitted and files are persisted.
- Silverlight can call JavaScript... C# can call JavaScript.
- JavaScript can call C#.
- Events can be fired in C# and handled in JavaScript.