Ir directamente al contenido

Dos libros de Programación Nativa de Dispositivos Móviles, en abierto

19 octubre, 2026

Un libro que no sirve para nada (según el baremo)

Desde hoy, los dos volúmenes de Programación Nativa de Dispositivos Móviles están en Zenodo, con DOI, para quien quiera leerlos, usarlos en clase o simplemente curiosear. Gratis, sin registro y sin letra pequeña más allá de una licencia Creative Commons.

La libertad, Sancho, es uno de los más preciosos dones que a los hombres dieron los cielos.

Don Quijote lo decía de otra libertad, pero la frase viene al caso. Llevo tiempo escribiendo en este blog sobre una universidad que ya no lee y que mide a sus profesores con el cuartil de una revista. En ese baremo, un manual de más de cuatrocientas páginas, escrito para que un estudiante de máster entienda qué ocurre dentro del teléfono que lleva en el bolsillo, vale exactamente cero. No es un JCR. No puntúa para el sexenio. No sirve para nada.

Precisamente por eso puedo regalarlo con la conciencia tranquila. Lo que no cotiza en la bolsa de la evaluación académica puede volver, sin pérdida alguna, a su destinatario natural: el que quiera aprender.

Qué hay dentro

Son dos volúmenes que se leen juntos: el libro explica y el manual obliga a comprobar. Ambos nacen de la asignatura del mismo nombre en el Máster en Ingeniería Informática de la Universidad de Almería, y ambos están escritos en español y compuestos en LaTeX.

Volumen 1: el libroVolumen 2: el manual de laboratorios
TítuloProgramación Nativa de Dispositivos Móviles: Arquitectura, rendimiento, seguridad e identidad digitalManual de laboratorios de Programación Nativa de Dispositivos Móviles
Qué esManual universitario: teoría, casos de estudio, ejercicios y fichas de laboratorioLos seis laboratorios del itinerario, desarrollados paso a paso para seguirlos sin otro apoyo
RecorridoSoC, jerarquía de memoria y pila software de Android; NDK y JNI; ARM64 y NEON; metodología de medición y optimización; aislamiento, TEE, claves, wallets e identidad digitalDe observar a medir, de medir a optimizar con evidencia, y de ahí a proteger
Para quiénEstudiantes de máster, docentes y profesionales de sistemas móviles, arquitectura ARM, rendimiento y ciberseguridadQuien quiera hacer los laboratorios con su propio teléfono (hay alternativa sin dispositivo)
Edición publicadaEstudiante, 1.ª edición, v2 (8 de octubre de 2026)Estudiante, v1.0 (17 de octubre de 2026); la del profesorado no se distribuye
TamañoPDF de 3,8 MBPDF de 3,3 MB

Los seis laboratorios

El manual es, para mí, la parte más honesta del conjunto: cada cifra y cada gráfica salen de campañas reales medidas sobre mi propio Samsung Galaxy S21 FE (Snapdragon 888, Android 16), y se ofrecen como punto de comparación, no como resultado que haya que reproducir.

  1. Perfil energético y degradación térmica. Quince minutos de carga sostenida registrando frecuencia, temperatura y batería, para descubrir que el rendimiento de pico depende del instante en que uno empezó a medir.
  2. Verificar la ABI real. El mismo código en tres paquetes y dos entornos, para distinguir ejecución nativa, virtualización y traducción binaria.
  3. El coste de la frontera nativa. Los cuatro parámetros del modelo de coste de una llamada JNI, medidos con Jetpack Microbenchmark y contrastados con el umbral que predice el modelo.
  4. Instrumentación y cuello dominante. Una aplicación con un defecto deliberado que hay que localizar con Perfetto y simpleperf, escribiendo la hipótesis antes de leer el código.
  5. De bucles a SIMD en AArch64. Cinco versiones de una multiplicación de matrices, medidas por separado para atribuir cada mejora a su causa.
  6. Superficie de ataque y protección de claves. Extraer un secreto mal protegido de una aplicación propia, sustituirlo por una clave respaldada por hardware y verificar la cadena de atestación hasta una raíz conocida.

Cada laboratorio sigue la misma estructura: ficha, fundamento, proyecto plantilla, pasos con recuadros de comprobación, campaña de referencia, interpretación de datos, preguntas de la memoria con su criterio de evaluación, problemas frecuentes, alternativa sin dispositivo y restauración del entorno. Un capítulo inicial fija el marco común, incluido el ético: todo análisis se restringe a las aplicaciones escritas para el laboratorio y a dispositivos propios o autorizados.

Dónde están y en qué condiciones

Los dos volúmenes están depositados en Zenodo, el repositorio del CERN, con DOI permanente e indexados en OpenAIRE. Eso significa que el enlace no caducará cuando yo cambie de servidor, de universidad o de humor.

VolumenDescargaDOI
Libro (edición del estudiante)pndm-estudiante.pdf10.5281/zenodo.23249302
Manual de laboratoriosmanual-labs.pdf10.5281/zenodo.23436801

Ambos se distribuyen bajo licencia Creative Commons Atribución–NoComercial–SinDerivadas 4.0 Internacional (CC BY-NC-ND 4.0), salvo los materiales de terceros, que conservan sus propias condiciones. En román paladino: puede descargarlos, leerlos, imprimirlos, repartirlos a sus alumnos y enlazarlos desde donde quiera, siempre que cite la autoría, no cobre por ello y no publique versiones modificadas. Si quiere traducirlos, adaptarlos o usarlos en un contexto comercial, escríbame y hablamos.

Los proyectos plantilla de los seis laboratorios, con sus guiones de campaña, datos de referencia y guiones de análisis, se distribuyen con el material del libro. Cada uno compila y se ejecuta sin modificación antes de escribir una línea.

Si quien me lee es docente y quiere el libro (versión) del profesor, pidamelo.

Cómo citarlos

Álvarez Bermejo, J. A. (2026). Programación Nativa de Dispositivos Móviles: Arquitectura, rendimiento, seguridad e identidad digital (1.ª ed., v2). Universidad de Almería / Zenodo. https://doi.org/10.5281/zenodo.23249302

Álvarez Bermejo, J. A. (2026). Manual de laboratorios de Programación Nativa de Dispositivos Móviles: perfil térmico, ABI, frontera JNI, instrumentación con Perfetto y simpleperf, SIMD en AArch64 y atestación de claves (v1.0). Universidad de Almería / Zenodo. https://doi.org/10.5281/zenodo.23436801

Una petición a cambio

No pido nada por los libros, pero sí pido algo por el conocimiento que contienen: úselo. Si es docente, llévelos a su aula y dígame qué funcionó y qué no. Si es estudiante, haga los laboratorios con su propio teléfono y desconfíe de mis cifras hasta que haya medido las suyas. Si es profesional, discuta conmigo lo que crea equivocado; un manual que nadie corrige es un manual que nadie ha leído.

Sancho, que era el único de los dos que sabía contar, resumió hace cuatro siglos la economía de este asunto:

Más vale el buen nombre que las muchas riquezas.

El buen nombre, en este caso, es el de la universidad pública que paga mi sueldo y en cuyas aulas nacieron estos libros. Que vuelvan a quien los costeó me parece, simplemente, de justicia.

Las obligadas referencias:

  1. Álvarez Bermejo, J. A. (2026). Programación Nativa de Dispositivos Móviles: Arquitectura, rendimiento, seguridad e identidad digital. Zenodo. https://doi.org/10.5281/zenodo.23249302
  2. Álvarez Bermejo, J. A. (2026). Manual de laboratorios de Programación Nativa de Dispositivos Móviles. Zenodo. https://doi.org/10.5281/zenodo.23436801
  3. Creative Commons. Licencia CC BY-NC-ND 4.0 Internacional. https://creativecommons.org/licenses/by-nc-nd/4.0/deed.es
  4. Cervantes, M. de (1605/1615). El ingenioso hidalgo don Quijote de la Mancha. Las citas proceden de la segunda parte, capítulos LVIII y XXXIII.
No comments yet

Deja una respuesta