The motto for Xamarin used to be "you can do all the same stuff you can do natively, with day one support". Not anymore, and it's disheartening to see.
Ask HN: Are you using .NET to write cross-platform desktop or mobile apps?
51–60 of 89 posts
Re: Ask HN: Are you using .NET to write cross-platform desktop or mobile apps?
#52MS frameworks:
- MAUI (ex Xamarin.Forms) which is similar to React Native as it's controls use native widgets for rendering.
- MAUI Blazor which is similar to Electron and Tauri as it uses web view to render widgets.
- MAUI.Graphics.Controls (experimental) which is similar to Flutter as it uses Skia to render it's controls.
Non-MS frameworks:
- Avalonia
- Uno
Both Avalonia and Uno are similar to Flutter as they use Direct2D, Skia, etc for rendering. Quick comparision I just found: https://github.com/robloo/PublicDocs/blob/master/XAMLFramewo... Note, that it's already a bit outdated as Avalonia 11 is adding support for mobile and WebAssembly.
Avalonia was more focused on desktop (Windows, Linux, macOS) until recently. Android, iOS, WebAssembly is still in preview. However it does support embedded platforms, like Raspberry Pi, Torizen. It's also able to run without a desktop environment. https://dev.to/avalonia/turning-it-up-to-11-34jn
Uno I think was more focused on mobile in the beginning and expanded from there to other platforms.
All of these frameworks are build around XAML. There is some support for using C# instead of XAML, but most docs/examples are for XAML. Search 'C# Markup' for more more details.
Re: Ask HN: Are you using .NET to write cross-platform desktop or mobile apps?
#53If I would start something now I would most definitely go for Swift/SwiftUI and Kotlin/Jetpack Compose. I find that productivity, developer experience are best with those as soon as one gets the hand of them.
Also, these are the only ones to be guaranteed to be around long-term. While any of the cross platform options sound interesting, there is no guarantee they will be around.
Re: Ask HN: Are you using .NET to write cross-platform desktop or mobile apps?
#54Earlier quoted context omitted.
Yes, it's a "basic" chat app. Like google is a "basic" search engine, how hard can it be to make something like that? Just make it go search?
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 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 integrations with Office, SharePoint, and Power Platform.
Re: Ask HN: Are you using .NET to write cross-platform desktop or mobile apps?
#55As mentioned Xamarin is now MAUI[0] The only app I know of using it is Bitwarden[1] [0] https://docs.microsoft.com/en-us/dotnet/maui/what-is-maui [1] https://github.com/bitwarden/mobile
I've deployed an MAUI-app to production. I chose MAUI since the rest of the stack is dotnet and we have ready built SDKs in dotnet to communicate with the backend, so I had a functioning login page up and running in minutes. It was a very frustrating experience in the early days, but as MAUI has matured it's now a pleasure to work with. It is not as feature rich as some other frameworks, but it fulfilled our needs.
Re: Ask HN: Are you using .NET to write cross-platform desktop or mobile apps?
#56Earlier quoted context omitted.
As a user with a finite amount of memory on my computer, I also regret them choosing Electron.
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?
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://www.techradar.com/news/a-new-generation-of-microsoft...
Re: Ask HN: Are you using .NET to write cross-platform desktop or mobile apps?
#57Earlier quoted context omitted.
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.
It's for front-end development. There are ~0% use cases for a linux UI outside of development tools and maybe database monitoring tools?
Re: Ask HN: Are you using .NET to write cross-platform desktop or mobile apps?
#58Earlier quoted context omitted.
As a user with a finite amount of memory on my computer, I also regret them choosing Electron.
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?
Re: Ask HN: Are you using .NET to write cross-platform desktop or mobile apps?
#59You 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…
Those products predate the purchase of Xamarin and are web products in their latest form. It's not that surprising or telling.
Re: Ask HN: Are you using .NET to write cross-platform desktop or mobile apps?
#60Earlier quoted context omitted.
None of those products, as apps, predate Xamarin. Outlook for Mobile was an acquisition; Xamarin existed at the time. Teams Mobile apps are native and built while Xamarin existed; not using Xamarin.
Xamarin existing and MS touching it are different things, though. It's only been "official" for a short time and only after Microsoft acquired it. Rewriting the history as if Xamarin was an option from the beginning is disingenuous.
Microsoft announced Teams March 17, 2017, with a launch date of the end of 2018 https://news.microsoft.com/announcement/teams-platform-intro...
Make of that what you will.