Case study

CAPS Cordova Plugin

Durante el desarrollo de LTA+ tuvimos que afrontar varios desafíos que implicaban interactuar con la capa nativa.

  • Cordova Plugin
  • Software crítico
  • Aeroespacial
  • Militar

Contexto

Airbus Military necesitaba sustituir una herramienta legacy de cálculo aeroespacial por un sistema moderno que pudiera usarse en operaciones militares, muchas veces sin conexión a internet, trabajando con datos sensibles y con requisitos de alta fiabilidad.

El proyecto consistió en la creación de una nueva aplicación escalable y mantenible, sobre la que después se han construido múltiples evolutivos y herramientas internas relacionadas.

Diseñé y desarrollé la nueva solución desde cero para que funcionara de forma consistente en Windows e iPad, y diseñé toda la estrategia de automatización de pruebas para garantizar la calidad del software sin depender solo de tests manuales.

Solución

El CAPS Engine es un motor de cálculos aerespacial hecho en fortran y transpilado a C. Para utilizar el motor de cálculo desde Angular, heredamos un plugin Cordova.

El plugin tenía en su interior el motor de cálculo, almacenado como librería estática (caps.a para iOS). Desde objective-c, se mapeaban las funciones con una capa C. La capa C, a su vez, realizaba llamadas directamente contra la librería estática y devolvía la información.

Notas

Este plugin fue uno de los retos técnicos más grandes del proyecto. No se entiende sin tener una visión de LTA+, los requisitos y las interacciones entre las diferentes capas del software.