CommunityToolkit / CommunityToolkit/Maui.NativeLibraryInterop

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

Abierto
#81 1 comentario 0 reacciones 0 asignados Ver en GitHub
documentation
Lenguaje dominante
C#
Estrellas
249
Forks
48
Métricas de merge de PR
Sin PR fusionados en 30 d

Descripción

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?

Guía de contribución

No hay ninguna guía de contribución indexada para este repositorio

Línea de trabajo

Review the repository's existing native binding samples first, then compare how Android and iOS bindings are organized for the payment and printer SDK examples named in the issue. A useful outcome would document whether each provider should have separate binding projects or whether category-level projects are appropriate, including guidance on dependency isolation and maintenance.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
android, csharp, ios
Área
mobile-dev
Tipo de issue
Documentación
Dificultad
5/5
Tiempo estimado
Más de una semana
Estado de actividad
Estancado
Claridad
Necesita aclaración
Aptitud para principiantes
20/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.