Hacker News new | ask | show | jobs
by SneakerXZ 2916 days ago
It is same with Xamarin. They don't have people that would know these languages, and they would be passionate about them.
1 comments

Xamarin and co suffer from the same dual layer issues that react native has when I last looked into it.

C# isn't that popular from a silicon valley engineering perspective, since the first class C# implementation wasn't open source until very recently. Yes mono has always be OSS, but it has also been a second class citizen too.

Only Xamarin.Forms introduces another layer for you (it is the same concept as React Native). If you use Xamarin.iOS and Xamarin.Android you call underlying APIs directly. Although there can be issues with bindings, nothing like you will face with React Native.

I am aware of why C# isn't popular among startups. It is sad because C# is a great language that has amazing tooling support. It runs everywhere - Xamarin for apps, ASP.NET for servers, Blazor for browsers, and it is getting only better, and I cannot imagine how awesome it would be if other companies helped Microsoft. But I can only dream.

I think F# and .NET Core may become popular among certain kinds of startups (FinTech, logistics, etc.). It's a good compromise between Java and something like Haskell, in my opinion.
Even with Xamarin.Android/iOS I read about unique bugs that resulted in you needing to be an expert in both layers to understand. And bugs in the wrapper themselves.

It's a problem with the entire design type, which has been shown throughout computing history to not work that well.

And why use C# when the Java ecosystem is pretty much the same tooling wise? C# feels like a 1.2x better Java, which isn't enough.

As someone that works daily with Java and .NET platforms, C# still has a better stories around AOT and value types.

Also Sun really bombed their Java Gaming initiative (who remembers that JavaONE?) with C# becoming the C++'s complement in most studios.

On the web side, yeah, though on the game side C# is very popular (largely thanks to Unity).
On desktop side as well, mainly because most developers never bother to learn what takes to make Java UIs look good like other native UIs do by default.

Even basic stuff like switching to the native L&F theme on startup.

Also on the industrial and automative world. Lots of tools will be written in C# there. Often with WPF visualization.