For the last year (or so) it has been official that Silverlight have reached a point of maturity. From Microsoft’s point of view it means that it will not be updated as often as we have seen previously. Many see this as if the technology is dead.
In some sense I agree – a technology that won’t be upgraded is as good as dead.
Only issue here is that Silverlight is still an amazing technology and one of the best technologies for building true Line-of-Business applications for the browser and the desktop. My company still builds several Silverlight based applications – there are no real alternatives.
With that in mind Windows Developers in Denmark are pleased to announce that we have teamed up with Packt Publishing and are organizing a give away especially for you. All you need to do is just comment below this post and win a free copy of “Instant Silverlight 5 Animation” – three lucky winners stand a chance to win an e-copy. Head on over to this page and look through the product description of these books and drop a line via the comments below to let us know what interests you the most about these books. It’s that simple.
The contest is only for members of Windows Developers in Denmark and will close on 6. March 2013 . Winners will be contacted by email, so be sure to use your real email address when you comment!
This weekend Silverlight 5 was released. Pete Brown has written a fine overview of the new features here. The new version is available at silverlight.net – downloads are available here and an overview of the new stuff in Silverlight 5 can be downloaded here.
Last year I received the Microsoft MVP award for my work in Silverlight technical communities. It was a great honor for me and was something I worked towards for quite some time. The year as a Silverlight MVP brought a lot of meetings (online and offline) and I meet some really cool and interesting people at the yearly MVP Summit.
In the same period Silverlight have been doomed several times – by the media and by developers around the world. Well, it seems that Silverlight got a somewhat bright future – least for some years to come.
I wasn’t sure my involvement in the community – online as well as offline – was sufficient to get my MVP renewed. However late Saturday afternoon I received this mail:
“Congratulations! We are pleased to present you with the 2011 Microsoft® MVP Award!”
YEAH :) I’m looking forward to another year as Silverlight MVP and to meet a lot of new people in the community.
Stay tuned at my blog (http://xamlgeek.net) and expect to read a lot about Silverlight, Windows Phone and Windows 8 development.
Throughout September Packt, a leading publisher of Microsoft books, will be celebrating 10 days of Silverlight 21st – 30th September. Throughout these dates there will be up to 20% off Silverlight books and 30% off eBooks – for further information visit: http://www.packtpub.com/packt-10-days-of-sql-server-silverlight-sharepoint.
This is the third post in a series following up on the //build conference.
I would lie if I didn’t say that Silverlight got a really special place in my heart. Since the very first introduction of Silverlight I have been able to see the idea behind Silverlight and the possibilities that Silverlight provides.
At //build a new API called Windows Runtime (WinRT) was announced. Based on this API it is possible for applications designed to run as Windows 8 Metro Style applications to communicate with the Windows Core Services in an easy manner. At the moment Windows 8 will be separated into the new Metro UI enabled a fast and fluid UI to touch based devices and into the normal desktop as we have it in Windows 7. The new Metro UI is a new and appealing way of running applications in Windows – however it is designed to tablets and touch and very much to consumers. From a business perspective it will take some time before the Metro UI will have its place – but it will come as more and more tablets and other touch based devices are being part of business.
The new Metro UI is a scaled down version of the full Windows experience – it got some limitations probably introduced to insure full fast and fluid experience. One of the limitations is the browser. As it is the case on the IPad it is a scaled down version and it does not support plugins. No plugins!? Yes, it makes it impossible to run Silverlight, Flash or Java-based applets (like NemID). At the same time it is not possible to run Silverlight applications out-of-browser or native (like on the Windows Phone) in the new Metro UI. In stead a new language based on XAML and C# was introduced to create Metro style applications.
GOSH! Is Silverlight dead then? No, Silverlight and WPF are still the preferred way to created business applications running on Windows. Both Silverlight and WPF applications can run on the classic desktop in Windows 8, but no doubt that the Metro UI is coming and it is going to be huge – I personally hope to see it released in the first half of 2012. However Microsoft haven’t released any news about a business strategy and it will probably take some years before we see Windows 8 in any of the large corporations. That is why I without a doubt say that Silverlight and WPF are still the preferred way to created business applications running on Windows.
If you feel that all of your Silverlight skills are wasted now then don’t worry. I got some REALLY GOOD NEWS! If you are a Silverlight or WPF developer you can reuse ALL of your skills. The XAML and C# based language used to create the Metro style applications are only slightly different from the language we use when creating Silverlight or WPF applications. I will write lots of posts in the future about the new language but until then: Sharpen your skills in Silverlight today and be ready for the applications of the future. I fucking can’t wait to create some amazing applications to the Metro UI :)
N.B. If you live of creating minor applications to consumers you should probably begin to take a seriously look at the new Metro UI – better today then tomorrow!
At the moment I’m attending the Microsoft //build conference. It has been some exciting months leading up till this point with very little information from Microsoft. As a contractor and MVP with focus on Silverlight and WPF it has been extra exciting. Will Microsoft totally kill Silverlight, will Silverlight become first class citizen in Windows 8, will there be a new technology replacing the client side perspective that Silverlight have done so well. The questions were many before the keynote.
During the next few blog posts I will give my thoughts on what we will see in the future based on what I have heard at the //build conference.
Windows and the new Metro UI
The future of Silverlight
Tips and tricks to Windows 8
Dual boot with Windows 7 and Windows 8 (VHD)
Disable spell checker in Windows 8
Installing and running a Silverlight application out-of-browser makes it possible to create a better experience to the user. Sometimes it is necessary to update the installed application and with the build-in functionality in Silverlight it is a pretty straight forward operation.
Depending on your application the update should be done early on in the application. Normally I do it as part of the Application Startup event before setting the RootVisual.
First we need to make sure the update is only done if the user is actually running the application out-of-browser. Application.Current.IsRunningOutOfBrowser will be true if the user has installed the application and running it out-of-browser.
On the Application.Current object we can call the CheckAndDownloadUpdateAsync method. This will check if an update is available and download it. The method is an asynchronous method and we need to subscribe on its complete event to complete the update.
If an update is available (and have been downloaded) the UpdateAvailable property of event arguments for the complete event will be true. The update (the new XAP file) have been downloaded but not installed as it is not possible to remove the old XAP file since the user is actually using it to run the application. Therefore the user need to restart the application to install the update.
In some applications it is ok not to require the user to restart the application but in most scenarios it is the preferred solution – think about service updates and so on.
At the moment it is not possible to separate the check and download. It is not possible to check if an update is available and the ask the user if she wish to actually download the update. If the CheckAndDownloadUpdateAsync method is called both check and download will be invoked.
In most debug scenarios this update check will be annoying since the XAP file will be updated everytime you build your project. To overcome this I normally adds an if-not-debug (#if !DEBUG) around the update check.
Source code is available here.