Live data from Hacker News

Ask HN: Are you using .NET to write cross-platform desktop or mobile apps?

news.ycombinator.com

61–70 of 89 posts

Re: Ask HN: Are you using .NET to write cross-platform desktop or mobile apps?

#61

Earlier quoted context omitted.

They should hire better engineers, perhaps those with more experience than just leet code. The apps i built using electron for some clients have none of the issues teams has. I mean come on, teams is a basic chat app, how difficult is it to optimise it?

(bit of self-promotion) They do have a React version on WebView2 that is (supposedly) much better, but it's only for personal accounts right now, though that could change [1]. Thankfully their internal API is fairly self-documenting, so I've been looking into creating my own Teams client if you're interested [2]. We'll see if it'll have been an effort in vain depending on how well Microsoft Teams 2.0 goes. [1] https:…

“so I've been looking into creating my own Teams client if you're interested”

thanks for the link, looks good. styling and eye candy can be added later. first i think it just needs to be optimised for low memory and speed - not using react is a good step in this direction.

Re: Ask HN: Are you using .NET to write cross-platform desktop or mobile apps?

#62
post #58

Earlier quoted context omitted.

They should hire better engineers, perhaps those with more experience than just leet code. The apps i built using electron for some clients have none of the issues teams has. I mean come on, teams is a basic chat app, how difficult is it to optimise it?

Teams is integrated with lots of other products such as AD, O365... It's far from a "basic chat app". I am sure the app you wrote does not have millions of users daily, either.

[deleted]

Re: Ask HN: Are you using .NET to write cross-platform desktop or mobile apps?

#63
post #54

Earlier quoted context omitted.

Comparing teams to google is a bit meh. There’s nothing special about that app other than how crap it is. A poorly written tool made by inexperienced devs.

Teams is also very bloated (or "full featured" depending on how you want to spin it) compared to other chat apps, which does make it special by comparison. Teams is trying very hard to make itself a platform, and it supports telephony in a way that other chat apps don't. I can be reached on my work Teams account via a dedicated phone number, and the account includes a bunch of Viva applications and pretty deep integr…

First indicator that teams is ill designed is feature creep. But i suppose people find some utility in it. Telephony is likely handled by a server and teams is acting as a video / voice client just like any other modern chat app. I dont know about its integration with office and other microsoft bloatware but i do imagine those integrations are poorly designed as well. Microsoft products are well known for taking up memory for no good reason so i dont see why this would be an exception. Blaming issues on electron is just lazy on their part.

Re: Ask HN: Are you using .NET to write cross-platform desktop or mobile apps?

#64
post #39
post #31

Earlier quoted context omitted.

How so? Buggy features on certain platforms or something else?

It doesn't run on Linux. Not sure how they can call it "cross platform" if it doesn't run on Linux. Maybe across Microsoft's platform.

How do MAUI windows apps run through Wine? Not exactly cross platform but could be an option.

Re: Ask HN: Are you using .NET to write cross-platform desktop or mobile apps?

#65

Earlier quoted context omitted.

(bit of self-promotion) They do have a React version on WebView2 that is (supposedly) much better, but it's only for personal accounts right now, though that could change [1]. Thankfully their internal API is fairly self-documenting, so I've been looking into creating my own Teams client if you're interested [2]. We'll see if it'll have been an effort in vain depending on how well Microsoft Teams 2.0 goes. [1] https:…

“so I've been looking into creating my own Teams client if you're interested” thanks for the link, looks good. styling and eye candy can be added later. first i think it just needs to be optimised for low memory and speed - not using react is a good step in this direction.

I agree that the client's performance is important. I'm hoping to avoid frameworks so that any issues will be as clear as possible, but maintenance will tell if that's a good decision.

Re: Ask HN: Are you using .NET to write cross-platform desktop or mobile apps?

#66
post #58

Earlier quoted context omitted.

They should hire better engineers, perhaps those with more experience than just leet code. The apps i built using electron for some clients have none of the issues teams has. I mean come on, teams is a basic chat app, how difficult is it to optimise it?

Teams is integrated with lots of other products such as AD, O365... It's far from a "basic chat app". I am sure the app you wrote does not have millions of users daily, either.

"I am sure the app you wrote does not have millions of users daily, either"

This argument is weak. Its not like millions of people are crammed within the app all at the same time, while integrated with AD, or other microsoft bloatware. It may impress inexperienced devs, but it's really not much of an architectural challenge. MS could have done a better job.

But to satisfy your curiosity, my background is in developing some rather large systems, used by hundreds of millions. Not these apps specifically (although they do handle large amounts of data, a lot more than teams), and it's a good indicator that I know what I am talking about and without bragging I can smell poor design and a lazy job.

Re: Ask HN: Are you using .NET to write cross-platform desktop or mobile apps?

#67
post #9

We built Rec Room ( https://recroom.com/ ) using Unity across several platforms: * iOS * Android * PC * PlayStation * Xbox * VR Rec Room is a "game for building games". I'd say Unity has worked pretty well. Given that the product is a game this success with single-lang cross platform may be more common than other industries. Still, though, I'm surprised that there isn't a similar "engine" for non-game cross platform…

Funny enough, I have seen some people use Unity to develop basic cross platform applications rather than games.

Re: Ask HN: Are you using .NET to write cross-platform desktop or mobile apps?

#68
I used to write xamarin apps for a living.

It was great, until it became terrible.

Nowadays I don't develop mobile apps anymore. Last time I checked, Xamarin Forms was half decent to build simple apps, but you have to be pretty flexible on the specs and the visual design.

Still, for data entry apps and other simple purposes, it can be fine.

Re: Ask HN: Are you using .NET to write cross-platform desktop or mobile apps?

#69
post #34

I recently spoke with the tech lead of a team that is all in on .NET for web development, as well as using Xamarin.Forms to develop cross-platform mobile apps. While this achieved their goals, the lead felt that the complexity of dealing with platform-specific edge cases slowed them down enough that developing using native tooling would have taken the same amount of time. He would not choose Xamarin again if faced wi…

This and other stories reinforces my belief that Kolmogorov complexity in software is a real thing(tm) and cross-platform GUI tooling will never be good enough to avoid having to write platform-specific code.

Issue with Xamarin.Forms was that provided widgets were quite lackluster and to write custom widgets you had to know native APIs of multiple platforms.

IMO, the source of the problem was that it's widgets used native widgets for rendering. Build-in widgets were lowest common denominator, primarily supporting only features avaliable on all platforms. Where platforms deviated, complexity started.

However, UI frameworks that render widgets themselves, using drawing APIs, are a completely different story. They are harder to create, as they need to develop all widgets from scratch (rendering, text, input, accessibility etc). Basically reimplementing part of OS APIs. But once this is complete, the hard part is done and supporting additional platforms is relatively simple. Avalonia has written good blog post about this: https://dev.to/avalonia/avalonia-platform-support-why-its-si...

Developing cross-platform GUI application with this kind of frameworks is about as complex as developing GUI application using native SDK for a single platform. Most complexity doesn't result from different platforms anymore, but from different form factors and input devices.

They have one Achilles' heel however. The web. HTML is unfortunately much higher level that drawing API on other platforms. So, the only option for the web is usually WebAssembly.

Re: Ask HN: Are you using .NET to write cross-platform desktop or mobile apps?

#70

Earlier quoted context omitted.

“so I've been looking into creating my own Teams client if you're interested” thanks for the link, looks good. styling and eye candy can be added later. first i think it just needs to be optimised for low memory and speed - not using react is a good step in this direction.

I agree that the client's performance is important. I'm hoping to avoid frameworks so that any issues will be as clear as possible, but maintenance will tell if that's a good decision.

Maintenance may be pita but the issue with using web specific ui frameworks for a desktop electron app is that web frameworks arent meant to be run for a long time. They take a lot of memory. One has to find the right balance between what to do in the renderer process (ideally nothing more but really basic css and js, maybe a web worker or two), and everything else in the main process.

I threat the main process as a backend api and use ipc as a broker between that and the ui. The renderer process does nothing but show text and icons. From that point on one can have fun with threads and all :-)

Post reply on HN