Live data from Hacker News

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

news.ycombinator.com

11–20 of 89 posts

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

#11
At a previous agency job, I was on a project that was re-writing an iOS and Android app used by millions of people. We looked hard into using Xamarin for this but in the end concluded that it was not ready yet. This was in 2019.

Main reasons were:

- You can use Xamarin.Forms to write cross-platform UI, but our UI was complicated enough (a weather app with lots of custom UI) that Xamarin.Forms would not have worked for us. So we still needed to write 2 separate UI codes, which Xamarin allows for because it exposes the complete SDKs for both platforms via Xamarin.iOS and Xamarin.Android.

- Xamarin provides a way to use existing 3rd party libs written in native iOS/Android by creating "bindings". For very popular libs, the Xamarin team maintains these bindings, for others, you need to rely on open source ones. The client required us to use a bunch of third party libraries and we either couldn't find them at all, or found ones that didn't work. We needed Mapbox, Firebase analytics & Crashlytics, and some other ones... pretty well-known libraries.

We were in contact with someone at Microsoft during this exploration and even they couldn't help us. They couldn't point us to any big well-known names using Xamarin and they couldn't help us with any of the missing or broken bindings we needed.

Thankfully in the end we just split up into 2 teams and wrote the app in native iOS and Android.

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

#12
post #10
post #8

Earlier quoted context omitted.

Keepass has a big ol' development ceased message on its homepage, and referring visitors too KeepassXC (Qt based).

Which wwbsite do you visit? There is no such message.

My bad, I messed it up with KeepassX.

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

#13
I use Godot for cross-platfotm native apps, specifically the Mono version. Very excited for the .NET 6 version to become generally available soon.

Things have worked just fine for me, though I haven't made anything too serious with it yet.

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

#14
There are gui frameworks made by the community as well. Avalonia has picked up steam since it supports Linux and has been around for a while. Documentation is lacking and I can never get it to work the way I want but I suspect that's more my fault than theirs.

Uno is another cross platform C# gui framework. I gave up on C# gui apps before I ever tried it out, but it looks good.

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

#15
I initially developed an iOS app (https://ayahbyayah.com) using Objective-C in 2012 (10 years on the AppStore next month)

Re-developed in Xamarin.iOS in 2016 which has been a solid decision due to the productivity gains I get from C# and Visual Studio tooling.

Xamarin.Forms works well for line of business apps and the performance with iOS was fine, however encountered a number of Android performance issues which is simply due to the nature of the framework.

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

#16

You might want to consider how much Microsoft uses it in their own products before choosing to use it. This article describes the situation pretty well: "not even Microsoft, literally the people who own Xamarin, use it in any of their big products like Teams, Outlook, and the list goes on. Instead, they reach for native development or Electron. So we can just tie a bow in it and have a minute's silence for another en…

In the case of Teams, I think they regret choosing Electron. A Xamarin app doesn't need to use XML or Xamarin Forms which provides UI components. A totally custom interface/game can be developed with Xamarin + SkiaSharp which provides drawing primitives.

As a user with a finite amount of memory on my computer, I also regret them choosing Electron.

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

#17
post #4

We are on top of .NET 6 today. Been using a .NET stack for over half a decade in production. We still just do the web app thing. For our business & customers, this is the lowest-friction way to deliver the application experience. So, we are effectively cross platform on both our client and server. We only have to maintain one code pile to make it all happen. If you can figure out a way to make the web work for you, t…

You can still build a simple webview wrapper and put it to the App Store.

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

#18
As a .NET developer that's focused mostly on web development (e.g. APIs + SPAs), I've not been very eager to wade into the pool of XAML that is .NET desktop/mobile frameworks.

But I'm becoming more optimistic with the introduction of Blazor Hybrid. Whether you're using MAUI for mobile & desktop, or WPF/WinForms for just desktop, Blazor Hybrid provides you a web view that enables usage of Razor components made of C#, HTML & CSS. These components run natively, not in the browser.

After using Maui + Blazor with Tailwind for styling in a recent side project, I can see this becoming a viable alternative to Electron.

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

#20
IMO, You should only build on .NET platform if there are usable components which are already made in .NET.

Keeping up Cross-platform framework updated with the changing OS versions is difficult.

Preference would be to use Flutter (Google) or React Native instead of Xamarin.

Post reply on HN