News for hackers. Stuff that matters.
Re:Announcing .NET Core 2.0 by gwbas1c on Monday August 14, 2017 @04:03PM (#15012301)
I work on a cross-platform desktop application written in C#. We use .Net on Windows and Mono on Mac.

The thing with desktop applications is that an "industrial-strength" one needs to look native; thus it's in our best interest to use the native language of choice. This means that our Mac UI is Objective C, and we're very good at integrating Objective C and C#.

The other thing with desktop applications is that if you're doing something interesting, you probably need to call native APIs for OS concepts that are unique to each platform. A cross-platform environment can't do this very well; and we drop into C++ APIs on Windows and Objective C on Mac to do this.

The sweet spot for cross-platform development is your business logic, and networking calls. That shouldn't change as you move among platforms, and that should be the area that cross-platform development gets right. If you're willing to do this in C or C++, everything will be straightforward, but you have to deal with the warts of C and C++. If you need a higher-level language, it better integrate well with the languages you need to do your UI and low-level logic in.

Re:Announcing .NET Core 2.0 by Rusky on Monday August 14, 2017 @05:56PM (#15013358)
> The thing with desktop applications is that an "industrial-strength" one needs to look native

I don't think this is the case for every application. It's definitely true for mobile apps, and it's probably true for desktop apps that are relatively small and/or use mainly standard OS GUI functionality.

But for things like Photoshop, or Office, or Unity/Unreal, too much of the UI is application-specific for it to really matter, and I think they benefit from a consistent cross-platform codebase and appearance.

Re:Announcing .NET Core 2.0 by jsingleton on Monday August 14, 2017 @05:34PM (#15013161)
Xamarin makes this separation work pretty well. Not Xamarin.Forms but a core business logic project with custom UI projects for each platform.

I'm hoping this will turn into a good solution. Xamarin already supports Mac (in addition to iOS and Android) and when it aligns more with UWP (XAML Standard etc.) that could cover a large slice of the platforms you'd want to target.

React native could be another option. I hear Android support has gotten better and you can supposedly also target UWP: https://github.com/Microsoft/react-native-windows

I wrote this a while ago but it's still fairly relevant: https://unop.uk/cross-platform-native-mobile-app-development...

You could also look at https://github.com/AvaloniaUI/Avalonia or https://github.com/picoe/Eto.

Re:Announcing .NET Core 2.0 by pjmlp on Tuesday August 15, 2017 @01:24AM (#15015733)
This is actually the only use case we have for C++, besides interacting with the native APIs from JVM/CLR.