What is WPF/E really?



In a few newsgroup posts on our forums, I’ve seen some confusion about what WPF/E CTP enables and what it doesn’t.  This is probably a result of the snappy codename we’ve chosen, but I’ll attempt to add some clarity.  WPF/E is a subset of WPF, but the subset was chosen in a careful way to enable web scenarios that are not possible with HTML alone.


 


On the team, the way we think of WPF/E is this: WPF/E is a browser plug-in that augments the set of functionality provided by HTML to provide media, animation and vector graphics with the same programming model that the HTML DOM exposes.  This CTP of WPF/E is not a UI technology that replaces HTML, it augments the capabilities.


 


HTML elements can be created, accessed and modified using javascript running on a web page.  WPF/E elements can be created, accessed and modified using javascript running on a web page.  HTML is easy to search since it is sent to the user as plain text.  WPF/E is also sent to the user as plain text.  HTML samples and tricks are shared organically because the page source can be easily viewed.  WPF/E allows for the same thing. 


 


HTML provides flow text layout, text input, tabular and flow layout panels, and a simple set of UI controls.  WPF/E provides media playback, vector graphic drawing and animation support.  The two sets of capabilities compliment one another.


 


This is not to say other parts of WPF will not be incorporated into WPF/E in future CTPs and versions of the product, because we are definitely planning on growing our WPF subset and the overlap with HTML features.  Very important things like text input, layout, resources, data binding and of course, CLR integration are all WPF features that our team is scoping for integration with WFP/E.  I’m just trying to frame the approach we’ve taken with the initial CTP of WPF/E.  Extend the browser and give users the most consistent development model we can. 


 


Comments (16)

  1. LocTeam says:

    Well, that explains all the missing features.  I think the community was expecting a lot more given the number of resources and time that Microsoft has put into the project.  HTML really is not good for designing user interfaces – we would like to build rich UI applications that are delivered over the web.  This requires a programming model that WPF promotes, and one which HTML does not offer.  Do you have any idea as to when we can expect to use WPF/E for web user interface programming?  This would require user interface elements, data binding, and .net CLR integration?

  2. geblack says:

    I couldn’t agree more with the previous post. I’m not really interested in a adobe flash replacement. I _am_ interested in a cross platform application environment which does away with the inherent shortcomings of a container whose purpose was primarily designed for document viewing (browser).

    Ideally I would like wpf to be cross platform compatible, given the unlikelyhood of that happening I would like wpf/e to be delivered via the browser but not be reliant for anything else other than that. I want to be able to remain within my wpf/e context for data retrieval and processing of that data.

    Don’t get me wrong, I have looked forward to the release of wpf/e for some time and do believe that you have done a good job thus far. But it is still far from the capabilities that I was hoping for.

    God save me from javascript and untyped form inputs.

  3. I imagine that it might change at some point but I think the naming of "WPF/E" is confusing at the moment…

  4. A group of nice posts about WPF/E What is WPF/E really? Getting started with developing WPF/E…

  5. JustinMag says:

    I assume there is a strategic conflict here for Microsoft. Developers want excellent cross-brower, platform independent development tools. Microsoft on the other hand wants developers to embrace .NET 3.0 and Windows. The better WPF/E is, the less likely developers will use the full .NET 3.0. I assume Microsoft is walking a fine line here – providing just enough but not too much functionality.

  6. Ely says:

    geblack — check out Flex from Adobe.

    – Ubiquitous, and runs on a variety of platforms and browsers today.  

    – Purpose built for building applications.

    – supports UI, content, media, and data.  Build the entire application from within flex, including data retrieval and processing.

    – all the flexibility of java with all the power and structure of Java and C#.  You pick how you want to work.

  7. Daryl C says:

    WPF/E is not interesting or useful in its current form.  It’s a glorified video player.

    ## Michael Harsh said: "HTML provides flow text layout, text input, tabular and flow layout panels, and a simple set of UI controls.  WPF/E provides media playback, vector graphic drawing and animation support.  The two sets of capabilities compliment one another." ##

    If people on the WPF/E team honestly think that "layout and UI controls" are HTML’s *strengths*, something has gone horribly horribly wrong at Microsoft.

    Getting a table or CSS-based page to render consistently on IE, Firefox and Safari at a variety of screen sizes would drive an angel to take up swearing.

    When you say "simple UI controls" what you really mean is "anything more complicated than a button has to be hand-coded in DHTML or round-tripped from the server."

    These are the things you want to borrow from HTML?  Michael, these are the things web developers have been looking to chuck overboard since about 1996.  Good bye, FORM tag, and good riddance.

    ## Michael Harsh said: "HTML elements can be created, accessed and modified using javascript running on a web page.  WPF/E elements can be created, accessed and modified using javascript running on a web page." ##

    News flash, Michael: People hate javascript.  Even a lot of people who write javascript for a living hate javascript, and I don’t blame them.

    The things web developers need most are:

    1. Predictable, flexible, well-defined layout algorithms.  Like XAML’s Canvas, TableLayout, and FlowLayout.

    2. A good UI coding environment.  Something ike WPF, or for that matter, Windows Forms.  If you think a serious application can be built using javascript and DHTML, please don’t do any software development.  Think of the people who will have to use your product: what did they ever do to you??

    3. Code written in anything other than javascript.  Not setting the bar too high, but a typed language would be nice.  Oh, and for many types of online applications, it will have to be compiled rather than interpreted.

    These are the three things web developers need right now in order to create rich, interactive applications.  And for reasons I can’t explain, these are the things the WPF/E team has removed from WPF.

    What’s left is a video player, and YouTube already had that covered.

  8. Ely says:

    Someone pointed out to me that I should add that I’m a member of the Flex engineering team, so take my suggestions and opinions with a grain of salt.

    Also, in that last line I meant ‘all the flexibility of javascript’

  9. 1。 Mike Harsh 是微软WPF/E产品组的主管(Program Manager),针对论坛上的疑问,他在博客里澄清“WPF/E到底是什么东西(What is WPF/E really)?”,该文的大意是:

  10. As you might be aware, in sequence with Vista, Microsoft released .NET 3.0. This is an addtional set…

  11. 民工精髓 says:

    Silver Light(WPF/E),它没集成CLR,不使用C#,不提供常用控件,它的优势在哪里?

  12. yzsind says:

    SliverLight这段时间已经闹得沸沸扬扬了,也许大家对他还是一知半解,这篇文章是出自微软WPF/E产品组的主管的解答,我认为是比较准确的,没有把SliverLight说得像外面传说的那么夸张。其实在目前SliverLight 1.0 Beta阶段它还只能是与HTML互补,代替以前的一些VML,SVG,FLASH功能。SliverLight 1.1 改进了许多,但目前还是Alpha版,相关的资料和示例也比较少,也没下载试试。希望有一天SliverLight 能彻底代替HTML。

  13. TonyWang says:

    SliverLight这段时间已经闹得沸沸扬扬了,也许大家对他还是一知半解,这篇文章是出自微软WPF/E产品组的主管的解答,我认为是比较准确的,没有把SliverLight说得像外面传说的那么夸张。其实在目前SliverLight 1.0 Beta阶段它还只能是与HTML互补,代替以前的一些VML,SVG,FLASH功能。SliverLight 1.1 改进了许多,但目前还是Alpha版,相关的资料和示例也比较少,也没下载试试。Silverlight 1.1 Alpha是基于Silverlight

  14. 宏宇 says:

    WPF简介 WPF的全称是WindowsPresentationFoundation,是微软新发布的Vista操作系统的三大核心开发库之一,其主要负责的是图形显示,所以叫Presentati…

  15. design mind says:

    For those who haven’t heard, Microsoft launched a CTP of WPF/E last week and there has been a huge amount of blog chatter surrounding it. For people who are still struggling to come to terms with WPF, the addition of WPF/E into the mix will surely cause