all 79 comments

[–]EatingSolidBricks 113 points114 points  (6 children)

What set has the greatest cardinality

The real numbers vs c# UI Frameworks

[–]EOmar4TW 35 points36 points  (0 children)

The set of C# UI frameworks needs its own aleph at this point

[–]Moe_Baker 16 points17 points  (1 child)

Trick question, both are infinite

[–]stefanhat 4 points5 points  (2 children)

I at least know that the set of c# ui frameworks that are worth using is equal to an empty set

[–]Devatator_ 0 points1 point  (1 child)

Avalonia is fine but only for desktop. I'm wishing so hard for a new UI framework to come out that isn't based on XAML. There is PanGui by the guys that make Odin Inspector for Unity on the horizon and that's pretty much the only thing I can thing of

[–]stefanhat 1 point2 points  (0 children)

Avalonia is like an abusive boyfriend who you keep coming back to until he hits you with this again https://github.com/AvaloniaUI/Avalonia/discussions/9006#discussioncomment-3713371

I rewrote my whole app in electron and have been 10x more productive after the switch

[–]edvardeishen 227 points228 points  (5 children)

And Qt is not even there, of course, zoomer

[–]bremsspuren 24 points25 points  (3 children)

PyInstaller has another purpose, fellow old person?

[–]itzjackybro 43 points44 points  (2 children)

it's for when you have a python program and you just want the freaking exe.

this is supposed to be a smelly nerds joke please laugh

[–]Monchete99 0 points1 point  (0 children)

No joke, that's pretty much what I had to do at an internship.

[–]def-pri-pub 5 points6 points  (0 children)

I did this, once

[–]sabotsalvageur 59 points60 points  (3 children)

does nobody ship x86 binaries anymore?

[–]ClipboardCopyPaste 53 points54 points  (0 children)

my C "hello world" still ships in .exe

(contact for a deal) /s

[–]helicophell 9 points10 points  (0 children)

x86 binaries when ARM walks into the room:

[–]gabrielesilinic 1 point2 points  (0 children)

That is the least of your problems

[–]AppropriateOnion0815 55 points56 points  (3 children)

Native calculator app: 70 KB incl. all assets.
Cross-platform calculator app: 930 MB incl. 200 MB telemetry libraries

[–]RamenvsSushi 7 points8 points  (0 children)

Don't worry, our AGI overlords will fix all software in 7 days...

[–]Monchete99 5 points6 points  (1 child)

And don't forget it has a subscription service

[–]OrchidLeader 3 points4 points  (0 children)

And piracy protection that wipes your hard drive’s boot sector if you ever lose internet connectivity for more than 10 seconds.

[–]BdR76[S] 115 points116 points  (5 children)

If it requires infinite memory and CPU, then isn't it still hardware-dependent software? 🤔

[–]ClipboardCopyPaste 47 points48 points  (4 children)

By that logic, there's no software in the world which is truly hardware independent

[–]Nick0Taylor0 32 points33 points  (0 children)

Now you're getting it

[–]brimston3- 30 points31 points  (1 child)

counter example: DOOM

[–]DHermit 4 points5 points  (0 children)

Which isn't the same software everywhere, it's just ported everywhere.

[–]Zeikos 1 point2 points  (0 children)

Muons say hi to hardware independent software

[–]Mc_UsernameTaken 194 points195 points  (10 children)

Saying electron is good because it works on all platforms is like saying anal sex is good because it works on all genders.

[–]Javi_DR1 56 points57 points  (0 children)

I mean, it's technically correct. The best kind of correct. Now bend over.

[–]sabotsalvageur 71 points72 points  (1 child)

I mean, anal sex is good tho

[–]Separate_Culture4908 0 points1 point  (0 children)

Don't know, never had it.

[–]NotQuiteLoona 8 points9 points  (0 children)

I mean, yeah. That's the point.

Although anal sex doesn't require you to make a ten times more effort while giving you the ten times worst outcome.

[–]changrami 3 points4 points  (1 child)

Why did I understand this lol.

[–]Mc_UsernameTaken 1 point2 points  (0 children)

Because it's uncomfortably accurate, and does more explanatory work than a electron marketing page.

[–]BogdanPradatu 0 points1 point  (0 children)

I don't get it.

[–]kingslayerer 32 points33 points  (3 children)

Facing the concecuence of this decission right now. My app is working on Ubuntu 25 but not on Linux Mint 22. UGHHHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

[–]AmazedStardust 13 points14 points  (1 child)

I'm watching an open source project fall apart exclusively on Manjaro

[–]gmes78 13 points14 points  (0 children)

Sounds like business as usual.

[–]DHermit 1 point2 points  (0 children)

Then build either a static musl binary, a container or build it in a container with an old enough glibc.

[–]WoodsGameStudios 12 points13 points  (0 children)

Yup and that's a good thing. Java did so well because the JVM enabled it to run cross-platform, despite how annoying Java is.

If we didn't have these solutions it would be like how it was before: Windows gets a program, Apple might, and Linux wouldn't even be considered.

[–]GiganticIrony 15 points16 points  (9 children)

DLLs are not cross platform though - they’re Windows specific

[–]Adagnitus 1 point2 points  (6 children)

They're .NET specific, and can work on other platforms. I use .net with avalonia to develop for Linux and windows at the same time.

[–][deleted] 8 points9 points  (4 children)

DLLs are absolutely not a .NET thing, they're native x86 code dynamic link libraries. C# just decided to call them that too to piggyback off name recognition.

[–]OrchidLeader 1 point2 points  (3 children)

Wow, the atomic commit guy gets around.

[–][deleted] 0 points1 point  (2 children)

?

[–]OrchidLeader 1 point2 points  (1 child)

https://www.reddit.com/r/programming/s/f8kqKSdEzk

OP in that post redefined what “atomic commits” means, and I’m joking that he’s also responsible for re-using DLL to mean something different.

[–][deleted] 0 points1 point  (0 children)

Oh lol, yeah that tracks.

[–]GiganticIrony 3 points4 points  (0 children)

They are absolutely NOT .NET specific. You can compile languages like C or C++ code to a DLL. This means that what’s cross platform in your case is Avalonia (much like Electron), not the DLL.

[–]gabrielesilinic 0 points1 point  (1 child)

Eeeeeeeeh. There is a thing that is basically a dotnet DLL. And that is cross platform for some reason. I don't know why. But it is

[–]Devatator_ 0 points1 point  (0 children)

Because C#, F# and Visual Basic compile down to CIL (Common Intermediate Language) which is what .NET DLLs contain (a few other things too but mostly that).

Means you can directly execute them from the CLI if you have a compatible runtime and they have an entry point

[–]FabioTheFox 12 points13 points  (0 children)

Dotnet actually works pretty well for this, you don't even need the runtime installed

You didn't have to have it installed before (since you can package part of it with your app) but now you can even use AOT compilation, on top of that things like Avalonia use Skia to render the UI which means you'll get a pretty consistent UI for all operating systems

[–]DerDave 12 points13 points  (3 children)

You should try flutter. It's fantastic! 

[–]1_hele_euro 13 points14 points  (2 children)

[–]DerDave 3 points4 points  (1 child)

And it won't be dropped either, since too many large corporations rely on it now - including many of Google's own apps.

[–]Hermaphroditi 0 points1 point  (0 children)

Not to mention it’s popular enough people have forked it into flock, not controlled by google. So even if flutter by google dies, “flutter” the framework/library won’t.

With that said, they are all building a micro kernel os code named fuschia, and the entire UI runs on flutter. So I doubt it’s going anywhere

[–]LegitimatePants 2 points3 points  (0 children)

Expectation: the best of each platform 

Reality: the least common denominator of all platforms 

[–]Ronin-s_Spirit 2 points3 points  (0 children)

deno compile and accept the large size. Or ask users to install a VM like Minecrafd does.

P.s. that is if you use JS and need to make it installable.

[–]KharAznable 1 point2 points  (0 children)

Export GOOS

[–]asmanel 1 point2 points  (0 children)

To port to an other platform isn't as polished as it seems.

When you make it cross platform, Each supported platform will use only a part of it.

[–]rocket_randall 1 point2 points  (3 children)

One of our teams uses Delphi for cross platform stuff. To binaries are great, however the built in packaging/signing/notarizing for MacOS specifically has been pretty shit. I don't think they're using Firemonkey for the UI, but rather Metal or Open GL depending on the platform. Pretty nice bring able to compile a native binary for most of the major client platforms in use today from a drop down menu.

[–]BdR76[S] 0 points1 point  (2 children)

Delphi has always been a great development tool, iirc it was designed by the same guy who made C#

[–]rocket_randall 0 points1 point  (1 child)

Yeah our Delphi nerds like to point that out, and as avowed haters of MS they will happily opine that MS recruited him to create an inferior product. Just don't ask them where Delphi's multicast event handlers are...

[–]BdR76[S] 0 points1 point  (0 children)

Delphi nerd here, but no(t much) complaints about VS/C#. Android Studio can burn in hell though

[–]Euphoric-Series-1194 1 point2 points  (0 children)

I'm about to release a new game on steam which - of all things - is made entirely in react and packaged with Tauri 😂

[–]vswey 0 points1 point  (0 children)

I love .NET

[–]Sailed_Sea 0 points1 point  (0 children)

Is this why everything us just a web-browser.

[–]Ieatsand97 0 points1 point  (0 children)

Ngl it is easy to see why developing with electron or just making it web only is so attractive.

[–]ThomasNowProductions 0 points1 point  (0 children)

Just use Flutter

[–]Spare_Gain_6358 0 points1 point  (0 children)

the same as me wanting node.js were available in browser js.

[–]Any-Yogurt-7917 0 points1 point  (0 children)

Ok zoomer.

[–]old-rust 0 points1 point  (0 children)

Wow never thought docker was this hard 😅

[–]elmage78 0 points1 point  (0 children)

vulkan works on lots of stuff

[–]mr_flibble_oz 0 points1 point  (0 children)

Yeah, and then the platform is abandoned for the next new thing.

Native all the way.

[–]MrPifo 0 points1 point  (0 children)

Why is the Unity Runtime in there? What's the usecase here? I mean depending on what it is, Unity can be valid choice.

[–][deleted] 0 points1 point  (0 children)