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 3 - What we Know So Far & What We Can Predict (Part 2 of 3)

Silverlight 3 Development Stack - Part 2
  • Part 1 - Silverlight 3 Announced Enhacements
  • Part 2 - Silverlight 3 Development Stack
  • Part 3 - Silverlight 3 Integration with the Microsoft OS and Platform Stack
  • Part 4 - Silverlight 3 vs Flash and the iPhone
  • Series Update: In Part 2 of the series, I decided to look at the Silverlight 3 Development stack and Part 3 will look at the Silverlight 3 platform/OS stack (I added another part in the series.)

    In Part 1 of this short series, I looked at what we know so far about Silverlight 3 from what has been announced by Microsoft.  In Part 2 of this series, I take some educated guesses as to what and how Silverlight 3 will be released in relation to the development environment.  Note this article doesn't contain some random guesses.  It is a higher level (architectural) overview of how Silverlight 3 could interact with the upcoming Microsoft development/technology stack.  This article title also might be a little misleading when compared to Part 1 of the series as it tries to predict the development changes in Silverlight 3.

    Silverlight 3 will obviously evolve as an individual technology and this next version will include a lot of changes that have not yet been made public.  However, one of the huge differences between Silverlight and other RIAs is that Silverlight can benefit because of its ties to Microsoft's development, product and OS stack.  This article looks at the Silverlight 3 development stack and its impact for the Silverlight developer.

    Probable New Microsoft Development Stack from Silverlight 2 -> Silverlight 3

    As you can see from the chart, MY GUESS (This is not confirmed yet) is that the entire Silverlight 2 -> 3 stack will evolve accordingly with all the Microsoft development technologies.  I cannot stress how important that graph is above.  Silverlight 3 will not only get its own features, but as a first class Microsoft technology, it will benefit from the core technologies that make Silverlight what it is.

    No other RIA even comes close to providing these value add benefits that the Microsoft Development Stack does.

     

    Predictions of each stack item and educated guesses on improvements for Silverlight (These are my educated guesses):

    • .NET 4.0
      • Prediction: Silverlight 3 will run on .NET 4.0 (The rest of these obviously snowball on each other. .NET -> Languages -> Visual Studio -> Tools).
      • Prediction: Silverlight 3 automatically will get an update (even though it's a subset of the full .NET framework) with all of the new changes happening to the BCL.
        • The Parallel library is now part of .NET 4.0....PLEASE let that be a part of Silverlight 3 :)  In 2009 when most workstations will be quad or six cores standard, what a huge advantage Silverlight would have if you could do abstracted parallel computing easily !??!
      • Prediction: The changes to WCF, WF, ASP.NET 4.0 should be able to be consumed by Silverlight either directly or through WCF services (more on WCF later).

     

    F# is now part of VS 2010 (Silverlight 3 as well?).

    • Languages
      • Prediction: C# 4.0 and VB.NET are evolving as languages and there are many new exiting changes happening with their syntax.  Silverlight 3 should retain all those benefits as well.
        • In Silverlight 2 we got all the .NET 3.5 goodness: LINQ, LINQ to XML, lambda expressions, extension methods, automatic properties, implicit typed variables, etc.  Going by that past trend, there is no reason why the new C# 4.0 features wouldn't naturally flow into Silverlight 3.
      • What we know: F# is now part of .NET 4.0 (promoted from just a "lab" language and will ship as part of VS 2010).
      • Prediction: F# for Silverlight will be HUGE.  F#'s ability to create recursive/functional statistics will be an indispensable resource for the BLL on the Silverlight 3 client.  With F# (math/functional background), we will have the ability to create very nice "lite" statistical/math/physics/game AI ON THE CLIENT rather than having to resort to services sending us the result.
        • There are several "hacks" already to get Silverlight 2 working with the F# add-on, so I don't think this is pretty easily going to happen.  Bill Reiss has a good article about how you can do this already.
        • For example, for Business Intelligence applications, creating more complex statistical algorithms will become much easier with F#.  Imagine being able to offload this processing in parallel on the client and not having to rely on high latency services.  Now we are talking real-time BI and delivering the insight visually with Silverlight animations, charts, graphs, etc.
      • Prediction: F# is going to be the Python/Dynamic Languages language of choice for non-MS developers moving to Silverlight 3 (he same way C# was that first class language for Java/C++ developers).
      • Prediction: F# is all about creating immutable types for concurrent programming.  It is a nice paradigm shift that will make creating complex business processes ready for parallel processing easier than using non-functional languages.  Especially for Business Intelligence applications, F# can be a game changer in how quickly you can design financial/statistcal algorithms and apply them to data sets on the client (in parallel).
        • If you are reading and nay-saying this, then you have no concept of statistcal based programming and how hard that is do in C#.  Isn't Silverlight too slow to do this?  Your Excel runs on the client and, with the same processes, is able to do very powerful Excel spreadsheets, right?  How do you think Microsoft will implement some of the statistical functions on their Office Web - Excel?  Hint Hint ;) There is absolutely no reason why Silverlight 3 won't be able to come close to Excel's performance.
    • Visual Studio 2010 & Silverlight 3
      • Prediction (obvious): Silverlight 3 will be part of VS 2010.
        • VS 2008 was released before Silverlight 2, so the Silverlight 2 SDK/Tools is an add-on for VS 2008.  Hopefully, VS 2010 changes this and makes Silverlight projects/templates a first class citizen in VS 2010 (no add-on required).
      • Prediction (very obvious): VS 2010 will obviously evolve as a developer tool.  Silverlight 3 benefits intrinsically through this evolution.
      • Prediction: VS 2010 & Silverlight have much closer ties with SDLCprocesses.  The enhancements to Team Server, Unit Testing, Agile Processes, QA functional testing all should flow into the tool and Silverlight 3 should benefit from all of these changes.
        • Silverlight 2 of course has some of these frameworks.  Unfortunately, they don't have native support in the VS Tools.  I am hoping this changes in VS 2010.
        • Continuing the ball rolling....obviusly, it would make sense that the Silverlight 3 SDk/Tools are going to be made available for VS 2010.
    • Expression Blend 3 (Design 3?)
      • Prediction:  Blend 3 becomes a FIRST class design client for Silverlight 3.  I mentioned this already in Part 1 of the series as an announced item.  However, one thing I do want to stress is that my source of the information mentioned Microsoft's big investment in Blend.  This should bode well for a monster release in Blend 3, making it a first class tool for Silverlight 3 designers and developers.
      • Prediction:  Blend 3 integrates WPF, Silverlight and Surface XAML better including other tools like Illustrator.  If Silverlight 3 includes new controls, XAML enhancements, better integration with WPF, it is pretty safe to assume that Blend 3 will work with VS 2010 projects natively.  I am not sure that Microsoft would create features for Silverlight 2 backwards compatibility (other than importing/exporting Silverlight 2 assets).
    • Silverlight for Mobile Devices
      • Prediction:  Silverlight for Mobile Devices will be launched as part of Silverlight 3.  In Part 1 of the series, I linked to a video from the PDC about Silverlight for mobile devices entitled: Microsoft Silverlight 2 for Mobile devices.  In this video, you will note something interesting that it was being stated as Silverlight 2 would be the version for mobile devices. 
        • In my opinion, this will change in favor of Silverlight 3.  As most of you know, the PDC took place at the end of October 2008 (right around the release of Silverlight 2 RTW).  I don't think Microsoft wanted to "muddy the waters" with introducing Silverlight 3 as they were heavily pitching Silverlight 2 as the next big thing.
        • We will probably have some emulator support for Silverlight 3 and VS 2010 and it will have its own set of guidelines.
      • Prediction:  Silverlight for Mobile Devices will be launched on Windows Mobile (duh), Symbian AND Blackberry OS.
        • About the Blackberry OS:  RIM is feeling the pressure from Apple's iPhone (I own one).  Apple is stupidly locking down development (They just recently lifted the NDA) and won't let Flash on there (afraid of Flash becoming an EASIER programming platform??).  RIM already includes Office Lite support (Excel, Word, Outlook, etc.) on their phones so they have a good relationship with MS.  Silverlight on RIM based phones would be huge and further cement my belief that Silverlight is going to the leading business RIA. 
          • Prediction:  Silverlight as a mobile programming runtime not just web glitz.  If RIM opens up to a Silverlight runtime on their phone, they'll catch up to Apple real quick.  That's what bothers me about some of these executives that make these grandiose promises with no clue as how the real world operates.  Do I want to learn ANOTHER platform to program for the Blackberry?  Why does RIM want to get into the app development business?  Open your platform up to Silverlight.  Let fit clients on there.  The amount of applications will EXPLODE as you are now making your platform available to millions of .NET developers.
    Relevant Dates - March 2009 & Q3 2009
    • March 2009 - Silverlight 3 CTP
      • Visual Studio 2010 CTP has been released over a month ago; however, IT DOES NOT include any of the predictions I mentioned above. Note, it's also about to expire on 1/1/2009 and I don't think that Microsoft is about to update the VPC.
      • The next Visual Studio 2010 CTP has been slated for March 2009.
      • For those that have been following Silverlight development, March is the time Silverlight developers get "their" conference.
        • Mixx 2007 - Silverlight 1.0 Beta and Silverlight 1.1 Alpha (Silverlight 2) were announced
        • Mixx 2008 - Silverlight 2.0 Beta 1 announced
        • Mixx 2009 - Silverlight 3.0 Beta 1, Silverlight for Mobile Devices announced (?)
    • Fall 2009 - Silverlight 3 RTW
      • It makes sense for Silverlight 3 RTW to be released in Q3 2009.  This would follow a similar timeframe [Silverlight 2 Beta 1 (March) -> Silverlight 2 RTW (October)] of Silverlight 2.
        • Some might argue that Silverlight 2 (Alpha 1.1) was released in March 2007.  That is true; however, Microsoft had a lot more to do to staff up these projects and essentially start from scratch.  I think that time was spent more on design/architecture rather than development and Silverlight 3 should have a much smaller release cycle.

    March 2009: Around the Mixx 2009 conference, we should have a new Visual Studio 2010 CTP with Silverlight 3 compatibility and a go-live license (at least I hope).  Q3 2009 should see the release of Silverlight 3.  This would follow the same development timeframe Silverlight 2 took.

    Summary

    Hopefully in this article you learned about some of the possible changes that are coming to Silverlight 3 development.  This no doubt will evolve Silverlight into a more mature platform that can take more advantage of advanced .NET framework features, enjoy further integration with ASP.NET/WCF/WF, leverage language enhacements (and new languages F#) and use the new Expression suite design tools.

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