leanmind logo leanmind text logo

Blog

Código Sostenible

Cómo escribir código fácil de mantener mediante valores, principios y técnicas.

Android NDK, descubriendo por qué la app Android de Instagram está escrita en C/C++

Por Iván Santos González

¿Qué cara 🤪 pondrías si te dijera que algunas de las aplicaciones móviles que más utilizas en el día a día tienen parte de su código escrito en C o C++? Tal vez pensarías que es la típica pregunta con trampa y que tal vez utilizan alguna librería del sistema que está escrita en dichos lenguajes de programación. Pero este no es el caso de aplicaciones como Whatsapp, Skype, Instagram o Facebook, donde parte del código de sus aplicaciones está escrito en estos lenguajes, utilizando posteriormente el conjunto de herramientas del NDK de Android para hacer llamadas a las mismas. Muestra de esto es, por ejemplo, la siguiente oferta de trabajo publicada por Facebook, donde buscan un/una Ingenier@ expert@ en el NDK de Android.

Oferta de trabajo para Android NDK de Facebook

¿Qué es y cómo funciona el NDK de Android? 📱

El NDK de Android (Native Development Kit) permite que l@s desarrollador@s podamos reutilizar código desarrollado en C/C++, pudiendo ejecutarlo en nuestras aplicaciones a través del uso de JNI (Java Native Interface). JNI es conjunto de herramientas que nos permite que cualquier programa escrito en Java, y, por tanto, que funciona en la máquina virtual de Java, pueda ejecutar código escrito en otros lenguajes como C, C++ o incluso ensamblador.

El NDK de Android nos permite a su vez manejar como se compilan nuestro código nativo utilizando NDK-build o CMake. El funcionamiento general del NDK en nuestra aplicación Android sigue el flujo siguiente:

Continuar leyendo…


Fuente: https://ivansantosgonzalez.dev/android-ndk/
Publicado el 05/01/2021 por
Iván image

Iván Santos González

https://ivansantosgonzalez.dev/

¿Quieres más? te invitamos a suscribirte a nuestro boletín para avisarte cada vez que recopilemos contenido de calidad que compartir.

Si disfrutas leyendo nuestro blog, ¿imaginas lo divertido que sería trabajar con nosotros? ¿te gustaría?

Impulsamos el crecimiento profesional de tu equipo de developers