MIX day 3

.NET, MIX, Technical stuff, Work
See comments

Today was MIX’s last day, and it’s almost painful to have to leave. I can’t believe how fast it went, how packed with information it was, and how many great people I had the chance to meet. To all of you, I want to say thanks for the great time I spent here. The organization was, as usual, spotless. Now I have so much information to process and sort, this will keep me busy for a long time… Oh how I hope to make it to MIX08 ;)

Extending the Browser Programming Model with Silverlight

If I had to choose the most exciting session of the whole conference, it might be this one. I don’t think that most people actually totally understand what Silverlight will enable them to do in the web browser. You see, the fancy UI, media, animation, that’s all great, but Silverlight brings something more to the web client: It brings the .NET framework to it! It’s also very nice to see that they actually do it in a very clever way: The integration in the browser is much more than just a set of API, like LiveConnect for Java applets. In fact, the collaboration JavaScript – Silverlight is very deep and if not totally seamless, at least it is very comfortable. What we saw this morning was alpha stuff, but it already demonstrated a great level of completion, and a very clean feeling. What I wrote about yesterday still applies:

As we progress through the conference, I have been thinking a lot about the future of JavaScript. As you may know, I really like JavaScript. It’s been with JavaScript that I started making my first contibutions to the programming community already more than 10 years ago. I really love that language and have been evangelizing it quite a lot within Siemens. But now I think that I’ll find myself using C# on the target web browser more. This is actually what I have done already years ago with Java and LiveConnect. Java has the ability to do things that JavaScript cannot: Open sockets to the server, read and parse server-side files, etc. So I made invisible applets (1*1 pixels, and getting the same background color as the page). However, the communication Java – JavaScript using LiveConnect was always cumbersome. Silverlight pushes this a lot further, and allows direct access, because the Silverlight DOM is totally exposed to JavaScript. Also, you can hook JavaScript event handlers to Silverlight events, and you can also hook Silverlight event handlers to HTML events. Honestly, if I had to choose one feature that really tops all others in this conference, that’s the one.”

Everybody I talked to is very excited about this. JavaScript is definitely not past anymore (if anything, we need to have some kind of fallback scenario if Sliverlight runtime is not available, and also JavaScript will be used to update the HTML front-end where available Of course there will be pure Silverlight pages like there are now pure Flash pages, but I think that the best will probably be to mix HTML and XAML for the UI. Simlarly, probably the best model for the code will be a mix of JavaScript and C#. Oh, exciting times are coming!!

Very nice attribute: [Scriptable]. This attribute, when added to a C# event, for example, makes JavaScript able to subscribe to this event!

Also nice to hear: Silverlight relies very much on JSON. For example, a JavaScript serializer and deserializer is provided, and allows passing complex object types from JavaScript to .NET (simple types can be passed directly, and support for additional types will be added as time goes).

Additionally, WCF also supports JSON: The SoapHttpClientProtocol is actually using JSON, with the MIME type “application/json” and supports synch and async communication. SO using WCF; SIlverlight can communicate with ASP.NET application services.

Also, Silverlight provides access to the IsolatedStorage. A great use for that feature: A “super cookie”: What you save in IsolatedStorage from one web browser can be retrieved from another web browser running on the same PC. Ever wanted to share information between IE and Firefox? Well, just save it in an isolated file in one browser, and retrieve it from the IsolatedStorage in the other browser!

Finally, an OpenFileDialog is provided, and allows a much better support for simultanous uploads to the server. Security was observed, and the OpenFileDialog provides read-only access to the selected file. Additionally, no path information is provided to the Silverlight application, only the file name.

Leaving… :(

VoilĂ , it’s time for me to get back to reality. I’ll be headed to Chicago first, where we have our US headquarters, and where I will spend two days with my US colleagues on the project. On Friday evening I get back to Switzerland.

This post was imported from my old blog. Original comments screenshot:

Previous entry | Next blog entry

Comments for MIX day 3