Posted on

RAD, Frameworks e IDE conoce las diferencias

¿Qué son RAD, Frameworks e IDE?

Quizás no conozcas la diferencia entre ellas y cómo puedes utilizarlas para optimizar el desarrollo de software.

El proceso de desarrollo en algunos casos puede ser muy largo, dependiendo de la metodología para el desarrollo, ese período puede extenderse de tal forma que en el medio del proyecto nos encontremos con cambios drásticos, es por ello que desde hace tiempo podemos encontrar herramientas que nos facilitan el día a día en la creación y gestión de nuestros proyectos, estas herramientas son una ayuda con la que reducir el tiempo de desarrollo, haciendo que los proyectos puedan ser más competitivos logrando mantener la rentabilidad, hoy vamos a centrarnos en 3 tres tipos de herramientas RAD, Frameworks e IDE.


RAD: Desarrollo rápido de aplicación. No es de hecho un término muy común, fue registrado por James Martin en 1961 en Inglaterra y enfatiza un ciclo de desarrollo de 30 a 90 días. La metodología de Martín involucra el desarrollo iterativo y la construcción de prototipos. Más recientemente, el término y su sigla se utilizaron en un sentido más amplio y genérico, que engloba una variedad de técnicas que apuntan al desarrollo de aplicaciones a alta velocidad, tales como el uso de frameworks de aplicación web y otros tipos de frameworks de software.


La programación RAD permite más agilidad a la hora de desarrollar, el proceso puede ser dividido en 5 fases, logrando así dar mucha más rapidez al desarrollo de una aplicación de cualquier naturaleza.

  • Modelado del Negocio: Todo el análisis de negociación ocurre en esta fase, las dudas y procesos que el sistema va a gestionar son expuestos y mostrados.
  • Modelado de Datos: En esta fase se dibuja toda la estructura de datos de la aplicación, se analizan cuestiones relacionadas con la relación de tablas.
  • Modelado de Proceso: En esta fase se dibuja todas las reglas de modificación, alteración, exclusión y cualquier cambio de estado de los objetos que se relacionarán.
  •  Generación de la aplicación: En esta fase se inicia el proceso de desarrollo en sí. La idea principal del RAD es aprovechar al máximo los componentes ya utilizados para que haya disminuciones considerables en materia de tiempo en el proyecto.
  •  Pruebas y modificaciones: En esta fase se realizan pruebas de flujo y correcciones cuando sea necesario, como el RAD trabaja sobre la idea de reutilización, muchos componentes ya han sido probados en otro momento y con eso esta fase acaba estando muy optimizada.

Los enfoques RAD pueden implicar compromisos en funcionalidad y rendimiento, en cambio, permitien el desarrollo más rápido y facilitan el mantenimiento de la aplicación, reutilizado componentes de programas ya existentes o crear reutilizables.

Bueno, ya sabemos que RAD es básicamente de una metodología. Tenemos entonces herramientas o plataformas de desarrollo que apoyan su concepto en el “Rapid Application Development” como el Scriptcase, por ejemplo. Scriptcase es un entorno de desarrollo rápido de aplicaciones web en PHP. La gama de componentes presentes y ya probados en ScriptCase es muy grande y gracias a ello se considera una herramienta propia para RAD.

Existen otras herramientas RAD, podemos citar: Dataflex, Visual Studio LightSwitch, Embarcadero RAD Studio, WaveMaker .. cada una con sus lenguajes siguiendo el concepto RAD.

Y los frameworks?

En primer lugar vamos a analizar la terminología en inglés: Framework sería una estructura básica subyacente a un sistema, concepto o texto.

¿Qué puede ser la estructura subyacente de un software? 

Una colección de bibliotecas diferentes juntas para proporcionar un conjunto de código general reutilizable que entonces se puede personalizar para una aplicación específica.

Bueno, en sistemas de informáticos, un framework a menudo es una estructura de capas, indicando el tipo de programas que pueden o deben ser construidos y cómo se interrelacionan. Algunas estructuras de sistemas informáticos también incluyen programas reales, especifican interfaces de programación o ofrecen herramientas de programación para utilizar los frameworks.

En el wikipedia encontramos la definición de que framework en desarrollo de software, es una abstracción que une códigos comunes entre varios proyectos de software proporcionando una funcionalidad genérica. Un marco puede alcanzar una funcionalidad específica, por configuración, durante la programación de una aplicación. A diferencia de las bibliotecas, es el marco quien dicta el flujo de control de la aplicación, llamado de Inversión de Control.

En una biblioteca de clases, por ejemplo, cada clase es única e independiente de las otras, en un framework las dependencias / colaboraciones están incrustadas (con conexión a Internet) con biblioteca, las aplicaciones crean las colaboraciones. Un framework impone un modelo de colaboración (el resultado del análisis y el diseño) al que debe adaptarse el proyecto. Al recibir un framework, el trabajo consiste en proveer los fragmentos que son específicos para su aplicación. El framework engloba la funcionalidad común de varias aplicaciones.

Tomando los términos técnicos y simplificando la explicación, frameworks es básicamente un montón de bibliotecas, funciones, clases y objetos reutilizables que ayudan a ahorrar tiempo. Como Frameworks podemos citar: Laravel, Zend framework, Cakephp, CodeIgniter, Symfone, jQuery, Prototype y etc.

Como ejemplo simple de framework “puro” usado por Scriptcase tenemos el “prod” (entorno de producción), que es un área administrativa del sistema publicada por Scriptcase, donde se definen los datos de conexión y otras configuraciones. Un entorno de producción incluye un conjunto de bibliotecas comunes utilizadas por las aplicaciones desarrolladas por Scriptcase. Incluye características como: PDF, programación, XLS (Excel), base de datos (Access Layer), procesamiento de imágenes y bibliotecas de JavaScript. El entorno de producción de Scripcase es compatible con las siguientes plataformas: Windows, Linux, IBM I5 / OS400, FreeBSD, Solaris y Mac OS

¿Por qué tantos desarrolladores usan frameworks? No hay ningún problema “pros y contras”, simplemente hacen la vida de un programador mucho más fácil!

Finalmente, vamos a analizar el concepto de IDE:

¿Qué es lo primordial para el desarrollo de software? Sí, un editor de texto. Pero el editor de texto no ofrece ninguna otra ventaja como autocorrección, auto-completar inteligente o plantillas. De ahí viene el IDE que es una sigla en inglés: Integrated Development Environment, un editor de texto con soporte adicional para el desarrollo, compilación y depuración de aplicaciones. Históricamente, un IDE es simplemente una evolución de un editor de texto.

Los IDE’s modernos también incluyen otras herramientas. Para ser considerado un IDE, la solución debe al menos incluir un editor de texto (para escribir el programa), alguna herramienta de gestión de proyecto y compilación permitiendo ejecutar el programa sin dejar el IDE. También debe incluir herramientas de depuración, cobertura de código, administración de versiones, menús automatizados y herramientas de documentación, editores gráficos, refactorización, asistentes y muchas, muchas otras herramientas útiles.

Aún es posible escribir programas sin IDE, aunque no es lo más común. De cualquier forma sería necesario usar un puñado de programas separados: un compilador, un editor de texto, un generador de archivos, etc, etc …

Un IDE o un entorno integrado de desarrollo es un conjunto de aplicaciones, típicamente consistentes en un editor de código, un compilador, un depurador y una interfaz gráfica que puede o no ofrecer un entorno amigable a un framework. Como ejemplos tenemos: Delphi, Dreamweaver, Frontpage, HTML 5 Builder, Eclipse, Visual Studio, NetBeans e IntelliJ., Y etc.

Dentro del Scriptcase podemos citar la Aplicación Blank como ejemplo de un IDE, esta aplicación está integrada con el ambiente de desarrollo del Scriptcase. Dentro de ella es posible escribir código PHP, Javascript, HTML, CSS … Además de acceder macros y bibliotecas internas del Scriptcase, documentación, etc. La ventaja de utilizar este tipo de aplicación en lugar de crear un programa PHP manualmente, fuera del Scriptcase o con otro IDE, es la posibilidad del uso de las herramientas disponibles, así como la integración nativa con el control de acceso de los sistemas creados dentro del ambiente del Scriptcase.

En resumen, y por lo tanto, tenemos, RAD como una metodología que puede ser usada por varios entornos de desarrollo (de ahí el término “herramientas RAD”), o sea herramientas que se basan en el concepto de desarrollo rápido (como el Scriptcase); Frameworks que son un conjunto bibliotecas, funciones, clases y objetos reutilizables que ayudan a ahorrar tiempo y organizar el desarrollo y las IDEs que simplemente traen un conjunto de aplicaciones para integrar todo lo necesario para el desarrollo.