Flex pone en relieve el desarrollo de Interfaces gráficas de usuario usando un lenguaje XML llamado MXML. Flex tiene varios componentes y características que aportan funcionalidades tales como Servicios Web, objetos remotos, arrastrar y soltar, columnas ordenables, gráficas, efectos de animación y otras interacciones simples. El cliente solo carga la aplicación una vez, mejorando así el flujo de datos frente a aplicaciones basadas en HTML(eg.PHP, ASP, JSP, CFMX), las cuales requieren de ejecutar plantillas en el servidor para cada acción. El lenguaje y la estructura de archivos de Flex buscan el desacoplamiento de la lógica y el diseño.
El servidor Flex también actúa como un gateway permitiendo al cliente comunicarse con servicios web XML y objetos remotos (tales como Coldfusion CFCs, clases Java, y cualquiera que soporte el formato de mensajes de acciones).
- Definir un interfaz de aplicación usando un conjunto de componentes pre-definidos (formularios, botones,...)
- Ordenar estos componentes en el diseño del interfaz de usuario
- Usar estilos y temas para definir el diseño visual
- Añadir comportamiento dinámico (una parte de la aplicación interactuando con otra, por ejemplo)
- Definir y conectar a servicios de datos según sea necesario (servicios http)
- Compilar el código fuente en un archivo SWF que funcione en el reproductor Flash