DEV Community

[Comment from a deleted post]
Collapse
 
jochemstoel profile image
Jochem Stoel

You don't have to ship Electron in every app. That was the point. Also it is still smaller than his Hello world.

 
rhymes profile image
rhymes

You're not giving me any information that you didn't write before so I'm not sure how to answer this comment but I might have misunderstood it so my bad.

You don't have to ship Electron in every app.

How can you not ship Electron in an app that's based off Electron? You mentioned the possibility of sharing an Electron installation among multiple apps, but how can you be sure the end user already has at least one app? And what happens if the end user uninstalls the app that shipped with Chrome inside of it? Do the others stop working?

 
jochemstoel profile image
Jochem Stoel

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.

And if you delete the.net framework and your application requires a minimum version it will stop working too.

Anyway long discussion, I was only recommending something I like to someone who seemed to be looking for it.

 
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 :)