I have learned a lot watching your videos. I tried switching to MAUI but I found so many small bugs when I was using it on Windows so I have since gone back to WPF. Glad they are still working on it.
Yeahhh right now that's probably the safer bet. I'm afraid of developing a new production app on MAUI and then running into a bug that halts development. Very low chance of that with WPF. Of course, I think MAUI will get better!
No worries! 😄 Even if they did stop new development, it's still a pretty stable framework and you can build powerful apps with it. Plus, the skills you learn in WPF can easily apply to other frameworks in the .NET desktop ecosystem 🚀
developed in wpf for 10 years and switched last year to MAUI + Blazor and I am totally satisfied with this decision. Way better learning curve, but people should choose what makes them productive imho!
I feel the same way about the MAUI learning curve too! Having things like built-in navigation is huge. Great point about choosing the framework that makes you most productive. That gets overlooked so often by just picking the framework that is the most trendy (I wrote a blog post about this exact topic 😂).
omg you troll, I my jaw dropped at the thought of WPF being cross platform, I was so excited! But also confused and skeptical, so that softened the blow 😆
Hello Genius! Regarding making WPF a Cross-Platform, There is a UNO platform which supports XAML, and you can use it to develop cross platform apps (as far as I know!) Could you please brief us regarding this platform?! Best, Layth
So... What is the UI framework to use for a new project then? Because it has become an absolute dogs breakfast of many abandoned frameworks and an internet filled with outdated how to's. It's a mess and I miss the old win32 days where a window was a window and a button a button.
I like WPF. It is an interesting and mature technology with a lot of cool libraries like Prism. But it's quite annoying that by default you get Windows-XP-style looking controls. So the comment about spending a couple of grands for UI libs like Telerik, Syncfusion or Infragistics is legit IMO. In addition, Microsoft official courses on WPF are not only updated or extended they are even discontinued and you can't even access them anymore even though you paid for them. So my previous company paid like $1500/developer for a course with lifetime access guarantees that disappeared after 5 years which is... you know.
Yep, I also somewhat agree with that comment about UI libs. On the other hand, I feel like every frontend technology has that issue: the base framework won't provide all sorts of custom controls. We see the same thing in frontend JavaScript where if you need a popup or a calendar, you usually have to bring in a 3rd party library. The thing that sucks about the WPF ecosystem is that these UI libraries cost a bunch of money. You can usually find tons of free UI libraries for other ecosystems, like React. I guess I'm just spoiled by the strength of something like the React ecosystem 😃 I wish all these WPF control libraries were open source... But that gets into the next point you brought up. WPF is HARD, and it's hard to find free resources for learning (that's somewhat why I really enjoy creating WPF content). So I guess it's understandable that these WPF UI libraries charge money for their product. It probably takes dedicated resources to build and maintain. I wish it weren't the case, but if there's not enough competitors then they can charge whatever they want. And since WPF is such a niche skill, it's unlikely that a top-notch free UI lib will challenge the paid libs. Anyways, that's my rant 😄 I hope that makes sense. TLDR I pretty much agree with your points hahah
@@SingletonSean Yes, every frontend technology has an issue with the default control design, the difference is how the community tackles it. What I feel about WPF is that Microsoft had big plans with it in 2006+ because of the amount of abstraction and extensibility however it turned out that desktop apps did not have that bright future and the focus turned to web tech. In addition, Microsoft had to reallocate a lot of resources to Azure cloud tech and these might have been missing in other places. One of them might have been WPF and there were not enough resources to create a good, mature and stable desktop app framework that would come up after the WPF. I understand that Telerik, Infragistics, and others charge money for their libs and that's fine because it's expensive to build and maintain them. And they look great. However, these libs do not intend to mimic the appearance of Windows and it is disappointing that Microsoft went through a lot of evolution steps in UI/UX in Windows (which actually looked very good, imho) but did not provide any packs for their own technologies to create natively-looking desktop apps for Windows. Almost as if the time stopped for WPF in 2006. In such situation, I can understand why so many desktop products were built on Electron with Javascript/Typescript, HTML and CSS. If nothing else, they could have benefited from CSS libraries such as Bootstrap. Regarding the discontinuation of the Microsoft official course (MOC 10262, fyi), it was a shocking finding for me because I see no point in canceling a course AND access to learning resources that came with it for a technology that is still widely used on the market and there are no plans to retire it anytime soon. And the students also paid quite some amount of money. Really, really disappointing move.
WPF is nice, but why it doesn't support such essential things like negation in XAML Binding? Why do we must use so many converters to achieve essential goals? And why Behaviors library is not in WPF? XAML needs to get much improvement like if and else statements, type declaration or adding new properties to a control... And why essential controls are so hard to adapt and style? DataGrid, DatePicker, buttons...
0:17 that's what avalonia team did with XPF. Instead of wpf it is better to stick with avalonia. The only difference from WPF is their style and control theme system.
Besides WPF (which is still great) and MAUI (not working on Linux), there are some pretty mature real cross platform libraries out there, e.g. Uno Platform and Avalonia UI. Avalonia provides non-free XPF, which claims to "Take your existing WPF apps and run them on macOS and Linux without expensive and risky rewrites." Avalonia even supports rendering on FrameBuffer for Raspberry PI.
I feel like WPF is a great framework but it's kinda incomplete. Some of the things are really easy to do while others are really hard to implement. In my opinion WPF is already dead if microsoft dont try to make it cross plateform somehow. But for that .Net foundation is pushing Avalonia which itself is pretty much incomplete. It seems, Blazor is the future but idk how blazor will be able to interact with native apis.
Hi Sean, could you do a video about what are the best ways in your opinion to serialize layout data? I know a lot of people use configmanager appsettings + json, but what if I have 130 properties+ ? how to organize that and where? I was thinking about making a "LayoutSettingsModel" folder in my Views folder, with a wrapper for each (eg.: WindowSettings) so I can keep the model clean; the wrappers would have services (INotify, ISerializer, lLogger etc) registered in a DI Container, and I would add extension methods for easy serialization in the viewmodel (Newtonsoft or .Net for Json?) Then the Viewmodel would use the wrapper to save/restore layout settings, and I could use a composite commands to eg. save all on close What do you think? What do you personnally could you make a detailed videos/live of different techniques? HUGE Thanks amazing channel!
Now I can see you 😂😂 Nice the new style on the channel, Sean. I like the positive way you say that WPF still powerfull, and can create advanced controls with it.
Wpf have give me to eat in several time, i love this technology and thank to wpf i think my learning curve in Netmaui is faster, i know 90% or maybe more of Netmaui thank to wpf
Yes, I feel the same way about MAUI! Glad that a lot of WPF skills transfer over to MAUI, and that many things in MAUI are easier than they were in WPF.
While it's a popular meme to joke about MAUI failing (even I do it... although some people aren't joking hahah), I don't think it will fail. People point to the extreme churn of .NET desktop frameworks like WPF, UWP, etc, but MAUI isn't necessarily a desktop framework. I feel like MAUI is closer to Xamarin than it is to WPF or any other desktop framework. Xamarin had a solid track record (despite being a bit buggy), and I think that will continue into MAUI. Right now though, MAUI has it's bugs and issues. Those need to be addressed. As of right now, I think they will be eventually: there are TONS of MAUI pull requests merged every day. That's a good sign! But will they be able to beat third-party platforms like Avalonia or Uno? Will they lose market share to these platforms if they don't develop fast enough? I'm not sure. I haven't used any of these third-party platforms, so I'm not sure how stable they are. I would need to experiment with them before answering that question 😄 But overall, I still have confidence that MAUI will mature and become a stable option for cross-platform development. Good question! And an excessively long answer...
Thanks for your answer @@SingletonSean I think MAUI can be awesome if they get their priorities straight and listen to the developers(at least a little). Obviously it takes time to reach maturity in a framework. I'm playing around with it for now, don't want to get left behind if it's a winner :) It's also nice to see a high level of activity in the project 👍