Iowa es un framework para el aplicaciones web. Está completamente desarrollado en el lenguaje de programación Ruby.

De este lenguaje de programación provienen varias de sus principales características:

· Interpretado: Iowa hereda las ventajas de la naturaleza altamente dinámica de Ruby, permitiendo la recarga y reevaluación dinámica del contenido y del código.

· Orientado a objetos: todos los contenidos se generan a partir de componentes encapsulados y reusables (objetos).

· Orientado a la web: Iowa fue diseñado pensando en el mundo de las aplicaciones web. El código y el contenido de tratan de formas separada, evitando así al desarrollado las preocupaciones derivadas de los mecanismos de generación de HTML. El control de la sesión en la parte del servidor significa que programador se puede concentrar en escribir aplicaciones en vez de preocuparse de cosas como campos ocultos, cookies, et... (aunque si es necesario se pueden generar mecanismos para control de cookies, control de url para búsquedas y control de las cabeceras HTTP).

Iowa tiene algunas tags especiales y un único atributo que es aplicado a estas tags para generar resultados dinámicos.

Iowa funciona en cualquier servidor web que acepte el protocolo CGI y debería funcionar en cualquier sistema operativo en el que esté portado el lenguaje de programación Ruby. También se puede ejecutar de forma integrada con el servidor web Webrick (desarrollado enteramente en Ruby). Es el entorno ideal de desarrollo. Todos los ejemplos que iremos desarrollado en este blog funcionaran sobre Webrick.

Aquí finaliza una breve introducción del entorno de desarrollo de aplicaciones web Iowa.