Un navegador de clases es una característica de un entorno de desarrollo integrado (IDE) que permite al programador navegar, navegar o visualizar la estructura del código de programación orientado a objetos .
Historia
La mayoría de los navegadores de clases modernos deben sus orígenes a Smalltalk , uno de los primeros lenguajes y entornos de desarrollo orientados a objetos. El típico navegador de "cinco paneles" de Smalltalk es una serie de paneles de selección contiguos horizontalmente colocados sobre un panel de edición, los paneles de selección permiten al usuario especificar primero una categoría y luego una clase , y luego refinar la selección para indicar una método de clase o instancia cuya implementación se presenta en el panel de edición para su inspección o modificación.
La mayoría de los lenguajes orientados a objetos posteriores se diferenciaron de Smalltalk en que se compilaron y ejecutaron en un entorno de tiempo de ejecución discreto , en lugar de integrarse dinámicamente en un sistema monolítico como los primeros entornos de Smalltalk. Sin embargo, el concepto de un navegador gráfico o similar a una tabla para navegar por una jerarquía de clases se puso de moda.
Con la popularidad de C ++ a partir de finales de la década de 1980, los IDE modernos agregaron navegadores de clases, al principio simplemente para navegar por las jerarquías de clases y luego para ayudar en la creación de nuevas clases. Con la introducción de Java a mediados de la década de 1990, los navegadores de clase se convirtieron en una parte esperada de cualquier entorno de desarrollo gráfico.
En IDE modernos
Todos los principales entornos de desarrollo proporcionan algún tipo de navegador de clase, incluido
- Apple Xcode para macOS
- Cincom Smalltalk
- CodeWarrior para Microsoft Windows , Mac OS clásico y sistemas integrados
- Smalltalk delfín
- Eclipse
- Embarcadero Delphi
- Embarcadero JBuilder
- IBM WebSphere
- IntelliJ IDEA
- KDevelop
- Microsoft Visual Studio
- NetBeans
- Pharo Smalltalk
- Reflector Red Gate .NET
- Smalltalk MT
- Chillido Smalltalk
- Jabalina paso adelante [1]
- Strongtalk
- Prólogo visual
- Visual Smalltalk Enterprise
- Zeus para Windows IDE [2]
Los navegadores de clases modernos se dividen en tres categorías generales: los navegadores de columnas , los navegadores de esquema y los navegadores de diagramas .
Navegadores de columnas
Continuando con la tradición de Smalltalk, los navegadores de columnas muestran la jerarquía de clases de izquierda a derecha en una serie de columnas. A menudo, la columna de la derecha está reservada para los métodos de instancia o las variables de la clase hoja.
Navegadores de esquema
Los sistemas con raíces en Microsoft Windows tienden a usar un navegador en forma de esquema, a menudo con iconos coloridos (aunque crípticos) para indicar clases y sus atributos.
Navegadores de diagramas
En los primeros años del siglo XXI, los navegadores de clases comenzaron a transformarse en herramientas de modelado , donde los programadores no solo podían visualizar su jerarquía de clases como un diagrama, sino también agregar clases a su código al agregarlas al diagrama. La mayoría de estos sistemas de visualización se han basado en alguna forma de Lenguaje de modelado unificado (UML).
Navegadores de clases de refactorización
A medida que los entornos de desarrollo agregan características de refactorización , muchas de estas características se han implementado en el navegador de clases, así como en los editores de texto. Un navegador de refactorización puede permitir a un programador mover una variable de instancia de una clase a otra simplemente arrastrándola en la interfaz gráfica de usuario, o combinar o separar clases usando gestos del mouse en lugar de una gran cantidad de comandos del editor de texto.
Navegadores lógicos
Uno de los primeros complementos de Digitalk Smalltalk fue un navegador lógico para las reglas de Prolog encapsuladas como cláusulas dentro de las clases. Los navegadores lógicos más recientes han aparecido como BackTalk y SOUL (Smalltalk Open Unification Language con LiCor, o biblioteca para razonamiento de código) para Squeak y VisualWorks Smalltalk. Un navegador lógico proporciona una interfaz para Prolog implementada en Smalltalk (los motores Lisp se han implementado a menudo en Smalltalk). Se puede encontrar un navegador comparable en las reglas de ILog y en algunos sistemas de producción de OPS. Visual Prolog y XPCE proporcionan una exploración de reglas comparable. En el caso de SOUL, VisualWorks cuenta con un navegador de consultas y un navegador de cláusulas; Backtalk proporciona un navegador de restricciones. Los comentarios de Alan Kay sobre el paralelo de Smalltalk y Prolog surgieron en el mismo período de tiempo pero con muy poca fertilización cruzada. ¡El interés en el prólogo XSB para XUL y la migración de AMZI! El prólogo al IDE de Eclipse son las rutas actuales en la evolución del navegador lógico. Las reglas encapsuladas en clases se pueden encontrar en Logtalk y varias variantes de OOP Prolog como LPA Prolog , Visual Prolog y AMZI. así como SICStus convencional .
Versiones basadas en web
Una variante del marco web Seaside en Smalltalk permite abrir un navegador de clase en tiempo de ejecución en el navegador web en ejecución: una edición de un método tiene efecto inmediato en la aplicación web en ejecución. En el caso de Vistascript (Vista Smalltalk) para Microsoft IE7 , un clic derecho en el fondo abre un ClassHierarchyBrowser. Esto es algo así como editar prototipos de JavaScript en un navegador web o clases Ruby , Groovy o Jython en un IDE que se ejecuta en una JVM .
Ver también
- Lista de entornos de desarrollo integrados
- El navegador de origen y el navegador de código fuente sourcenav NG .