Open ivanpovazan opened 1 year ago
Tagging subscribers to 'os-ios': @steveisok, @akoeplinger See info in area-owners.md if you want to be subscribed.
Author: | ivanpovazan |
---|---|
Assignees: | - |
Labels: | `Epic`, `os-ios`, `area-NativeAOT-coreclr` |
Milestone: | 8.0.0 |
/cc @agocke @jkotas @AaronRobinsonMSFT
We should also have a note/item around diagnostics and document what the user experience will be on iOS. I believe it would be rather different and having a comprehensive list would help users make informed decisions about using NativeAOT and what to expect post deployment.
/cc @tommcdon
Adding @thaystg @lateralusX. It is my understanding that Mono uses an in-proc debugger model due to mobile diagnostics restrictions.
We should also have a note/item around diagnostics and document what the user experience will be on iOS. I believe it would be rather different and having a comprehensive list would help users make informed decisions about using NativeAOT and what to expect post deployment.
FWIW debugging with lldb on-device is possible, so in that sense it's comparable to the current model of debugging NativeAOT on Linux/macOS.
@AaronRobinsonMSFT thank you for the suggestion. I have added it to the list.
Does this feature mean that it will be possible to export a .NET class library as a native iOS library?
Does this feature mean that it will be possible to export a .NET class library as a native iOS library?
See https://github.com/dotnet/runtime/issues/79377 for details on library build in .net8 for iOS/Android. Not sure if the experimental feature implemented here will have support for NativeLib=static|shared, since the main focus is building an iOS application, but the work done in https://github.com/dotnet/runtime/issues/79377 is specifically targeting building a static|shared native library out of a set of .net class libraries and it is integrated into regular .net CLI, so you can do a publish -p:NativeLib=shared using iOS or Android rid's supporting the same features as doing NativeAOT library build.
Does this feature mean that it will be possible to export a .NET class library as a native iOS library?
Thank you for the question @curia-damiano. In theory that would work as well, however, our current focus with NativeAOT is supporting full iOS applications.
Would you mind sharing what would be the use case that you have in mind for native iOS libraries?
Would you mind sharing what would be the use case that you have in mind for native iOS libraries?
https://github.com/dotnet/runtime/issues/79377#issuecomment-1556873513
Sorry @ivanpovazan, I missed your request for comments. Thank you @filipnavara for the link!
Overview
Supporting NativeAOT on iOS platforms as an experimental feature in .NET8 would enable our customers to try the NativeAOT toolchain and runtime with their iOS applications, in order to benefit from advantages mostly concentrated around application size savings and start-up performance. In .NET8 the default toolchain and runtime when targeting iOS platforms will remain to be Mono, while NativeAOT would become available as an option.
This issues tracks progress on the identified work required for enabling NativeAOT on iOS platforms. The work is organised and tracked with GitHub issues divided by upcoming .NET8 preview releases in which they should become available. Some of the listed items can be considered as user stories and will require further break-down of work, while the others are plain tasks.
NOTE: The breakdown of GitHub issues does not impose hard deadlines. If some of the functionality does not get upstreamed for a particular preview version, this issue will be updated accordingly.
Tasks
.NET8 Preview 5
.NET8 Preview 6
ios
,iossimulator
,maccatalyst
,tvos
andtvossimulator
.NET8 Preview 7
.NET8 GA
.NET9+
Other relevant issues:
77957
82156
/cc: @marek-safar @SamMonoRT @steveisok @lambdageek @rolfbjarne @kotlarmilos @akoeplinger