Incluso Windows está escrito con c / c ++ (kernel.dll, win32.dll). Entonces, ¿cómo funciona la aplicación .net con el sistema operativo Windows? A través del sistema PInvoke, para los desarrolladores de Java, esto sería JNI (Java Native Interface). PInvoke no solo se usa para comunicarse con el sistema operativo Windows, sino que se usa comúnmente para bibliotecas de números como PJSIP (implementación de pila SIP-VoIP), OpenCV (visión por computadora), OpenEars (voz a texto), etc.
Algunas API win32.dll están expuestas en BCL (.net base Class Libraries), por lo que los desarrolladores de Microsoft hicieron PInvoke por nosotros, pero a veces debe hacerlo usted mismo.
- Lea los archivos de encabezado * h / * hpp / * h ++ para asignar la API de c / c ++ a C # (cálculo de referencias)
- compile (compilación cruzada) * .c / *. cpp / *. c ++ archivos para objetar archivos y vincularlos a bibliotecas estáticas (iOS) o dinámicas (Android)
- incrustar bibliotecas de 2. en el proyecto .net
- generar envoltorio c # para exponer el mundo # 2 a c #
Esto se llama enlace (o envoltura, puente) nativo de c / c ++.
Ahora Xamarin es gratuito y de código abierto pronto, por lo que podemos dar un poco más de detalles sobre la tecnología.
- ¿Qué idiomas necesitas para aprender a hacer la programación de aplicaciones móviles?
- ¿Cuál es su experiencia con la creación de una aplicación con freelancers?
- ¿Hay alguna manera de simular la aplicación de iOS con un IDE en Windows?
- ¿Lanzarías primero una aplicación de noticias sobre dispositivos tecnológicos para iOS o Android?
- ¿Cómo hacen los desarrolladores una aplicación multiplataforma? ¿Simplemente tienen cada plataforma conectada a una base de datos de back-end y tienen un diseño de interfaz de usuario coincidente en todas ellas?
Lo que el equipo de Xamarin tuvo que hacer es vincular (hacer los enlaces) a los archivos jar de Java (paso 2) y las bibliotecas estáticas de Object-c de iOS (* .a) que son ligeramente diferentes de c / c ++ (recuerde que el objetivo-c es un superconjunto de c: las herramientas son muy parecidas).
Este paso – los enlaces incluyeron varias herramientas (por plataforma) y mucho conocimiento de la plataforma.
Intente vincular cualquier biblioteca / marco de Android o iOS. Esto es lo que hizo el equipo de Xamarin, pero para las bibliotecas del sistema operativo.
Si tiene problemas para encontrar la biblioteca. Ping me tengo mucho en mi lista. Trabajo en el equipo de componentes de Xamarin