WPF - Why was it formed?
-
Pete O'Hanlon wrote:
no one has read Adam Nathan's books then
Wrong!
Quote:
Windows Presentation Foundation (WPF) is Microsoft’s premier technology for creating Windows graphical user interfaces (...) it’s also the basis for Silverlight, which has extended WPF technology onto the Web and into devices such as Windows phones
(from the unread book...) And even Sinfosky went home - he is behind WinRT, which is the next step, as it tries to unify development technologies in the Web-Desktop-Mobile line, based on the same idea of WPF...
I'm not questioning your powers of observation; I'm merely remarking upon the paradox of asking a masked man who he is. (V)
If you had read the book properly, and this goes back to his original version which predates Silverlight, he has a whole chapter devoted to the history. Perhaps you might want to revisit your original answer and cover what the original motivation of WPF was. Of course, I've only been doing WPF since 2008 and was one of the reviewers for his later books, as well as being friends with several members of that team so what do I know about their original motivation.
Kornfeld Eliyahu Peter wrote:
based on the same idea of WPF...
And there's the kicker - based on the same idea, not developed alongside. Oh, and the WinRT implementation is still way behind what WPF did back in .NET 3.5 when it was released, as was Silverlight until version 5 and as is Windows Phone's implementation.
-
If you had read the book properly, and this goes back to his original version which predates Silverlight, he has a whole chapter devoted to the history. Perhaps you might want to revisit your original answer and cover what the original motivation of WPF was. Of course, I've only been doing WPF since 2008 and was one of the reviewers for his later books, as well as being friends with several members of that team so what do I know about their original motivation.
Kornfeld Eliyahu Peter wrote:
based on the same idea of WPF...
And there's the kicker - based on the same idea, not developed alongside. Oh, and the WinRT implementation is still way behind what WPF did back in .NET 3.5 when it was released, as was Silverlight until version 5 and as is Windows Phone's implementation.
Clearly we read different editions (mine is WPF 4 + Silverlight) - but you right, the original goal does not included as much as Web (and for sure WinRT much later, there was no argument there, I was merely pointing out the continuity I see there)...
Quote:
Microsoft recognized that something brand new was needed that escaped the limitations of GDI+ and USER yet provided the kind of productivity that people enjoy with frameworks like Windows Forms. And with the continual rise of cross-platform applications based on HTML and JavaScript, Windows desperately needed a technology that’s as fun and easy to use as these, yet with the power to exploit the capabilities of the local computer. Windows Presentation Foundation (WPF) is the answer for software developers and graphic designers who want to create modern user experiences without having to master several difficult technologies. Although “Presentation” sounds like a lofty term for what I would simply call a user interface, it’s probably more appropriate for describing the higher level of visual polish that’s expected of today’s applications and the wide range of functionality included in WPF!
It seems a paragraph from the original (as Silverlight comes some pages later)... I also found it interesting (you just made me re-read parts of that book :))
Quote:
In short, WPF aims to combine the best attributes of systems such as DirectX (3D and hardware acceleration), Windows Forms (developer productivity), Adobe Flash (powerful animation support), and HTML (declarative markup).
Some one may add this book to CP's recommendations (CM started it some time ago), as it explains much about the ideas behind WPF...
I'm not questioning your powers of observation; I'm merely remarking upon the paradox of asking a masked man who he is. (V)
-
Ahhh, I'd read the OP's screed as it only starting in a browser, as per Silverlight (hence the bit about Flash)
PB 369,783 wrote:
I just find him very unlikeable, and I think the way he looks like a prettier version of his Mum is very disturbing.[^]
-
I feel the same way about ASPX, Javascript, CSS and MVC, probably for the same reasons, outside my comfort zone. Having said that I was fiddling with a winforms app in vs2013 and they have changed to DataRow construction and I was completely lost. Did not help that I was trying to show a young kids the basics on a strange machine. bloody embarrassing!
Never underestimate the power of human stupidity RAH
Been there, done that, got the T-shirt :)
-
Hi, Having worked with Various Micrsoft programming languages for many years, now I am dabbling into WPF for a project. I don't know a single bit about it, but as I started to read the manual, I got confused as to what is the real purpose of WPF? Why would you put your UI in painful XML tags when you can use Windows forms? If it were to separate UI completely with the behaviour, aren't the developers doing that already with clean layering architecture with the forms based applications? and why somebody would like to load a desktop application on a browser? If its a browser based application, it should be developed in ASP.NET. Thanks,
-
Clearly we read different editions (mine is WPF 4 + Silverlight) - but you right, the original goal does not included as much as Web (and for sure WinRT much later, there was no argument there, I was merely pointing out the continuity I see there)...
Quote:
Microsoft recognized that something brand new was needed that escaped the limitations of GDI+ and USER yet provided the kind of productivity that people enjoy with frameworks like Windows Forms. And with the continual rise of cross-platform applications based on HTML and JavaScript, Windows desperately needed a technology that’s as fun and easy to use as these, yet with the power to exploit the capabilities of the local computer. Windows Presentation Foundation (WPF) is the answer for software developers and graphic designers who want to create modern user experiences without having to master several difficult technologies. Although “Presentation” sounds like a lofty term for what I would simply call a user interface, it’s probably more appropriate for describing the higher level of visual polish that’s expected of today’s applications and the wide range of functionality included in WPF!
It seems a paragraph from the original (as Silverlight comes some pages later)... I also found it interesting (you just made me re-read parts of that book :))
Quote:
In short, WPF aims to combine the best attributes of systems such as DirectX (3D and hardware acceleration), Windows Forms (developer productivity), Adobe Flash (powerful animation support), and HTML (declarative markup).
Some one may add this book to CP's recommendations (CM started it some time ago), as it explains much about the ideas behind WPF...
I'm not questioning your powers of observation; I'm merely remarking upon the paradox of asking a masked man who he is. (V)
If you have the WPF 4 version, take a look at the inside front cover. And yes, I started Nathan's book at the 3.5 release.
-
preaa wrote:
If it were to separate UI completely with the behaviour, aren't the developers doing that already with clean layering architecture with the forms based applications?
No they aren't. Have you seen how hard it is to get a complete break and clean layering going in Windows Forms?
preaa wrote:
and why somebody would like to load a desktop application on a browser? If its a browser based application, it should be developed in ASP.NET
Again no. There are much better alternatives to the bloat that is ASP.NET for web based applications, unless you are talking about ASP MVC. You are looking at the state of the world as it exists now, not back in 2003 when WPF was heavily under development. Back then, doing fancy UIs in ASP.NET was extremely limited. The reason that WPF was invented, and this is from the team that wrote it in the first place, was because Microsoft wanted to provide developers to create the types of applications that people were used to seeing in films and TV shows, but which were not easily achievable in the technologies that were around at the time such as Windows Forms and MFC. They offered several advances over these technologies, including breaking away from using GDI/GDI+ for rendering, display independence, a sophisticated binding mechanism, animation, markup extensions, dependency properties and so on. I would suggest that you start by reading Adam Nathan's excellent WPF Unleashed, as well as articles by Josh Smith, Sacha Barber, Dan Vaughan, Karl Shifflett, Jesse Liberty and so on.
Pete O'Hanlon wrote:
he types of applications that people were used to seeing in films and TV shows
Bloody Minority Report has got a lot to answer for!
Never underestimate the power of human stupidity RAH
-
Hi, Having worked with Various Micrsoft programming languages for many years, now I am dabbling into WPF for a project. I don't know a single bit about it, but as I started to read the manual, I got confused as to what is the real purpose of WPF? Why would you put your UI in painful XML tags when you can use Windows forms? If it were to separate UI completely with the behaviour, aren't the developers doing that already with clean layering architecture with the forms based applications? and why somebody would like to load a desktop application on a browser? If its a browser based application, it should be developed in ASP.NET. Thanks,
WPF - Why Program Functionally...need I say more?
-
I feel the same way about ASPX, Javascript, CSS and MVC, probably for the same reasons, outside my comfort zone. Having said that I was fiddling with a winforms app in vs2013 and they have changed to DataRow construction and I was completely lost. Did not help that I was trying to show a young kids the basics on a strange machine. bloody embarrassing!
Never underestimate the power of human stupidity RAH
Mycroft Holmes wrote:
I was fiddling with a winforms app in vs2013 and they have changed to DataRow construction and I was completely lost.
If you keep fiddling, you will go blind. ;) Soren Madsen
"When you don't know what you're doing it's best to do it quickly" - Jase #DuckDynasty
-
Clearly we read different editions (mine is WPF 4 + Silverlight) - but you right, the original goal does not included as much as Web (and for sure WinRT much later, there was no argument there, I was merely pointing out the continuity I see there)...
Quote:
Microsoft recognized that something brand new was needed that escaped the limitations of GDI+ and USER yet provided the kind of productivity that people enjoy with frameworks like Windows Forms. And with the continual rise of cross-platform applications based on HTML and JavaScript, Windows desperately needed a technology that’s as fun and easy to use as these, yet with the power to exploit the capabilities of the local computer. Windows Presentation Foundation (WPF) is the answer for software developers and graphic designers who want to create modern user experiences without having to master several difficult technologies. Although “Presentation” sounds like a lofty term for what I would simply call a user interface, it’s probably more appropriate for describing the higher level of visual polish that’s expected of today’s applications and the wide range of functionality included in WPF!
It seems a paragraph from the original (as Silverlight comes some pages later)... I also found it interesting (you just made me re-read parts of that book :))
Quote:
In short, WPF aims to combine the best attributes of systems such as DirectX (3D and hardware acceleration), Windows Forms (developer productivity), Adobe Flash (powerful animation support), and HTML (declarative markup).
Some one may add this book to CP's recommendations (CM started it some time ago), as it explains much about the ideas behind WPF...
I'm not questioning your powers of observation; I'm merely remarking upon the paradox of asking a masked man who he is. (V)
-
Kornfeld Eliyahu Peter wrote:
Windows desperately needed a technology that’s as fun and easy to use as these...
They failed there then.
Now with added Silverfish. WTF? :zzz:
-
Well thanks a lot again for the kind replies.. I think I should look at Windows RT as well along with WPF.. Best
WPF has the richest xaml-based feature set. Silverlight was pretty much a stripped down version of WPF. WinRT xaml looks like a stripped down version of silverlight ("looks like", because I haven't done anything worthwhile in it yet, it's just first impressions). In any case, as long as you get the xaml principles down along with MVVM, you'll be up and running on all xaml platforms in no time. The learning curve can be quite steap though, it's a lot to take in at first. But it's real fun imo.
-
Hi, Having worked with Various Micrsoft programming languages for many years, now I am dabbling into WPF for a project. I don't know a single bit about it, but as I started to read the manual, I got confused as to what is the real purpose of WPF? Why would you put your UI in painful XML tags when you can use Windows forms? If it were to separate UI completely with the behaviour, aren't the developers doing that already with clean layering architecture with the forms based applications? and why somebody would like to load a desktop application on a browser? If its a browser based application, it should be developed in ASP.NET. Thanks,
As a Delphi developer I would say this is cycles of evolution. In the beginning Delphi separated the design-time set properties into a binary dump. Then it became obvious that sometimes it is necessary to hand-edit this file (ex. remove properties of changed components, reorder parents, etc.) so the dump file became human readable. Change to .net. Then in Visual Studio projects these human readable, easy to write visual designers for configuration files became ordinary source files so the coders see what happens, was easy to remove components with conditional compilation. But it was became obvious that it was hard to write a visual designer for it. Then the configuration file became human-readable XML with option to compile it to binary form, and the cycle may restart.
-
Hi, Having worked with Various Micrsoft programming languages for many years, now I am dabbling into WPF for a project. I don't know a single bit about it, but as I started to read the manual, I got confused as to what is the real purpose of WPF? Why would you put your UI in painful XML tags when you can use Windows forms? If it were to separate UI completely with the behaviour, aren't the developers doing that already with clean layering architecture with the forms based applications? and why somebody would like to load a desktop application on a browser? If its a browser based application, it should be developed in ASP.NET. Thanks,
Hi Also don't look at it black and white. WPF has a ton of features you can use but you will also need a lot of time to get to know all of them. You can use only part of it for the start. You can start using it in a more WinForms-like way by handling UI events through event handlers and setting UI values directly instead of binding (ant not creating a mess on the way). With this, you can still use WPF's rich UI compositing feature which is light-years ahead of WinForms. You can do things you only dreamed about doing them in WinForms (unless you want to go low-level and draw controls by yourself). By only using UI composition features you're far ahead of WinForms, not to mention other features. I don't see a reason going back to WinForms once you get to know WPF. Best regards T
-
preaa wrote:
If it were to separate UI completely with the behaviour, aren't the developers doing that already with clean layering architecture with the forms based applications?
No they aren't. Have you seen how hard it is to get a complete break and clean layering going in Windows Forms?
preaa wrote:
and why somebody would like to load a desktop application on a browser? If its a browser based application, it should be developed in ASP.NET
Again no. There are much better alternatives to the bloat that is ASP.NET for web based applications, unless you are talking about ASP MVC. You are looking at the state of the world as it exists now, not back in 2003 when WPF was heavily under development. Back then, doing fancy UIs in ASP.NET was extremely limited. The reason that WPF was invented, and this is from the team that wrote it in the first place, was because Microsoft wanted to provide developers to create the types of applications that people were used to seeing in films and TV shows, but which were not easily achievable in the technologies that were around at the time such as Windows Forms and MFC. They offered several advances over these technologies, including breaking away from using GDI/GDI+ for rendering, display independence, a sophisticated binding mechanism, animation, markup extensions, dependency properties and so on. I would suggest that you start by reading Adam Nathan's excellent WPF Unleashed, as well as articles by Josh Smith, Sacha Barber, Dan Vaughan, Karl Shifflett, Jesse Liberty and so on.
For me, the problem WPF solves was rich UI. I've spent years in the MFC trenches writing owner-draw code and sophisticated layout management. I hate going back and maintaining those applications now, because WPF is so much simpler and more expressive. Thanks, Pete. Those of us who actually like WPF appreciate it.
Software Zen:
delete this;
-
The original idea was to create a single design platform for web and desktop (Silverlight - WPF - WinRT) - it does not succeeded too much...
I'm not questioning your powers of observation; I'm merely remarking upon the paradox of asking a masked man who he is. (V)
Actually it succeed. Silverlight, WPF, and WinRT have use same paradigm on styles, templates, datatemplate, visual state manager, resources. Sure the API is not EXACTLY the same, the commerical name is different, but I don't think we should keep such expectation when devices and way of using the app is so different accross device. Most of the code is copy/pastable or reusable through some clever "Add as Link" / #define in your code. Learn WPF, and you learnt most of what you need to know on WinRT and Silverlight
-
Hi, Having worked with Various Micrsoft programming languages for many years, now I am dabbling into WPF for a project. I don't know a single bit about it, but as I started to read the manual, I got confused as to what is the real purpose of WPF? Why would you put your UI in painful XML tags when you can use Windows forms? If it were to separate UI completely with the behaviour, aren't the developers doing that already with clean layering architecture with the forms based applications? and why somebody would like to load a desktop application on a browser? If its a browser based application, it should be developed in ASP.NET. Thanks,
Learn WPF and so you will understand both WinRT, Silverlight and Windows phone dev at the same time. The name of the technology is different, but the way of developping is the same. There is a good chunk of code reuse between these devices. (Already copy/pasted a style of some Windows phone controls to my wpf app without changing anything, just to see it works as a charm). Styles,VisualStateManager, ControlTemplate,DataTemplate,Resources, MVVM, Binding, all works the same on all these technologies. (As well as Expression Blend for Advanced design)
-
Hi, Having worked with Various Micrsoft programming languages for many years, now I am dabbling into WPF for a project. I don't know a single bit about it, but as I started to read the manual, I got confused as to what is the real purpose of WPF? Why would you put your UI in painful XML tags when you can use Windows forms? If it were to separate UI completely with the behaviour, aren't the developers doing that already with clean layering architecture with the forms based applications? and why somebody would like to load a desktop application on a browser? If its a browser based application, it should be developed in ASP.NET. Thanks,
I'm with ya here. I played with WPF for awhile and didn't care for it. I still develop desktop Windows applications and the standard Windows Forms still works fine. I personally found WPF to be a method of making developing desktop applications as painful as web ones! You can have XAML as far as I'm concerned!
-
Clearly we read different editions (mine is WPF 4 + Silverlight) - but you right, the original goal does not included as much as Web (and for sure WinRT much later, there was no argument there, I was merely pointing out the continuity I see there)...
Quote:
Microsoft recognized that something brand new was needed that escaped the limitations of GDI+ and USER yet provided the kind of productivity that people enjoy with frameworks like Windows Forms. And with the continual rise of cross-platform applications based on HTML and JavaScript, Windows desperately needed a technology that’s as fun and easy to use as these, yet with the power to exploit the capabilities of the local computer. Windows Presentation Foundation (WPF) is the answer for software developers and graphic designers who want to create modern user experiences without having to master several difficult technologies. Although “Presentation” sounds like a lofty term for what I would simply call a user interface, it’s probably more appropriate for describing the higher level of visual polish that’s expected of today’s applications and the wide range of functionality included in WPF!
It seems a paragraph from the original (as Silverlight comes some pages later)... I also found it interesting (you just made me re-read parts of that book :))
Quote:
In short, WPF aims to combine the best attributes of systems such as DirectX (3D and hardware acceleration), Windows Forms (developer productivity), Adobe Flash (powerful animation support), and HTML (declarative markup).
Some one may add this book to CP's recommendations (CM started it some time ago), as it explains much about the ideas behind WPF...
I'm not questioning your powers of observation; I'm merely remarking upon the paradox of asking a masked man who he is. (V)
Quote:
Windows Presentation Foundation (WPF) is the answer for software developers and graphic designers who want to create modern user experiences without having to master several difficult technologies.
Ummm... XAML, MVVM, MEF, Prism... jumping off into WPF was the beginning of sorrows. :cool:
-
Kornfeld Eliyahu Peter wrote:
Windows desperately needed a technology that’s as fun and easy to use as these...
They failed there then.
I really enjoy learning new things and I find WPF useful. That being said...it's difficult to explain the benefits of MVVM to management at times, especially since it's not as straight forward as event handling directly in the form code. They just see it as, "takes longer!". X| Hence, I'm working with Winforms lol.