Welcome!

PowerBuilder Authors: Chris Pollach, Yeshim Deniz, Jayaram Krishnaswamy, Kevin Benedict, Avi Rosenthal

Related Topics: PowerBuilder, Microsoft Cloud

PowerBuilder: Article

Ask Not for Whom the Bell Tolls...

...it tolls for....WPF?

...it tolls for....WPF? That may be the case. In case you haven't been following, WPF is Windows Presentation Foundation, the next generation method of creating a graphical user interface for Windows-based applications. Why is the bell tolling for it? Well, to explain that, we need to cover a bit of history.

WPF 3.0 (there was no 1.0 or 2.0) was released as part of the .NET 3.0 Framework in November of 2006. In December of 2006, Microsoft did a Community Technology Preview (CTP) for what was then called Windows Presentation Foundation/Everywhere (WPF/E), a subset of WPF intended to run in a browser, later to be called Silverlight. Over time, the two products have differentiated somewhat so that while they are both based on XAML, there are significant incompatibilities between them. [1] There has been great interest in, and much talk about, realigning the two products again so that something developed on one can be more easily ported to the other. Just over a year ago, Microsoft's Pete Brown as suggesting that "In the future, it is very likely that both Silverlight and WPF will be a single technology with a single codebase."[2]

Then came Microsoft's Professional Developer's Conference in October of 2010. In an interview related to that event, Microsoft's Bob Muglia dropped the bombshell comment regarding Silverlight: "our strategy has shifted".[3] What many people (myself included) inferred from that interview is that Microsoft was relegating Silverlight as the development tool for Windows Phone 7, and was choosing instead to focus on HTML5 for cross-platform, browser-based applications.

That was followed on December 2, 2010, with an all-day Silverlight Firestarter, at which the beta for Silverlight 5 was introduced.[4] For a lot of people who had been concerned about Bob Muglia's earlier statements, the Firestarter was quite reassuring.[5] But where does that leave us?

Although it's been a possibility since Silverlight 3, the Silverlight 5 beta significantly improved on Silverlight's "out-of-browser" capability. At one point, Microsoft supported a technology known as XBAP (XAML Browser Application) that allowed WPF applications to run in a browser. That never really took off. On the other hand, the "out-of-browser" capability, somewhat similar to Adobe's Air for Flex applications, allows a Silverlight application to run on the desktop. And some of the most recent enhancements to Silverlight give it functionality (i.e., ability to P/Invoke to call unmanaged code) that would appear to make no sense for a browser-based technology, but give Silverlight much of the capability of WPF.

If I can create Silverlight applications and not only run them on the Windows Phone, in the browser, and the desktop as well, what do I need WPF for? That appears to be a question that a number of people are asking now. In a recent interview, Rob Sanfilippo, an analyst for research firm Directions on Microsoft, noted that "With the introduction of out-of-browser support in Silverlight 3, WPF may have lost a lot of its remaining loyalists."[6] Michael Desmond, editor-in-chief of Redmond Developer News magazine, also recently noted that: "For dev managers, the question of WPF or Silverlight has largely been answered, as Silverlight has climbed the XAML feature stack to address the vast majority of application scenarios previously addressed only by WPF. Support for WCF RIA Services and rich OData integration gives Silverlight a mature and robust mechanism for handling data-heavy business apps. And the ability to share code across Web, Windows Phone 7 mobile and desktop Silverlight projects is very compelling. And, unlike WPF, Silverlight apps can run on Mac OS-based systems."[7]

What does that mean for us? PowerBuilder 12 introduced support for WPF for desktop applications, and Sybase indicated that they were looking at supporting Silverlight in PowerBuilder 15 for web applications. Recent developments would indicate that an emphasis on Silverlight not only for web, but for desktops as well, may be in order.

Perhaps Pete Brown was right after all. In the near future, we may find that Silverlight and WPF do become a single codeline. What he might not have anticipated is that single codeline would be Silverlight. Let's continue to watch these developments and provide feedback to Sybase as they work on PowerBuilder 15.

References

  1. http://msdn.microsoft.com/en-us/library/cc903925(v=vs.95).aspx
  2. http://10rem.net/blog/2009/12/01/the-future-of-client-app-dev--wpf-and-silverlight-convergence
  3. http://www.zdnet.com/blog/microsoft/microsoft-our-strategy-with-silverlight-has-shifted/7834
  4. http://weblogs.asp.net/scottgu/archive/2010/12/02/announcing-silverlight-5.aspx
  5. http://visualstudiomagazine.com/blogs/redmond-review/2010/12/sl5-announced.aspx
  6. http://visualstudiomagazine.com/articles/2011/01/01/line-of-business-dev-in-2011.aspx
  7. http://visualstudiomagazine.com/articles/2011/01/01/line-of-business-development.aspx

More Stories By Bruce Armstrong

Bruce Armstrong is a development lead with Integrated Data Services (www.get-integrated.com). A charter member of TeamSybase, he has been using PowerBuilder since version 1.0.B. He was a contributing author to SYS-CON's PowerBuilder 4.0 Secrets of the Masters and the editor of SAMs' PowerBuilder 9: Advanced Client/Server Development.

Comments (0)

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.