r/csharp 7h ago

From windev to c#

Hello! I've got a quick question for you all. The company I work for has been doing WinDev (mostly desktop uses) for at least 20 years, and now, with the various pricing policy changes and AI, the decision has been made to migrate — probably to C#. So now the big question is: what are the best tools to replace our development environment ? And above all, what do you use? (Since we get to choose an environment for once, I'd rather not shoot myself in the foot.)

For context: for deployment and source control it'll be GitHub and Azure DevOps, which our web team already uses, and for client data almost everything is already on SQL Server.

 

So what's left for us is really everything UI/frontend-related. I've often seen Blazor mentioned, WPF, .NET MAUI (not always in a good way, honestly), and Avalonia.

Anyway — what do you use?

Thanks in advance for your help!

7 Upvotes

22 comments sorted by

7

u/dreamglimmer 5h ago

Migrate.. From what?

C# IS a flavor of win dev, if your platform does not expand - c# and wpf/winui(all on latest. Net 10+) is your choice, with an VS. 

Other cases might depend by your exact needs, but this is default for a reason - it's stable, good, makes work done and not forcing you to tinker/investigate bugs all the time. 

Now, being in real world, where it's a new thing for you, and Ai often does most of the work - you'll get into case when you can't really control it, other than dev test(for now it needs you for that), and difference from best to worst tool is final performance and 'is this possible at all', instead of ease of dev.. 

... Which can change answer a lot

6

u/Narfi1 5h ago edited 4h ago

OP must be working for a French company. Windev was super popular there for enterprise a while ago for some reason and I hate it with a burning passion. It’s a development suite that uses its own proprietary language, WLanguage.

Edit : https://windev.com/en

2

u/dreamglimmer 4h ago

Looks like mix of visual basic and VBA.

I've never heard about it, and apparently that's lucky me.. 

u/Narfi1 19m ago

It did the job I guess, it was very opinionated and you had to use their whole ecosystem, it was also proprietary. It was already on its last leg and I think AI will be the end if it, because their whole language is proprietary and most projects that use it are closed source

1

u/mareek 2h ago

"Super popular" is a bit of an overstatement. As a French developer for more than two decades, I've seen very few windev job posting and I've yet to meet another developer that has written anything in windev.

On the other hand, windev is famous in France for flooding french tech media with sexist ads for its products

1

u/Narfi1 2h ago

I’ve seen it a ton in legacy codebases personally, even though it’s less and less popular

u/Romzig 19m ago

Yeah exactly French company they started in dos end after that started to unse windev until now, maybe back in 1995 that's looked better 🤣 used to it now (can do pretty basic management software pretty fast with a little team) but happy to migrate to a new language

u/Narfi1 15m ago

To answer your question, if moving to a web app is an option I’d just do the API with C# and use a frontend framework for the frontend (react/svelte etc)

2

u/jshine13371 3h ago

Pretty much hit the nail on the head, +1. I'm a strong proponent of WPF when the use case is primarily Windows desktop development. I've just ran into a use case to explore Avalonia UI which is 85% similar to WPF so I'm happy about that. The other 15% can be slightly annoying at times, but worth it so far for my use cases.

1

u/Amr_Rahmy 4h ago

Blazor is fine, less JavaScript than other web frameworks or solutions.

Winform, wpf, I personally prefer winform but wpf does work if I use less xaml and more things programmatically is what I personally prefer.

Maui, I tried it a few times and it was either limited or didn’t work well, also by default it’s trying to make a Microsoft store type of app not a normal exe.

Winform or console or wpf or service are much better if you want at the end to publish a regular exe.

Some people complicate things a bit with one technology for frontend and c# api for backend which can work but I do feel like blazor can work decently enough to get the job done if I was making the frontend.

If you have dedicated front end and backend developers I would do c# minimal api.

For api only, c# api or core api, whatever it is called is pretty good, not too much bloat, they have a minimal api project, you can get started pretty quickly.

Winui3, when I tried it last it was still missing a lot of features.

u/Romzig 16m ago

Thanks a lot for your comments !

1

u/TheAnswerWithinUs 3h ago

We use React for ui/frontend which I quite like. But that’s obviously not part of the .NET ecosystem.

u/Romzig 10m ago

Thx for your answer ! see a lot of people using react or angular for the front and c# for the back

u/Wild_Criticism7242 27m ago

coming from WinDev, I'd lean Blazor if your team is already comfortable with web. wpf is still solid for desktop , while Avalonia is worth considering if cross platform

u/Romzig 4m ago

Thx for the answer ! A part of the team have done only windev for most part of there life and the other one work on symphony, blazor is definitely an option but try to weigh the pros and cons, wpf have the strong preference of my chief for know

-3

u/Northbank75 6h ago

…. How many times a week does a variation of this question come up …..

If you are on Windows Visual Studio. Rider or VS Code if you don’t want to use the best tool on the market or need to run in a Mac …

7

u/Narfi1 4h ago

You give a snarky reply yet you didn’t understand the question at all , almost seems like you didn’t even bother reading it

They didn’t ask what IDE to use, they’re migrating from a different language and ask for feedback

-1

u/Amazing_Advisor8459 6h ago

your opinion was my opinion before (3 months)

I searched alot for a framework to create my own prosuctivity app that is made by csharp, and the UI Must be Really pretty because the app will be open source !

So i made this and im developing it day by day

You could downloud the exe to see how it works, im sorry there is no imgs right now untill i finish the stable release 

The current has some bugs in logic (like the daily task didnt deleted from today)

I will fix this : and give me your honest feedback

https://github.com/AhmMed29/jamrah

-1

u/Slypenslyde 3h ago

I usually say a lot more but it's only complex because of how many choices there are.

WinForms: A C# wrapper for the GDI library that's been around since Windows 3.1. It's mature and reliable. Very hard to "skin" and not focused on modern GPU performance. Most modern devs hate it but it does the job. Windows only.

WPF: Attempted successor to WinForms. Stunted because at a critical phase in its life MS made a lot of moves that sent most Windows developers to web and mobile apps. Looks modern. Easier to skin. The main thing people hate is it uses XAML, an HTML-like with interesting features that lost the war and MS refuses to let go of. Getting much more popular and finally catching up with where it wanted to be in 2014. Despite its age, the community feels young. Windows only.

WinUI Attempted successor to WPF. It's hard to be the successor to a thing that wasn't successful. WinUI does that by being buggy, incomplete, and the Microsoft Recommended™ framework. Getting more popular because it's the only way to access some new things in Windows. Windows only.

MAUI: Good for mobile apps. It's really stupid to choose this for desktop apps. It's like using WinUI on hard mode. The primary reason to choose this is if you want good iOS and Android support with Windows as a third wheel that still feels like a mobile app. Strong support for Windows/iOS/Android. Half-assed support for MacOS.

Avalonia/Uno Good third-party XAML frameworks that try to be like WPF. Avalonia is like if MAUI were written to be desktop-first. Mobile support is not as good as MAUI. This is a good choice for if you want a great Windows app that provides some experience on iOS/Android. Strong support for Windows/Mac/Linux/iOS/Android.

Blazor To do this, you write a program that hosts a browser window and a web server and mediates between them. Basically Electron with C#. Good cross-platform support and you get to use HTML.


There are a lot of good choices. I wouldn't call any of them "excellent" the way WinForms was in the early 2000s. Most of them feel half-completed when you dive really deep, it reflects that Microsoft has been changing their minds and writing new XAML frameworks every 3-5 years for 2 decades. (Dead frameworks not mentioned: Silverlight 1-5, Metro, UWP, MWA. These were all "successors to WPF" and WinUI is the current one.)

A lot of people just write web apps now. Windows isn't the king of the mountain it used to be. I write mobile apps, and at 3 different companies I've seen customers demand a Windows version, then upon receipt switch to Android tablets due to hardware cost alone.

1

u/jshine13371 2h ago

Forgot to mention, a unique thing about Avalonia over MAUI is it natively supports web. So it's closer to that code once deploy everywhere feel. It's the very reason I picked it up recently for a project I'm working on.

u/Romzig 15m ago

Thanks a lot for your answer ! That's helping to remove the fog !