4 ms·
The moment you claimed to make a software for Linux by using c#/.net/mono, you failed! Usage, cpu/mem bloat, dependencies, ethic, will all be all wrong...
by greatgib 6y ago
The moment you claimed to make a software for Linux by using c#/.net/mono, you failed!
Usage, cpu/mem bloat, dependencies, ethic, will all be all wrong...
- _a1_ 6y agoIs it really that worse than Java / Electron?
- phendrenad2 6y agoI can understand what you mean by cpu/mem bloat (I'll add to that install size, assuming this packages things up with all dependencies), but what do the other things mean?
- greatgib 6y agoFor "usage", mono being like a kind of jvm, you will have a lot of "desktop graphical" or integration issues. I can't swear that it will really be the case, but here are some examples of kind of thing that I expect: - Icons, window decoration, style, not matching the system. - Copy paste issues, for example the middle click not working. For "dependencies", not considering the real dependencies, you will have to force your user to install mono and its own dependencies. As the application will run on this, in a similar way that you would have to install a JVM + classpath for Java apps. And this one is really fat an ugly. For "cpu bloat", even if JIT can be more efficient on the long run, there is usually a higher cost at startup. For GUI application that you start often, like a calculator, that could be annoying. For "ethics", the code will have to run on the mono(ie .net) kind of jvm and so you are dependent of this engine to run your code. And this engine, even if mono is the open source one, is controlled by Microsoft. They control the language, they control the features, and it is not the spirit that built the linux community to rely on "base components" controlled by Microsoft. It is a little bit like the control that Oracle has on Java even if not completely similar.
- sz4kerto 6y agoCLR is fast and efficient. C# is an open standard. It's not worse than Java at all, and JVM is also extremely fast and efficient (some Java apps are not, of course). Java- and C#-based GUIs are generally better than Electron-based GUIs, and even with Electron you can find performant, complex GUI apps (VSC as an example).
- greatgib 6y agoSure, if you compare to Java or Electron, it is not necessarily worse. But these 2 solutions for GUI are not prime candidates for users on Linux. Compared to a c#/mono app, Electron can be relatively light in term of dependencies to run. And as you can easily notice, very very few "java" GUI applications are successful on Linux computers. Users would use a java application only when there is really no other program available for a purpose.
- hobby-coder-guy 6y agoA software?
- tester34 6y agoI have soft (web app) written in C# that's been running on Linux since 2018 (with many patches between) and everything works fine. The only thing I had to do was installing some fonts in order to make pdf generator works. Mem usage is generally between 100-300MB for I'd say 98% of the time (sometimes somebody wants to generate not-small Excel files and it spikes). Of course it says nothing because you don't know what the app does, but it's just some reference point.
- graderjs 6y agoI use Chrome in `--app` mode to render UI and combine with a Node.JS server and package with nexe and upx to make a cross-platform desktop app. The memory performance is around 200 MB (~150 Mb for the Chrome and 50 Mb for the Node.JS service). It takes about 4 seconds to launch (but about 30 seconds on Windows the first time, I think due to security checks, AV, etc...). The GUI is written in HTML, but it doesn't use Electron. You can try it out here[0], too. I open sourced it. And "hello world" binary download size is 10 Mb for Windows. [0]: https://github.com/c9fe/graderjs https://github.com/c9fe/graderjs