CommunityToolkit / CommunityToolkit/Maui.NativeLibraryInterop

Best Practices for Structuring Multiple Native SDK Bindings in .NET MAUI

Ouverte
#81 1 commentaire 0 réactions 0 personnes assignées Voir sur GitHub
documentation
Langage dominant
C#
Étoiles
249
Forks
48
Métriques de merge des PR
Aucune PR mergée en 30 j

Description

When integrating multiple third-party native SDKs into a .NET MAUI application, such as payment providers (Square, Stripe) and hardware integrations (Epson, Star Micronics printers), what is the best approach for organizing bindings?

Would it be better to create separate Android/iOS binding projects for each SDK?
For example:

- Square.Android.Binding and Square.iOS.Binding
- Stripe.Android.Binding and Stripe.iOS.Binding
- Epson.Android.Binding and Epson.iOS.Binding
- StarMicronics.Android.Binding and StarMicronics.iOS.Binding

Alternatively, would it be more efficient to consolidate bindings within a single project per category (e.g., one Payments Binding for Square & Stripe and one Printers Binding for Epson & Star Micronics), while maintaining distinct implementations for each provider?

What are the best practices for structuring these bindings to ensure scalability, maintainability, and minimal dependency conflicts in a .NET MAUI application?

Guide de contribution

Aucun guide de contribution indexé pour ce dépôt

Piste de recherche

Examinez d’abord les exemples existants de bindings natifs du repository, puis comparez la manière dont sont organisés les bindings Android et iOS pour les exemples des SDK de payment et printer nommés dans l’issue. Un résultat utile consisterait à documenter si chaque fournisseur devrait avoir des projets de binding séparés ou si des projets au niveau de la catégorie sont appropriés, en fournissant notamment des indications sur l’isolation des dépendances et la maintenance.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
android, csharp, ios
Domaine
mobile-dev
Type d'issue
Documentation
Difficulté
5/5
Temps estimé
Plus d'une semaine
Activité
À l'abandon
Clarté
À clarifier
Accessibilité débutants
20/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.