Xamarin-macios: [.NET 5] Supported platforms and architectures

Created on 20 Apr 2020  路  9Comments  路  Source: xamarin/xamarin-macios

Today we support the following platforms and architectures:

  • iOS: ARMv7, ARMv7s and ARM64
  • tvOS: ARM64
  • watchOS: ARMv7k and ARM64_32
  • macOS: x86_64

There has been some discussion about removing support (in .NET 5) for:

  • iOS: ARMv7s

    • The ARMv7s architecture is not very much used, and provides very little benefit over ARMv7.

    • ARMv7 can be used anywhere ARMv7s is used. Given the number of ARMv7-only apps it seems somewhat unlikely Apple will require app developers to drop ARMv7 and build only for ARMv7s when there are no supported ARMv7 devices anymore (although guessing what Apple might and might not do has historically been a bad idea).

    • It's possibly a breaking change in the following scenarios:



      • It's unknown whether Apple's App Store allows customers to drop the ARMv7s slice from an existing app.


      • It's possible for a project to depend on a third-party native library which is only built for ARMv7s, in which case removing ARMv7s support would require such customers to drop the ARMv7s slice and build only for ARM64.



    • Ref: this and a few of the subsequent comments: https://github.com/dotnet/runtime/issues/34121#issuecomment-604501462

  • watchOS: Completely remove support for watchOS.

There has also been some discussion about adding support for:

  • iOS: ARM64e (https://github.com/dotnet/runtime/issues/34121). Our current position is that this is not in scope for .NET5 (but may be for later versions of .NET, depending on what Apple does).
documentation iOS macOS

Most helpful comment

@rolfbjarne As soon as you hear something definitive on WatchOS please let us know ... I'm using Xamarin to build an app sharing a single core engine across WatchOS, Android Wear OS and Tizen (and Windows, Xbox, Android, Mac, etc.).

Support for WatchOS is one of the key differentiators for .NET/Xamarin wrt alternatives such as Flutter and React Native, and wearables are one of Apple's biggest growth areas.

I am sure that WatchOS is a tiny percent of Xamarin usage, but the second-order effects in terms of the signal you send if you drop support (or just leave it to fester) may be surprising. You may not want to build a Watch app now, and you may never do so, but knowing you could gives you the confidence to choose .NET.

All 9 comments

cc @marek-safar @akoeplinger @steveisok

Please don't remove anything from the current support matrix!

@rolfbjarne As soon as you hear something definitive on WatchOS please let us know ... I'm using Xamarin to build an app sharing a single core engine across WatchOS, Android Wear OS and Tizen (and Windows, Xbox, Android, Mac, etc.).

Support for WatchOS is one of the key differentiators for .NET/Xamarin wrt alternatives such as Flutter and React Native, and wearables are one of Apple's biggest growth areas.

I am sure that WatchOS is a tiny percent of Xamarin usage, but the second-order effects in terms of the signal you send if you drop support (or just leave it to fester) may be surprising. You may not want to build a Watch app now, and you may never do so, but knowing you could gives you the confidence to choose .NET.

Please don't use actual Xamarin usage of WatchOS to make your decision about it, because that percentage is really biased by the lack of documentation and bugs. I've always wanted to do a companion app for WatchOS but couldn't manage to make it work. I know Apple made many breaking changes that made Xamarin WatchOS very difficult to work and maintain, but as @DamianMehers wrote this can be an appealing feature for Xamarin.Forms and for MAUI.
Make it work and THEN see if developers use it.

I also wanted to use Xamarin for WatchOS but gave up after never really getting it to work right (then I switched to Tizen). Everyone I know has a similar story with .NET and WatchOS, so you need to take ownership of this probelm and not blame the developer.

'build it and they will come'

@davidortinau I know you asked for feedback about WatchOS - may be some useful stuff here.

Just to add my two cents: I wanted to build a watchOS app, but lackluster support in Xamarin is what drived me away from that idea, especially the lack of support for standalone apps. IMHO this is the reason it isn't widely used - it would be used a lot more if it worked well.

Thanks all for your continued feedback. We are focusing on core scenarios such as UIKit and macOS support, driven and prioritized by customer need and demand. Existing and past developer usage, and future plans for investment are both considered among other data points.

fyi - #8931 will be tracking our investigations of the key announcements from WWDC 2020.

They everyone for the feedback and interest.

We have more clarity now, and a few changes, and I've created https://github.com/xamarin/xamarin-macios/issues/8955 with all of the new info.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

whitneyschmidt picture whitneyschmidt  路  3Comments

jzeferino picture jzeferino  路  3Comments

nickplee picture nickplee  路  3Comments

therealjohn picture therealjohn  路  3Comments

juepiezhongren picture juepiezhongren  路  3Comments