Use-cases for Swift interop in .NET 10 #95636
Labels
area-Meta
os-ios
Apple iOS
os-mac-os-x
macOS aka OSX
tracking
This issue is tracking the completion of other related issues.
User Story
A single user-facing feature. Can be grouped under an epic.
Milestone
Overview
This issue presents use-cases we want to support. They are required to define and limit the scope of Swift interop effort in .NET 10. While it's difficult to clearly specify the exact Swift language features that will be supported in the next release, we can establish our definition of done, with focus on two key areas: functionality and performance.
Hiking app
We want to develop an experimental .NET iOS app which will serve as a base for implementing use-cases that showcase the capabilities of Swift interop. Selected functionalities from the app will be calling into Swift-only frameworks to demonstrate capabilities of the Swift interop. The app and corresponding bindings will not be officially supported.
Users of the app will be able to explore trails, authenticate using Apple ID, purchase a trail, and record a hike.
SwiftUI views example
This example demonstrates how .NET developers can integrate native SwiftUI controls into MAUI-based applications, leveraging native UI controls for a seamless user experience.
This example implements SwiftUI views and serves as a foundation for the next examples. The “Login” page includes a login button and text. The main menu contains "Explore" and "My Trails" pages. The "Explore" page displays a list of available trails for purchase. Each item includes an image, text, and a "Buy" button. “Trail details” page displays an image and description. If the trail is not purchased, there is a "Purchase" button and an image; if it is purchased, there is a "Start/Stop" button and a map with start and end pins.
Views and controls should be sourced from the SwiftUI framework.
Target APIs:
Authentication and in-app purchase examples
This example demonstrates the authentication feature using the built-in
ASAuthorizationAppleIDButton
on the “Login” page. Users can authenticate using their Apple ID, providing a seamless login experience.Additionally, it demonstrates in-app purchases and reviews using StoreKit2 APIs. On the "Explore" page, items will be available for purchase via the products method. When the purchase button is clicked, it triggers the purchase method.
Target APIs:
Note
The .NET iOS app with generated bindings will be experimental in .NET 10 and will not be officially supported.
The text was updated successfully, but these errors were encountered: