Epic – Silverlight future, but mostly past

As developers we always strive to use the newest technologies and be kept up-to-date with our programming languages. The most terrible thing that could happen is to become obsolete with your skill, or that you are using an obsolete platform and Silverlight has just won the title. Its kind ‘a sad, but most likely, justified. Microsoft, again, waited for the final hour to pull the plug and still the enigma remains.


Two of the most requested features for Silverlight were to unite the programming models with WPF in one front, and to make Silverlight a cross platform. While Microsoft tried to somehow achieve closeness to WPF, the other goal was fully abandoned and with a cause: if Silverlight is a cross platform then there’s less reason to use windows as an operation system and that’s not really the Microsoft business that sold more than 500 million licenses of its previous Window 7.
Silverlight 5 is soon to be released and it will probably be the last version Microsoft will release for the product. Again, there is no official quote out there beside “Microsoft must give developers and customers a year heads-up before ending support for any given Silverlight version” says one of the unofficial reliable sources out there. If you have been breathing the Microsoft air none of this is striking news since last year’s Silverlight strategy shift. If we add to the equation Adobe’s announcements regarding Flex the future becomes much clearer where HTML 5 is doomed to rule am all.
Considering that HTML and JavaScript has always been here, and the fact that they are the only truly cross platform supported – as far as cross platform support can be (browsers compatibility). Java you say? Java is cross platform! but let’s face it, if you want to write a bountiful UI and have a great UX and not deal with any JVM for ARM or 64bit machines your last resource would probably be Java, that’s why it has been moving to server side for years in a making, and even there it lacks a strong standing against “simpler” technologies like Python or Ruby and likes.
HTML 5 to rule them all
Sad as it is (IMHO) JavaScript is here to stay and holding with its nails the screens that you look at. Not for nothing libraries upon libraries are built on top of it: Script# (- most of Microsoft’s live office), GWT (Google’s heavily invested platform), JQuery, MS AJAX, and even new promising libraries like Dart (by Google) and so many more.
Beside all that if we can think of a clearer future where all smartphones apps would be written in HTML5 and “Imagine” that they will have some kind of unified interface to the OS then we will see a dominating language once and for all. If we add one more wish to the list that MS IE will be built on top of WebKit then we also remove the cross-platform obstacle. But that’s just one big wishful thinking for the time being.





Windows 8 is the new radio wave announced after the build conference in September and Metro is the new hype! So what is it really? An app platform? What are all the nuances whit these apps?
The Apps World



If you are building an app than you probably should fall within the common ground: OS utilities, Games or Proxy for online service/s. if you haven’t been playing nice your app is a dinosaur that uses the file system or a local store, does not interact with the net, have nothing to do with the cloud and eats lots of OS resources. You should only fall within this cube if you are building the next Photoshop or Cubase and even they are trying to move into the cloud. Now don’t get me wrong, there are many IT application and others that are real desktop application with the right for existence – for now.
So let’s get to our question: windows 8 introduced the “Metro” shell that resembles the windows phone 7 interface (touch screen, tiles) and only after clicking the “Windows” button you can see the familiar desktop interface (“legacy mode”). Internet explorer 10 is available as Metro style app and as a desktop app. What that means is when running in Metro style you lose the chrome (the window border) and actually see IE in full screen mode, most importantly it runs plug-in free. Yes, no Flash, no Silverlight no PDF reader… why? Because running in that mode gives you a longer battery life as well as security, reliability, and privacy for consumers. Remember, this is where we started – Silverlight future – gone? What Microsoft wanted is to have a simple OS that can run on 86/64/ARM without all the mambo jambo.
MEtro Style UI (Windows 8)
How do we get cross-process support?
Where .Net really stands tall (beside the fast pace and many goodies) is it abstraction layer above the OS, hardware, IO and network. It provides a first-class managed API’s into windows. And here is where Windows 8 really shines; WinRT is the new abstraction that makes Windows 8 what it is. It enables developers to write apps in C, C++, .Net (and XAML) and JavaScript. I already mentioned that JavaScript is here to stay haven’t I? All Metro style apps have the same look & feel; all have their title placed with the same font and with the same size… so they are really an extension to the Metro. There’s a great deal that comes with it. For instance all the charms built into windows come for free. You can register to a charm contract or “publish” content to the charms – you are fully integrated into the OS where WinRT marshals the operation as one big orchestration.
As a developer you can fully test your application for compatibility at dev time using the SDK and publishing to the app store will only be successful after Microsoft will authorize your app (using the same SDK). This should take no more than a predefined time – we’ll see how that works in the future.
So where are we?
No Silverlight, new Metro style, Getting stronger with HTML 5 and JavaScript. Having said all that makes me said, because Silverlight is really a great platform for developing eye-candy applications with strong tools and dev envs. You can have a great application up and running in no time. But still, it’s just a regular application delivered via the browser. Sure it can be replaced with equivalent WPF application, and yes, it will not run on IOS as Silverlight does, but does it really matter? Has the future of programming changes forever? Are we obligated to web applications regarding the end UI?
Lastly I read an article that described the email as the past decade electronic communication given all the social networks and tweets available. People get messages via Facebook, use IMS, get subscribed to syndications. You are more likely to communicate with your friends via all the above before you use emails. This doesn’t stand for work and errands, say, with your insurance company. So emails are here to stay, so is .Net, ASP.Net, MVC, WPF and of course HTML with its best friend JavaScript. I'm afraid we’ll have to let go of Silverlight at some point and hope that the WWW consortiumwill get to be more agile. Or better yet, hope that IE and all other browsers will be based on WebKit; or not.