Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. The Lounge
  3. WPF - Why was it formed?

WPF - Why was it formed?

Scheduled Pinned Locked Moved The Lounge
csharpquestionasp-netwpfwinforms
47 Posts 31 Posters 0 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • Kornfeld Eliyahu PeterK Kornfeld Eliyahu Peter

    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)

    K Offline
    K Offline
    Kyudos
    wrote on last edited by
    #24

    Kornfeld Eliyahu Peter wrote:

    Windows desperately needed a technology that’s as fun and easy to use as these...

    They failed there then.

    S J 2 Replies Last reply
    0
    • K Kyudos

      Kornfeld Eliyahu Peter wrote:

      Windows desperately needed a technology that’s as fun and easy to use as these...

      They failed there then.

      S Offline
      S Offline
      Simon ORiordan from UK
      wrote on last edited by
      #25

      Now with added Silverfish. WTF? :zzz:

      1 Reply Last reply
      0
      • P preaa

        Well thanks a lot again for the kind replies.. I think I should look at Windows RT as well along with WPF.. Best

        B Offline
        B Offline
        BubingaMan
        wrote on last edited by
        #26

        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.

        1 Reply Last reply
        0
        • P preaa

          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,

          P Offline
          P Offline
          Peter Adam
          wrote on last edited by
          #27

          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.

          1 Reply Last reply
          0
          • P preaa

            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,

            T Offline
            T Offline
            Tomaz Koritnik
            wrote on last edited by
            #28

            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

            1 Reply Last reply
            0
            • P Pete OHanlon

              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.

              G Offline
              G Offline
              Gary Wheeler
              wrote on last edited by
              #29

              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;

              1 Reply Last reply
              0
              • Kornfeld Eliyahu PeterK Kornfeld Eliyahu Peter

                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)

                N Offline
                N Offline
                Nicolas Dorier
                wrote on last edited by
                #30

                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

                1 Reply Last reply
                0
                • P preaa

                  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,

                  N Offline
                  N Offline
                  Nicolas Dorier
                  wrote on last edited by
                  #31

                  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)

                  1 Reply Last reply
                  0
                  • P preaa

                    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,

                    C Offline
                    C Offline
                    ClockMeister
                    wrote on last edited by
                    #32

                    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!

                    K 1 Reply Last reply
                    0
                    • Kornfeld Eliyahu PeterK Kornfeld Eliyahu Peter

                      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)

                      D Offline
                      D Offline
                      Donald Thornhill
                      wrote on last edited by
                      #33

                      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:

                      1 Reply Last reply
                      0
                      • K Kyudos

                        Kornfeld Eliyahu Peter wrote:

                        Windows desperately needed a technology that’s as fun and easy to use as these...

                        They failed there then.

                        J Offline
                        J Offline
                        Jahmal23
                        wrote on last edited by
                        #34

                        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.

                        1 Reply Last reply
                        0
                        • P preaa

                          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,

                          E Offline
                          E Offline
                          Erhy
                          wrote on last edited by
                          #35

                          with ShowUI in PowerShell there is no need of XML a little tool with ShowUI in PowerShell :

                          Import-Module ShowUi

                          ############################################################################

                          Hibernate_WPF_V2.ps1

                          start with Cmd-Batch example:

                          @echo off

                          cd /D C:\Users\Public\Documents\prog\Hibernate

                          start powershell -STA -WindowStyle Hidden -Command .\Hibernate_WPF_V2.ps1

                          ############################################################################

                          function global:Hours_and_Mins ( [Int16]$MinsTill ) {
                          if ( -not ( $MinsTill -gt 0 -and $MinsTill -lt 1440 ) ) {
                          return "--:--"
                          }
                          do { #get certain time
                          $nowdue = Get-Date
                          $now = Get-Date
                          $nowminutes = $now.Minute
                          $nowhours = $now.Hour
                          } while ( ( $nowminutes -ne $nowdue.Minute ) -or ( $nowhours -ne $nowdue.Hour ) )

                          $TimeAtTill = $now.AddMinutes( 0.5 + $MinsTill ) #a half minute in plus
                          # Write-Host  ("TimeAtTill: " +  $TimeAtTill.ToString("HH:mm:ss"))
                          $HoursAndMins = $TimeAtTill.ToString("HH:mm")
                          return ( $HoursAndMins )
                          

                          }

                          function global:MinutesTill ( [string]$AtTimStr, [ref]$TodayTomor ) {

                          $now = Get-Date
                          try {
                                  \[DateTime\]$AtTim = Get-Date $AtTimStr
                          } catch {
                                  \[DateTime\]$AtTim = $now.AddMonths( 12 )
                          }
                          
                          if ( ( \[int64\]$span = \[Math\]::round(( $AtTim - $now ).TotalMinutes )) -lt 0 ) {
                              $span += 1440
                              $TodayTomor.value = "tomorrow"
                          } else {
                              $TodayTomor.value = "today"
                          }
                          return ( $span )                    
                          

                          }

                          function global:BtnOKdekorate ( [object]$Btn, [string] $clicked ) {
                          if ( $clicked -eq "clicked" ) {
                          $Btn.Tag = $Btn.Name
                          $Btn.FontSize = 13.0
                          $Btn.Content = "count down"
                          $Btn.Foreground = "green"
                          } else {
                          $Btn.Tag = $clicked
                          $Btn.FontSize = 22.0
                          $Btn.Content = "OK"
                          $Btn.Foreground = "black"
                          }
                          }
                          #############################################################

                          main

                          #############################################################
                          New-Window -Name MainWindow -Width 200 -Height 286 -title 'Minutes till hibernate' `
                          -ResizeMode CanMinimize -Background Pink -Top 0 -Left 0 {
                          New-StackPanel -Margin 7 -Background Pink {
                          New-TextBox -Text "minutes`ntill hibernate" -IsReadOnly $True `
                          -Background Pink -BorderThickness 0 -FontFamily Arial -FontSize 22.0 `
                          -HorizontalCont

                          1 Reply Last reply
                          0
                          • P preaa

                            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,

                            U Offline
                            U Offline
                            User 10205789
                            wrote on last edited by
                            #36

                            Funny as the main reason presented here is the polished look and feel you get from WPF. Yet if you look at Windows 8+ and Visual Studio 2012 and on, the visual interfaces are absolutely ugly. Polished look - where? What an excuse to force an ugly practically useless product onto developers.

                            _ 1 Reply Last reply
                            0
                            • P preaa

                              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,

                              U Offline
                              U Offline
                              User 2893688
                              wrote on last edited by
                              #37

                              Don't know if this has been answered but will take the liberty to state it again. WPF was an ambitious plan to change the way we work with Windows development. It was part of Framework 3.0 which was a part of Vista. Ironically it wasn't a full Framework at all, but just three sets of BIG APIs designed to change different parts of the coding process. Before we delve into WPF, we must touch the other two (Windows Communication Foundation [WCF] and Windows Workflow Foundation [WF]) and know that all three share the same XAML description language. WCF is a modern replacement for the old .asmx model which allows you to build a Web Service inside any CIL *.exe and build Web Services beyond SOAP. I currently use them to connect BizTalk to SAP using SAP Connector. WF was an ambitious plan to create Enterprise Service Bus potential in everyday applications, connecting WebServices to business flows and logic, using graphic programming. Last, but not least, came WPF, the Windows Presentation Foundation, which was an attempt to 'reimagine' the desktop experience. It was thought that during Vista, application developers would abandon Win32 in favor of WPF. That didn't happened since the impact of the Web was far greater than Microsoft had expected. Enterprise had already went full web and all modern application development was being done in Java or ASP.NET. So Microsoft created Silverlight, to revive WPF into a Web Plus thing, just like Flash. But then came the mobile revolution and people started making apps instead of applications, and apps became companions to web pages (aka a thin client world). Today WPF lives on in the Metro paradigm for both Windows 8 and Windows Phone 8. Windows Phone 7 was a type of Silverlight, but WinRT (the common framework for 8's) is more WPF like. All Metro apps can communicate with WCF services and could (theoretically) use WF workflows. Few people are going this route as Node.js and JSON have replaced SOAP as a communication approach except in the B2B side. As for the reason to use an XML markup system to describe the app, instead of doing it graphically and programmatically like WinForms, you must know that the concept behind WPF was that the markup is just a partial class of the codebehind. That way you could have the View separated from the Controller and Model. This was an approach created by the NeXT Cube and NextStep (the fore father of iOS and OS X) in a system called Model-View-Presenter. The language used was called a plist had no programmatic

                              B 1 Reply Last reply
                              0
                              • P preaa

                                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,

                                _ Offline
                                _ Offline
                                _CodeWarrior
                                wrote on last edited by
                                #38

                                What you are talking about is more of a XAML nature. While XAML is a part of WPF, it is only the popular method by which WPF user interface items are expressed. WPF itself has a lot more to do with performance, binding, and event handling than just XAML. For instance, WPF offloads almost all UI display processing to the graphics hardware, while Windows Forms relies on the CPU to process each repaint. WPFs binding ability, arguably one of it's neatest and most useful features allows for true (and fairly simple to implement) separation of concerns between application logic and UI display logic. I will also say that the UI elements have a very good dynamic sizing engine built under them. I could never have done some of the things that I have done in WPF with Windows Forms.

                                1 Reply Last reply
                                0
                                • U User 10205789

                                  Funny as the main reason presented here is the polished look and feel you get from WPF. Yet if you look at Windows 8+ and Visual Studio 2012 and on, the visual interfaces are absolutely ugly. Polished look - where? What an excuse to force an ugly practically useless product onto developers.

                                  _ Offline
                                  _ Offline
                                  _CodeWarrior
                                  wrote on last edited by
                                  #39

                                  I did not buy Visual Studio for a polished look. I want something that is there when I need it, and gets out of the way when I don't. I have found VS2012 (2010 also used WPF BTW) and VS2013 to be pretty good about that. The ui elements do not draw any undue attention to them and I can focus on my work. Additionally, I have some degrading eyesight and the Dark Theme in 2012 and 2013 work wonderfully for me. The monochrome-ish design supports the dark theme. Too many colors would make the dark theme unusable.

                                  1 Reply Last reply
                                  0
                                  • P Pete OHanlon

                                    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.

                                    B Offline
                                    B Offline
                                    BillWoodruff
                                    wrote on last edited by
                                    #40

                                    As always, I enjoy and learn from your thoughtful remarks, Pete. I think an issue anyone ... who's not already committed to, in the thick of ... WPF ... today ... faces is evaluating the future potential of investing time and energy to master a given Windows technology stack, like WPF, or ASP MVC, or RT/XAML/C#. Several months ago, you hinted, in a message here on CodeProject, that you felt some exciting news was coming from Microsoft that might affect the perceptions of the future value of WPF ... information you could not share at the time (I infer) because you were under NDA. Perhaps all of whatever you hinted at is already revealed; I'm not sure. So, let me ask you a rhetorical question: if you had a bright young developer asking your advice at this time ... someone who's weighing technology stacks like ASP/MVC, HTML5/CSS3/JavaScript/jQuery/nodejs, Android/whatever, .NET technologies using XAML (WPF, Win RT, et. al.) ... and let's throw IOS in there for good measure ... what advice would you give them about where to invest their energy in learning and mastering a given stack, and getting productive with it ? I don't mean for this to be "trick" question: obviously, what a person is already knowledgeable about comes into play here; as does whether they are looking to be employee or be an entrepreneur; whether their target platform is desktop, or smart-phones; whether making money is the goal, or achieving "fame and glory" is the goal ... and so on. I'd really enjoy hearing any speculations you care to make, and I am sure other people here would enjoy them. yours, Bill

                                    “But I don't want to go among mad people,” Alice remarked. “Oh, you can't help that,” said the Cat: “we're all mad here. I'm mad. You're mad.” “How do you know I'm mad?” said Alice. “You must be," said the Cat, or you wouldn't have come here.” Lewis Carroll

                                    P 1 Reply Last reply
                                    0
                                    • B BillWoodruff

                                      As always, I enjoy and learn from your thoughtful remarks, Pete. I think an issue anyone ... who's not already committed to, in the thick of ... WPF ... today ... faces is evaluating the future potential of investing time and energy to master a given Windows technology stack, like WPF, or ASP MVC, or RT/XAML/C#. Several months ago, you hinted, in a message here on CodeProject, that you felt some exciting news was coming from Microsoft that might affect the perceptions of the future value of WPF ... information you could not share at the time (I infer) because you were under NDA. Perhaps all of whatever you hinted at is already revealed; I'm not sure. So, let me ask you a rhetorical question: if you had a bright young developer asking your advice at this time ... someone who's weighing technology stacks like ASP/MVC, HTML5/CSS3/JavaScript/jQuery/nodejs, Android/whatever, .NET technologies using XAML (WPF, Win RT, et. al.) ... and let's throw IOS in there for good measure ... what advice would you give them about where to invest their energy in learning and mastering a given stack, and getting productive with it ? I don't mean for this to be "trick" question: obviously, what a person is already knowledgeable about comes into play here; as does whether they are looking to be employee or be an entrepreneur; whether their target platform is desktop, or smart-phones; whether making money is the goal, or achieving "fame and glory" is the goal ... and so on. I'd really enjoy hearing any speculations you care to make, and I am sure other people here would enjoy them. yours, Bill

                                      “But I don't want to go among mad people,” Alice remarked. “Oh, you can't help that,” said the Cat: “we're all mad here. I'm mad. You're mad.” “How do you know I'm mad?” said Alice. “You must be," said the Cat, or you wouldn't have come here.” Lewis Carroll

                                      P Offline
                                      P Offline
                                      Pete OHanlon
                                      wrote on last edited by
                                      #41

                                      Right now, if I were advising a new developer, I would push them towards the MEAN stack (MongoDB, Express, Angular.js and Node.js). While WPF does have some future (sadly, I cannot reveal what it is - you're right that I'm under NDA), this release was probably the last that any new features would make it in; effectively it's now gone into maintenance mode. So, why would I not recommend the "Metro" stack? Well, I'm just not convinced that Microsoft is going to get enough traction in the consumer device space to make it worthwhile for developers to really push into that space. If I were advising devs on looking at the consumer space, I'd recommend learning Java and pushing for Android, or learning Mono C# and targetting Android/iOS. At the end of the day, it's a numbers game, and until Microsoft change direction in their licensing, they will not make the huge inroads in the consumer space. It's not as though they had a form of monopoly on small form-factor device OS that they had on the PC OS market, so they really have their work cut out. Realistically, I see Microsoft moving more towards the enterprise space and pushing things like Cloud services (their idea of an OS in the cloud really hints at this direction). I see that there will be a fair move in this space to the web world, which is why I recommend working with the MEAN stack - I'm currently writing an article on it for CP, and it's a really rich environment to work with. To give you an idea, here's one of the bits of code that I'm currently working on:

                                      var mongoose = require('mongoose');
                                      var Schema = mongoose.Schema;

                                      var LanguageSchema = new Schema({
                                      language: {type: String, required: true},
                                      display: {type: String, required: true}
                                      });

                                      function languages() {
                                      languageModel:null,
                                      __constructor = function(){
                                      this.languageModel = mongoose.model('language', LanguageSchema);

                                          var languages = \[
                                              {language:'Csharp', display:'C#'}, 
                                              {language:'VB.NET', display:'VB'},
                                              {language:'cpp', display: 'C++'},
                                              {language:'css', display:'CSS'},
                                              {language:'html',display:'HTML'},
                                              {language:'javascript',display:'JavaScript'},
                                              {language:'java',display:'Java'},
                                              {language:'perl',display:'Perl'},
                                              {language:'php',display:'PHP'},
                                              {language:'python',display:'Python'}
                                              \];
                                          languages.forEach(function(language) {
                                              this.languageModel.find({language:language.
                                      
                                      1 Reply Last reply
                                      0
                                      • P preaa

                                        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,

                                        R Offline
                                        R Offline
                                        RafagaX
                                        wrote on last edited by
                                        #42

                                        Shiny new toys, that was it's purpose back then... :laugh:

                                        CEO at: - Rafaga Systems - Para Facturas - Modern Components for the moment...

                                        1 Reply Last reply
                                        0
                                        • C ClockMeister

                                          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!

                                          K Offline
                                          K Offline
                                          Kyudos
                                          wrote on last edited by
                                          #43

                                          I agree. Unless you need some sort of 'clever' or 'fancy' UI, I don't see many advantages. Honestly, how many times have you wanted to re-style a whole UI. WPF certainly has nothing to recommend it when considering updating apps built on 'old' frameworks like Froms or MFC.

                                          1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Categories
                                          • Recent
                                          • Tags
                                          • Popular
                                          • World
                                          • Users
                                          • Groups