DEV Community

[Comment from a deleted post]
 
rhymes profile image
rhymes

Yeah you're right but at least if you have multiple applications, it only requires one electron just like you don't have to install the .net framework for every application that uses it. Basically a global npm install.

Ok I understand. There's a slight difference though. .NET is guaranteed to be present in every modern Windows installation (setting aside various versions compatibility for a sec), so you might be guaranteed a minimum functionality (and maybe you can then install a powered up .NET version separately and wait for the next restart?).

If you look closely though there's not much to be shown for cross platform desktop apps written on .NET and I think one of the reasons is exactly because .NET on MacOS and Linux doesn't come prepackaged. Another possible reason is that Windows is a big enough market for smaller software vendors to prioritise.

Which, in a sense, it's the reason why Electron apps ship with their own Chrome. Yes, it might be technically possible to use the "shared Chrome", but you risk shrinking the user base to "only users with Chrome version xyz and onwards".

There's no easy answer here, which makes me think that's also one of the reason why people ship web apps instead of desktop apps. They don't want to deal with all of this hassle. The fact that Electron helps bringing "web screens" to the desktop is great by the way, at least for developer velocity and visual coherence for the end user.

I'm sure there's room for innovation in the space of cross platform UI runtimes, for example:

Flutter is also another space where Google is trying alternative approaches to desktop development.

The status quo doesn't appeal to me :D

 
jochemstoel profile image
Jochem Stoel

You are right there is no simple answer but in my experience (my personal opinion) when you want to develop a platform agnostic application you are better off using Electron than trying .NET core to run smoothly on each os. Also, .net core is great and all but not everything you do with .net on windows works on Linux or MacOS.
The System.Speech.Synthesis namespace for instance which is one I use a lot. Electron is a lot more consistent.

 
jochemstoel profile image
Jochem Stoel

This attempt to popularize .Net and C# for this is cute but ultimately going to fail.

 
rhymes profile image
rhymes

This attempt to popularize .Net and C# for this is cute but ultimately going to fail.

I don't think we're discussing to proclaim winners or losers, just to understand more about each platform's and approach's limitations.

I don't use either so I'm definitely learning new things :)