¿Cuáles son los pros y los contras de construir con Adobe Flex, en comparación con el desarrollo nativo de iOS o Android?

Hardware
El objetivo de un marco como Flex es que abstrae los detalles subyacentes, para que no tenga que preocuparse por ellos. Esa es una espada de doble filo, porque, bueno, no tienes acceso a los detalles esenciales. Es decir, obtienes menos control sobre los puntos más finos del código de tu aplicación y no obtienes acceso inmediato al nuevo hardware, porque Flex, por definición, va a la zaga de las API nativas (porque Flex se construye sobre la API nativa) .

Mantenibilidad
Usted menciona en los detalles de su pregunta que ha escuchado que Flex es difícil de mantener. Flex, en su forma predeterminada, ofrece poca orientación sobre cómo estructurar su aplicación, lo que significa que sumergirse en una nueva aplicación Flex puede ser muy, muy confuso. Sin embargo, hay un montón de marcos que facilitan la estructura, como Robotlegs o Cairngorm, lo que hace que su aplicación Flex sea mucho más fácil de mantener si las usa.

Multi dispositivo
Si necesita desarrollar para iOS, Android y BlackBerry, y no usa Flex o HTML5, se encontrará con una pesadilla de mantenimiento, porque los tres tienen API nativas diferentes, que requieren conjuntos de habilidades completamente diferentes. Mantener tres bases de códigos actualizadas y sincronizadas NO es fácil. No solo es un desafío técnico, sino que también es prácticamente imposible encontrar desarrolladores que conozcan las tres tecnologías, por lo que debe contratar a más personas o capacitar a las existentes.

Los componentes flexibles no son compatibles con GPU. Solo CPU.