En iOS, las aplicaciones pueden organizarse como árboles de frameworks enlazados en tiempo de ejecución, en lugar de un único binario monolítico compilado estáticamente. Esta arquitectura de plugins, basada en bibliotecas dinámicas, permite cargar módulos bajo demanda y reducir los tiempos de arranque, algo especialmente útil en apps grandes donde los usuarios solo usan una fracción del código durante toda la sesión.
El artículo explica el contexto histórico de las bibliotecas dinámicas en Linux y compara su uso frente a las estáticas: las dinámicas brillan cuando se necesita actualización modular, menor presión sobre la CDN y arranque condicional, mientras que las estáticas siguen siendo la opción recomendada para la mayoría de apps.
A continuación se detalla una prueba de concepto paso a paso con Xcode: crear una app SwiftUI (MyHappyApp) junto a dos frameworks (MyHappyFramework y MyHappyInterfaceFramework), configurarlos como contenido embebido en Shared Frameworks y desactivar el enlace en tiempo de compilación. También se muestra cómo usar la herramienta otool para inspeccionar los comandos de carga del binario (LC_PATH, @rpath) y verificar qué bibliotecas dinámicas se cargan al lanzar la app. El resultado: un módulo que no se carga al inicio y solo entra en memoria cuando el código lo solicita en tiempo de ejecución, sentando las bases para una arquitectura de plugins eficiente en iOS.
