Skip to main content

Is C# .net For Client Applications Dead?

Created
Active
Viewed 1k times
20 replies
9

Since Xamarin is officially out of support, and MAUI is a complete disaster (and considering nobody, even microsoft doesn't use it...for anything), is it safe to say that C#, or .net in general for client applications is dead?

All that's left now for C# is really Unity, ASP & WPF (for Desktop apps).

Since Unity's 20 cents per install revenue cash grab, it caused allot of trust from many developers to be lost, and many of them have moved to unrealengine.

ASP for Client side is old school at this point. I personally haven't used ASP for anything for at least 10 years (Webforms & some MVC). Most front end is react or angular today.

And WPF, well there aren't that many jobs out there.

So is it safe to say that C# or .net in general is only good for Backend? Thus frontend development for C# is essentially dead at this point?

20 replies

Sorted by:
78493273
4

I am assuming you are referring to .net core, and it is flourishing for creating business api.

By Client application are you asking for UI ?, then for UI development like web interface or mobile interface .net core was never targeted, it was done long time ago by asp.net as you rightly said WebForms, .net core on the other hand is designed mainly as a headless api development system that is cross platform and it can be integrated with various UI framework like Angular, React and more.

We are making applications API in .net core 7 and UI is in React and Mobile apps are in Flutter,

78493397
6

My company is using Blazor (server), not a huge amount of users but it seems to be working

78494384
2
  • 62.2k
  • 16
  • 79
  • 92

Depends what you mean by "client". In the web space, ASP.NET still has Blazor (intended largely for intranet apps I think, but still very useful and a paradigm shift compared to MVC, let alone WebForms), plus MVC and Razor pages. All work well for the purpose they target.

And for Windows-only desktop there's still WinForms - and people still use it if they know it.

78494550
10
  • 592
  • 1
  • 4
  • 22

What makes you think MAUI is a complete disaster and nobody is using it? MAUI is the successor of Xamarin forms. Plus there are other multiplatform frameworks built on top of .Net and MAUI like Uno platform.

There are many companies that use .Net in their business, from public facing portals through internal applications. Using one single dev team that knows C# they can develop all their internal needs. Same team can develop desktop apps or use the same stack to develop web assembly apps using Blazor without injecting a front-end team. Or They can just build the apps in Blazor and get in running as a desktop app or mobile apps.

There reason most job ads don't mention these is because of close integration of different .Net components. They just go with proficiency in C#/ASP.Net/Blazor. they don't mention the candidate would be required to build Desktop or Mobile or public facing portal. because you can do all those with the same tech stack.

78496978
3

Microsoft's API quality and documentation are backsliding hard across all their products. Is MAUI really that much worse?

Your question prompted me to do some reading while I was killing time at the auto mechanic today. I found two intriguing options that I might use myself in the future:

Electron lets you host a Blazor app on the desktop.

And the most effective way to target multiple platforms with a C# app might be .NET Core WPF with Linux support via WINE. I've always viewed WINE as an option of last resort, but that article suggests that WINE support for .NET Core is so much better than it was for .NET Framework that you can target it intentionally.

78514794
2

Avalonia use Skia just like flutter. I haven't try it before. Quoted from Avalonia UI : enables .NET developers to create pixel-perfect apps for desktop, mobile and web from a single codebase. Avalonia UI uses Skia to draw the user interface, enabling pixel-perfect apps that make it easy to add some flair and ensure your apps stand out.

78628394
0

C#and.NET are not dead for Customers Applications and C# and .NET continue to be relevant in the realm of client applications. We’re currently experiencing a shift as innovative technologies like Blazor and MAUI come into play. While traditional desktop development roles may see a decline, the need for C# developers is still robust, particularly in backend development and with Blazor’s rise. It’s important to stay updated with the changing tech scene and delve into the fresh opportunities that C# presents

78631327
0

I would say it depends.

If frontend has to be light or should work in multiple environments like SPA in mobile and web then C# as such isn't the best option. But that said C# or even Java hasn't been frontend language since JavaScript libraries and Adobe Flash had some maturity. Of course Silverlight killed Flash and WPF is kind of successor of that and WinForms.

Only need for event driven UI or requirement for fast response times have forced developers to create desktop software or environment dependent software that is optimized for PC, mobile, custom hardware. That is games, some real time monitoring software and simulations... well some design software as well.

Even when WindowsForms or WPF is used it is not pure C#. There are mechanics to deliver data structures and variable values to the UI. Those are just libraries that have their own learning curve. Variable value doesn't magically appear to UI. You need to use some mechanic to show it. Same goes with Vue.js that is MS solution in JS battle. React, ASP.NET or any other UI library. Those are just frameworks to show your data to an user.

Even when I did develop WindowsForms UI 15 years ago it was just another framework not very pure C#. You had to learn how to pass values from backend to frontend and what kind of structures because in the beginning not everything was supported. In the UI there was always challenges when windows were resized and component scaled. Infamous calendar and datetime components had to be redesigned constantly (mostly because of requirements in Europe).

I'm not quite following what do you mean with C# frontend development. Could you elaborate? What do you mean? Was something easier or smoother than today?

78631451
3
  • 29.2k
  • 9
  • 63
  • 85

"Of course Silverlight killed Flash" it's Flash that killed Flash. That and HTML 5.

Silverlight did not have that significant impact on the web. I had been running my browser with SL disabled for about as long as it existed and experienced no detrimental impact from that. I also ran it with Flash disabled and had to occasionally enable it more often than with Silverlight.

My parents would have never heard of Silverlight. That'd be the case with very many people who have used the Internet while Silverlight was around.

I'd compare Silverlight to Java applets - they were a thing. That's about it one can say - applets/Silverlight had some limited application and were somewhat popular for a short while. But neither managed to re-shape the web the way Flash did.

78631798
2

As I remember Flash and Silverlight had some narrow customer base that were very eager to use those libraries. As web pages there were multimedia companies (music industry, movies etc.), various home pages for brand name cars, and of course a lot of browser games.

When HTML5 arrived it did make Silverlight (and Flash) obsolete for a lot of user cases. I agree on that. However, HTML5 can't create animations or interactions like Flash could. You need CSS and JavaScript to do that.

Flash did reign 1996-2011, Silverlight had its joy 2007-2012, and HTML5 came to the scene around 2010. Since 2013 came React and a lot of js libraries for game development.

But UI development and web development with C# didn't get any liftoff.

78632017
2

It's understandable to have concerns about the future of C# and .NET in client application development, especially with the transitions happening in the technology landscape. However, it's not accurate to say that C# or .NET for client applications is dead.

While Xamarin is out of support and MAUI has had a challenging start, the .NET ecosystem is still evolving. **Blazor**, for example, is a framework that allows developers to build interactive web UIs using C# instead of JavaScript. It's part of the ASP.NET Core framework and can be used for both server-side and WebAssembly-based client-side applications.

Moreover, the .NET platform is not limited to backend development. With **.NET MAUI**, despite its initial hurdles, and other frameworks like the **Uno Platform**, developers can create cross-platform applications for Android, iOS, macOS, and Windows. The Uno Platform even allows for WebAssembly apps, which can run in the browser.

The .NET ecosystem is also supported by a vibrant community and is being continuously improved by Microsoft. The latest version, **.NET 6.0**, offers stability and robustness for applications, and Microsoft's commitment to ongoing support ensures that developers can integrate .NET components into their existing applications.

In terms of job market and industry use, while WPF may not have as many job listings as other technologies, it is still used in enterprise environments, particularly for desktop applications. C# and .NET continue to be relevant in various application domains, including cloud-based apps, which are increasingly important in today's tech landscape.

In conclusion, while the frontend development landscape is indeed changing, with a shift towards frameworks like React and Angular for web development, C# and .NET are adapting and still offer valuable tools for client-side development. It's more of a transition phase rather than an end for C# or .NET in client applications. The ecosystem is robust and continues to evolve, providing developers with the tools to build modern and high-performance solutions across various platforms.

78689459
1

You should understand the market. There are generally not so many needs in solutions targeting desktop. Usually it's just web apps, packed via electron to work on desktop.

If you want to write a modern Windows app using C# - you can do it with WinUI.
WinUI is similar to WPF, but allows you to use native Windows components. It's much easier in use and much more powerful.
You can watch a WinUI introduction here: https://youtu.be/sYBCFTRmHOA?si=O5fOMa_SSThLSAgo
Also, this is the WinUI 3 Gallery with all the Windows components: https://www.microsoft.com/store/productId/9P3JFPWWDZRC?ocid=pdpshare

I understand, that this technology is not so popular yet, but now I'm creating an open source app with WinUI 3, Clean Arch, DDD and all the cool stuff to show, that Windows apps are still alive

78740223
2

You can build some interesting things with an MVC Application, but of course it depends on your project requirements.

As for MAUI, I did follow the release very closely and it was dead on arrival. Apart from some hardcore Microsoft fans no one cares.

Overall it depends on the company, project, team :)

78741228
1
  • 5.3k
  • 4
  • 37
  • 50

This is a bit of a mix and mash up. You seem to be weaving together old school client side GUI application development, game development AND web front end development. That's a very wide net to throw.

.NET is still very viable for web development through Blazor or Razor Pages. Pairing HTMX and razor pages sounds like a cool combo I would play with if I needed no sleep at all.

When it comes to client side application development... who does that the old school way anymore. Generally there is a need to have something on the web, something on a mobile and something on a computer and having three different code bases is a cost nobody wants to cover anymore, so wrapper technologies like Electron or React Native would be used. When it comes to .NET you could use Microsoft's own Webview2 which they used to build their new Teams version.

78881357
0

As per my understanding:

C# and .NET are far from dead for client applications. While Xamarin has been sunsetted and MAUI is still evolving, .NET remains a strong choice for various client platforms:

  • MAUI: Though it has had a rocky start, it is designed to unify cross-platform development. Microsoft continues to invest in its improvement.

  • WPF: Still relevant for desktop applications, particularly in enterprise environments where it remains widely used.

  • Blazor: A powerful option for building client-side web applications with C# that runs in the browser via WebAssembly.

.NET's ecosystem is versatile, supporting everything from backend services to modern client-side web apps (Blazor), desktop apps (WPF, WinForms), and cross-platform mobile (MAUI). While C# may not dominate front-end web frameworks like React or Angular, it’s certainly not dead and remains a valuable skill for a wide range of development scenarios.

78897314
0

I feel the same as you, reactjs and web is taking over in general for UI interfaces, and as employer view its more easy to find employees that know basic reactjs and can get the job done.

78897321
0

the editor visual studio the purple one is a big problem when you come from a front end background

79329496
0

I think like you and upvoted,

there are people that use blazor

so it depends on the team whether its strong enough to build a full stack app with c# so they have the option until wasm will take control over the web

79365871
1

Why?! I cannot see a single reason. Yes, I agree, there are some disasters. But no one canceled WPF, console applications, or ASP.NET, their share is probably only growing, and non-Windows .NET development also growing. And don't forget WinUI.

Don't you think you just need to stop listening to numerous “experts” claiming that one thing is “dead”, and another thing is “dead”... If you want to listen to them, first ask what technologies they personally created. :-)

79439136
0

Well, looking at the push taht MS is doing to MAUI on their developer event (MS Build), I can imagine that they will try to make it better over time. In my experience, when I tried MAUI last year, it was hard to understand it. I am expecting to see how MS improves in that area.

Regarding the Blazor/Razor framework for frontend development, I can just tell that has work for me for small and simple applications. But they are not (yet) mature enough to compete with React & co.