Silverlight Hack

Silverlight & related .NET technologies

About Me

Welcome to Silverlighthack.com.  This is a site where you can find many articles on Silverlight, Windows Phone 7 and .NET related technologies.  

My name is Bart Czernicki.  I have been working with computers since 1988 and have over 12 professional years in the IT field focusing on architecture, technology strategy and product management.  I currently work as a Sr. Software Architect at a large software development company.

Below is the cover of my new book that shows how Silverlight's unique RIA features can be applied to create next-generation business intelligence (BI 2.0) applications.

Silverlight 4 Business Intelligence Soft 

Contact: bartczernicki@gmail.com

View Bart Czernickis profile on LinkedIn

NONE of the comments or opinions expressed here should be considered ofmy past or current employer(s).  The code provided is as-is without anyguarantees or warranties.

Silverlight advantages over Flash (not another Silverlight vs Flash)

As I have been working with Silverlight over the last year, I came across many Silverlight vs Flash articles.  Many of them are outdated and from last year (2007).  Even entries from a couple of months ago (before Beta 1 or Beta 2) are essentially irrelevant.

I decided to write a (biased, obviously) post with some of the advantages Silverlight 2 Beta 2 currently has over Flash/Flex.  Adobe Flash is much more mature of a product and has been around for over a decade now.  A lot of the technology Macromedia/Adobe pioneered has simply been "copied/leveraged" by Microsoft.  Even though this is the case, I am strictly going to focus on the aspects that make Silverlight 2 better than Flash.

  1. Development IDE
    • The development IDE for Silverlight 2 is Visual Studio 2008.  Bar none, Microsoft has the best development IDE on the market.  Whether you are programming are a C++, C or Java programmer, you will learn to envy Visual Studio 2008.  A lot of the items that I will post below can have constructive arguments.  However, this is one of the few that is iron clad.  There simply is NO comparison between Visual Studio 2008 and Adobe Flex Builder 3.
  2. .NET Framework & Languages (C#, VB.NET and dynamic languages)
    • Silverlight 2 runs on a subset of the .NET 3.5 Framework.  Therefore, it requires a the use of a .NET based language.  The two flagship languages in .NET are C# and VB.NET.  Flex uses ActionScript.  If you are a .NET/Microsoft development department, you already have the majority of the skills necessary to start developing in Silverlight!  That is a huge advantage over Adobe's counterpart.  Silverlight also supports writing applications in dynamic languages such as Iron Ruby.
  3. Intergration with Enterprise based technologies
    • Silverlight 2 integrates very well with other Enterprise Microsoft .NET based technologies.  Silverlight 2 is not a technology that is out there on its own fending for itself.  Microsoft did a real good job integrating the technology with its other enterprise offerings.  I am going to cover just a couple biggies:
      • WCF.  The ability to use: WCF basicHttpBinding, duplex binding and WCF REST services is huge.  WCF allows architects to create a first class Service Oriented Architecture and it can be consumed by Silverlight clients.  Adobe has nothing of the sort.  Flash and Flex obviously can consume web services/REST services etc. However, the entire WCF framework gives Silverlight a big advantage
      • LINQ.  Silverlight just like Flash/Flex are client side technologies.  In the Web 2.0-3.0 days a good design is to minimize calls to the server and try to manipulate some of the data on the client.  LINQ works inside Silverlight.  It is a VERY powerful architecture option to be able to manipulate data structures fast and efficiently on the client rather than having to rely on the server.  This gives Silverlight simply a huge advantage in productivity and architectual capabilities.
  4. Perception as an RIA business framework
    • Perception is everything.  When I speak to other developers about Silverlight, they are generally very excited and motivated to learn the technology.  Why?  It essentially is very similar to Flash, which has been around for several years now.  It is all about perception.  For example, lets look at the iPhone when it launched last year (2007).  Everyone and their mother lined up to get one, even though the phone was lacking major mobile technology that had been around for a couple years prior.  Another example is VB.NET vs C#.  VB.NET has always been looked as the red headed step child in .NET when compared to C#.  C# has the perception of a more mature, professional and advanced language.  This is where I think Silverlight has a huge perception/marketing edge.  For creating business applications you will probably find it a lot more developers, architects and dev managers rallying around and more comfortable with Silverlight rather than Flex.
  5. Microsoft has Windows
    • Like it or not, Microsoft still controls 85%+ of the desktop market.  That percentage is even greater on business workstations.  Even though Flash/Flex has a huge market lead now, Microsoft can simply put a monsterous dent in it by releasing Silverlight 2 RTM as a hotfix, part of a Service Pack or part of the next Windows release.  Microsoft can simply distribute the Silverlight 2 RIA framework on a level no other company can.  Many IT engineers will like Silverlight since it is a Microsoft based technology. It will make it a lot easier to distribute to their employees.
  6. Mesh
    • Mesh right now is Microsoft's offering to sync up data between computers.  It uses Silverlight as the UI.  Unless you have been sleeping under a rock, you probably have heard Microsoft tried to buy Yahoo multiple times and tried to essentially buy their way into the search/advertising market.  This is one area where since 1995 both Web 1.0 and Web 2.0 have both passed Microsoft by.  Mesh is going to be Microsoft's big splash into Web 3.0 and the semantic web/cloud computing and allow them to compete with Google, Yahoo, FaceBook.  What is great is that Silverlight is the UI for this huge "Internet 2" technology.  If Mesh takes off (like a lot of people thing it will), Silverlight is going to be THE technology to know.

That's it?  Notice I stayed away from topics like performance, XAML, codecs and all that.  You will see many articles pointing one way and some in favor of the competing technology.  I just wanted to list the main items that I think give Silverlight a clear edge over Flash/Flex.  Not all of these items are current advantages.  For example, items like Mesh have the potential to carry Silverlight as a first-class web technology. If you have any other key items to add, please comment below.

Update: I found this comment (from my comment section below) too funny.  I wanted to post it up here.  It's from James Cadd.  I know it's not serious, but it just talks to the point I was trying to make about perception of Flash above:  "I've been developing .NET business apps for 8 years now (since beta 1) and have found Silverlight very accessible. Keep in mind I do have WPF experience.  But when I want to write some code in SL, not only do I know exactly what classes to look for, but I also bring with me the patterns I've used to develop with that specific set of classes for a long time now. The Flash people, of course, bring plenty of experience making animated images of monkeys swinging on trees ;)"

kick it on DotNetKicks.com

Posted: Aug 12 2008, 15:06 by Bart Czernicki | Comments (42) RSS comment feed |
  • Currently 3.5/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5
Filed under: Silverlight
Tags:
Social Bookmarks: E-mail | Kick it! | DZone it! | del.icio.us
blog comments powered by Disqus