none
C# - A FinTech Desktop Application RRS feed

  • Question

  • WPF vs UWP

    Should I suggest my client to use WPF or UWP?  

    They need a powerful desktop application for their need.  Anyone can give me some suggestions?

    Tuesday, September 17, 2019 3:48 AM

Answers


  • Hi    iHandler,

    >>I see .NET framework in the selection box only

    Yes, you can create WPF application(.NET framework ) with different .NET framework version.

    >>, so I have to change for it "later on", right?  

    If you want to change the framework to .net core 3.0. You need to refer the Port a WPF desktop app to .NET Core.

    For more about net core, please refer the What's new in .NET Core 3.0 (Preview 9) 

    Besides, It would be appreciated if you could close the thread by marking helpful posts as an answer. This will help other members to find the solution quickly if they have faced the similar issue. If you have a new question you can start a new thread  with all necessary code snippets for anyone else to be able to reproduce your issue from scratch along with a detailed description about the results including any exception messages.

    Best regards

    Yong Lu

    MSDN Community Support
    Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com.

    • Marked as answer by iHandler Thursday, September 26, 2019 4:02 AM
    Wednesday, September 18, 2019 1:51 AM
    Moderator
  • The advantage of web development is largely the availability of developers.

    Relatively few teams do desktop development nowadays. Few juniors have any experience in desktop development.

    Blazor allows you to use .net dll on a client inside a browser. You can run compiled code in the browser. If can interact with javascript but you can get away with much less javascript and less javascript skillz than you need gor javascript javascriot spa. The templates used for components use the same razor syntax as mvc. There's also server orientated blazor where the c# runs on the server but communicates from there to the page on the client.

    Blazor is bleeding edge and not even in proper rtm yet but javascript based spa is tricky stuff.


    Hope that helps.

    Technet articles: WPF: Layout Lab; All my Technet Articles

    • Marked as answer by iHandler Thursday, September 26, 2019 4:02 AM
    Monday, September 23, 2019 7:44 PM
    Moderator

All replies

  • WPF vs UWP

    Should I suggest my client to use WPF or UWP?  

    They need a powerful desktop application for their need.  Anyone can give me some suggestions?

    Hi   iHandler,   

    UWP is the leading-edge platform for Windows 10 applications and games. It's a highly customizable platform that uses XAML markup to separate UX (presentation) from code (business logic). UWP is suitable for desktop applications that require a sophisticated UI, styles customization, and graphics-intensive scenarios. UWP also has built-in support for the Fluent Design System for the default UX experience and provides access to the Windows Runtime (WinRT) APIs. By adopting Fluent, UWP automatically supports common input methods such as ink, touch, gamepad, keyboard, and mouse.

    WPF is the established platform for managed Windows applications with access to the full .NET Framework, and it also uses XAML markup to separate UX from code. This platform is designed for desktop applications that require a sophisticated UI, styles customization, and graphics-intensive scenarios. WPF development skills are similar to UWP development skills, so migration from WPF to UWP apps is easier than migration from Windows Forms.

    For more detailed:

    Choose your app platform
    https://docs.microsoft.com/en-us/windows/apps/desktop/choose-your-platform


    Best regards

    Yong Lu


    MSDN Community Support
    Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com.

    Tuesday, September 17, 2019 7:28 AM
    Moderator
  • Should I use WPF as my client only uses "Keyboard and Mouse" and never use "Touch Screen" in their office?

    Also, why people are talking about WPF .NET Framework migrates to WPF .NET Core?  What's the problem for developing application on .NET Framework?  

    I am using VS 2019 to work on my project.  

    Tuesday, September 17, 2019 8:07 AM

  • Hi    iHandler,

    >>Should I use WPF as my client only uses "Keyboard and Mouse" and never use "Touch Screen" in their office?

    Yes, you can use WPF as client(If you don't need to use only one common client (tablet, cell phone, PC) for all devices).

    >>Also, why people are talking about WPF .NET Framework migrates to WPF .NET Core?  What's the problem for developing application on .NET Framework?  

    There is no problem for developing application on .NET Framework.  WPF(.NET Framework) migrates to WPF .NET Core is a new further in NET Core 3.0.  

    NET Framework and net core do not conflict.

    How to: Port a WPF desktop app to .NET Core:

    Besides, It would be appreciated if you could close the thread by marking helpful posts as an answer. This will help other members to find the solution quickly if they have faced the similar issue. If you have a new question you can start a new thread  with all necessary code snippets for anyone else to be able to reproduce your issue from scratch along with a detailed description about the results including any exception messages.
     

    Best regards

    Yong Lu

    MSDN Community Support
    Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com.


    Tuesday, September 17, 2019 8:15 AM
    Moderator
  • So, if I develop WPF application on VS 2019, how do I know if it's under .NET framework or .NET Core?  

    Tuesday, September 17, 2019 8:22 AM
  • So, if I develop WPF application on VS 2019, how do I know if it's under .NET framework or .NET Core?  

    Hi     iHandler,

    When you create a wpf app, you can find your Freamwork Version.



    NET Core has no template in VS2019 to create WPF programs directly. You can try to change it to the net core version based on the above article.

    For the latest news on net core, please pay attention tonet core.


    Best regards

    Yong Lu


    MSDN Community Support
    Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com.

    Tuesday, September 17, 2019 8:31 AM
    Moderator
  • I see .NET framework in the selection box only, so I have to change for it "later on", right?  

    Tuesday, September 17, 2019 9:53 AM

  • Hi    iHandler,

    >>I see .NET framework in the selection box only

    Yes, you can create WPF application(.NET framework ) with different .NET framework version.

    >>, so I have to change for it "later on", right?  

    If you want to change the framework to .net core 3.0. You need to refer the Port a WPF desktop app to .NET Core.

    For more about net core, please refer the What's new in .NET Core 3.0 (Preview 9) 

    Besides, It would be appreciated if you could close the thread by marking helpful posts as an answer. This will help other members to find the solution quickly if they have faced the similar issue. If you have a new question you can start a new thread  with all necessary code snippets for anyone else to be able to reproduce your issue from scratch along with a detailed description about the results including any exception messages.

    Best regards

    Yong Lu

    MSDN Community Support
    Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com.

    • Marked as answer by iHandler Thursday, September 26, 2019 4:02 AM
    Wednesday, September 18, 2019 1:51 AM
    Moderator
  • For a WPF application, what's the goodness running on .NET Core instead of .NET framework?  

    Is there a special reason we need to manually "Port a WPF desktop app to .NET Core"? (Would it be nice if there is an option for choosing .NET Core")

    Please advise

    Wednesday, September 18, 2019 4:01 AM
  • For a WPF application, what's the goodness running on .NET Core instead of .NET framework?  

    Is there a special reason we need to manually "Port a WPF desktop app to .NET Core"? (Would it be nice if there is an option for choosing .NET Core")

    Please advise

    Hi   iHandler, 

    Please refer the .net core documents and research with your team and decide what technology to use.

    Thank you for your understanding.

    Best regards

    Yong Lu


    MSDN Community Support
    Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com.

    Wednesday, September 18, 2019 5:34 AM
    Moderator
  • There is a special reason.

    .Net Core 3 is not released yet. You're using preview tech so not all options are available. There are substantial differences between the structure of a csproj you'll have now and the "new" version for .Net Core 3. It's not just a case of setting a value in the csproj like it is switching framework .net 4.5 to 4.7.2  As a result you have to pick core or .net old when you create a new project.

    The reason almost everyone wants to use .net core is because of substantial speed improvements. In porting code there have been substantial efficiencies identified and implemented. This is particularly true of linq but you're talking easily 30% difference between asp.net core old and core.

    BTW

    Although .Net standard is cross platform, WPF is not and cannot be. You can't write a wpf app and run it on anything but a windows desktop. If you particularly wanted cross platform you should probably add Xamarin forms to your list.

    As to which to pick.

    Hardly anyone is using UWP. If you wanted something to run on an IoT device then maybe that'd be an idea.

    You should pick WPF or some other technology.

    There is a huge list of "other technologies" and most teams would include browser based SPA on that list - hence blazor/react/angular/vue.  Personally, I think Blazor is going to be huge.

    There are also desktop technologies that use javascript, html and css - eg Electron.  Visual studio code is written in Electron. The reason you might want to consider this is it's easier to find web devs nowadays. Fewer and fewer teams are doing desktop dev.


    Hope that helps.

    Technet articles: WPF: Layout Lab; All my Technet Articles

    Saturday, September 21, 2019 2:13 PM
    Moderator
  • thanks Andy, Very informative,

    When comparing ASP.NET with Blazor, it looks like they are very similar, so what are they mainly in different? :-)

    Also, what is the main disadvantage of desktop dev?  (I personally love Desktop App is because it's non-browser based as well as performance, features...etc)

     

     

    Monday, September 23, 2019 10:21 AM
  • The advantage of web development is largely the availability of developers.

    Relatively few teams do desktop development nowadays. Few juniors have any experience in desktop development.

    Blazor allows you to use .net dll on a client inside a browser. You can run compiled code in the browser. If can interact with javascript but you can get away with much less javascript and less javascript skillz than you need gor javascript javascriot spa. The templates used for components use the same razor syntax as mvc. There's also server orientated blazor where the c# runs on the server but communicates from there to the page on the client.

    Blazor is bleeding edge and not even in proper rtm yet but javascript based spa is tricky stuff.


    Hope that helps.

    Technet articles: WPF: Layout Lab; All my Technet Articles

    • Marked as answer by iHandler Thursday, September 26, 2019 4:02 AM
    Monday, September 23, 2019 7:44 PM
    Moderator
  • Thanks, read through your message and understand it.

    In my opinion, if I do any web dev, I would not use Microsoft technologies.  

    For desktop development, Microsoft is strong in this area.  But somehow Microsoft creates a tough task for theirself.  

    Tuesday, September 24, 2019 6:58 AM