Desarrollado por | Embarcadero Technologies ( en ) |
---|---|
Primera versión | 1995 |
Última versión | 10.4.2 Sídney (24 de febrero de 2021) |
Estado del proyecto | Activo |
Escrito en | objeto pascal - delphi |
Sistema de explotación | Microsoft Windows |
Leer formatos | Borland Developer Studio Project ( d ) , Delphi Project ( d ) , Delphi Project source ( d ) , Delphi Project source (with rem) ( d ) , Deployment Manager configuration ( d ) , Delphi Package (with rem) ( d ) , Delphi Paquete ( d ) , Borland Delphi - C ++ Builder Form (var.1) ( d ) , Borland Delphi - C ++ Builder Form (var.2) ( d ) , Borland Delphi - C ++ Builder Form (var. 3) ( d ) y Borland Delphi - C ++ Builder Form (var.4) ( d ) |
Formatos escritos | Borland Developer Studio Project ( d ) , Delphi Project ( d ) , Delphi Project source ( d ) , Delphi Project source (with rem) ( d ) , Deployment Manager configuration ( d ) , Delphi Package (with rem) ( d ) , Delphi Paquete ( d ) , Borland Delphi - C ++ Builder Form (var.1) ( d ) , Borland Delphi - C ++ Builder Form (var.2) ( d ) , Borland Delphi - C ++ Builder Form (var. 3) ( d ) y Borland Delphi - C ++ Builder Form (var.4) ( d ) |
Idiomas | Inglés , francés , alemán y japonés |
Escribe | Entorno de desarrollo integrado |
Licencia | Dueño |
Sitio web | www.embarcadero.com/products/delphi |
Cronología de versiones
Delphi es un lenguaje de programación orientado a objetos y un entorno de desarrollo integrado (IDE) para ese lenguaje.
Delphi IDE es un IDE patentado basado en Windows creado en 1995 por Borland . En ese momento, la creación de programas de gráficos en Windows se realizaba en su mayor parte utilizando la cadena de compilación de Visual C ++ o Visual Basic RAD . Al ser la primera herramienta excesivamente compleja y la segunda bastante desestructurada, Delphi apareció como una alternativa viable para muchos desarrolladores que querían crear programas para Windows.
En 2001 , Borland lanzó una versión Linux de Delphi llamada Kylix , que no alcanzó el éxito esperado por el editor.
Desde 2011, Embarcadero ha introducido el framework Firemonkey además de la Visual Component Library (VCL) (todavía orientada a Windows) que gradualmente ha hecho posible compilar los mismos programas en otras plataformas.
Actualmente, Delphi le permite generar ejecutables de Windows, macOS, iOS, Android y Linux a partir de programas escritos en Object Pascal en Windows.
Delphi incorpora una versión orientada a objetos del lenguaje Pascal : Object Pascal , renombrado como lenguaje de programación Delphi con cambios realizados por Borland. Object Pascal de Delphi tiene varias ventajas: tipado fuerte , control estricto del compilador para evitar errores de memoria, desbordamiento, gestión integrada de cadenas y matrices dinámicas, etc. La compilación solo se realiza en una sola pasada y no hay separación entre la implementación y la interfaz como en C o C ++: la generación de un proyecto Delphi es, por lo tanto, muy rápida, lo cual tiene Cuando se lanzó, la herramienta se convirtió rápidamente famoso por sus tiempos récord de compilación.
Aunque Object Pascal introduce una multitud de conceptos interesantes e innovadores (muchos han sido adquiridos con C # ), adolece de debilidades conocidas. Por ejemplo, no permite algunas características de la programación orientada a objetos, como la herencia múltiple de clases . Algunas características como la sobrecarga de operadores y la genéricaidad no se introdujeron hasta tarde (respectivamente con Delphi 2005 y Delphi 2009). Además, su parentesco con Pascal repele a muchos programadores más acostumbrados a programar estilos cercanos a Java o C. Finalmente, no está estandarizado ni gestionado por un comité independiente: propiedad de Embarcadero, el editor es el único que puede decidir el futuro. y la incorporación de nuevas funcionalidades al lenguaje.
El entorno de desarrollo se basa en un editor de interfaz gráfica asociado con un editor de código fuente. Debe su éxito a su facilidad de uso para desarrollar gráficos y / o aplicaciones de bases de datos. A menudo se ha comparado con Visual Basic de Microsoft por esta facilidad de desarrollo. Incluso se puede decir que mediante un divertido movimiento de equilibrio y persona, el VB influyó en Delphi que a su vez influyó en el VB ( Anders Hejlsberg durante su tiempo en Microsoft).
El entorno de desarrollo autogenera código para facilitar el trabajo del programador. Mantiene una correspondencia automática entre la vista de diseño (la ventana que el programador crea al soltar componentes gráficos) y el editor de código (la vista que muestra el código fuente que creará estos componentes en tiempo de ejecución). Los datos específicos de los componentes se almacenan en archivos de extensión .DFM, mientras que el código fuente de Object Pascal se guarda en archivos de extensión .PAS. Mientras que otros lenguajes (como C # con Winforms) generan las instrucciones necesarias para crear los componentes de la interfaz e inyectarlos en una sección del código fuente del programa, Delphi separa los datos de descripción estática de los objetos de la interfaz, al igual que XAML , y se basa en rutinas VCL para leer y presentar la interfaz en tiempo de ejecución.
La interfaz de desarrollo permite la adición de componentes de terceros (gráficos o no) a través de un sistema de componentes. La modularidad se obtiene en el diseño, pero también se puede explotar en tiempo de ejecución a través de un sistema de carga dinámica de paquetes en tiempo de ejecución , Borland ha ampliado el concepto de bibliotecas compartidas y el formato DLL de Windows al introducir un modelo propietario para grabar dinámicamente y exportar clases entre módulos. Microsoft asumirá el mismo sistema en Visual Basic con el formato VBX , luego en todo el sistema con los componentes COM y ActiveX .
El siguiente código muestra lo que genera Delphi al crear una aplicación vacía. La ventana en la pantalla está representada por una clase ( TForm1 ) que será instanciada en tiempo de ejecución y cuya instancia será asignada a la variable Form1 . Los otros componentes también se definen como clases cuyo código fuente se almacena en los archivos descritos en la cláusula de usos de la unidad:
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs; type TForm1 = class(TForm) private { Déclarations privées } public { Déclarations publiques } end; var Form1: TForm1; implementation {$R *.dfm} endSin embargo, esto es prácticamente todo lo que genera Delphi (aparte del código para los elementos colocados a través de IDE ). Si un programador experimentado quiere generar clases de manera eficiente para mejorar el diseño y la estructura de sus datos, Borland ofrece otros UML- herramientas basadas en :. ModelMaker de ModelMakerTools el cual, a su vez, genera todo el código de la interfaz de una clase se aplica fácilmente, así como los patrones de diseño , o Together, un producto de Borland resultante de la adquisición de TogetherSoft.
Delphi también integra muchos asistentes para crear proyectos o archivos según lo que desee hacer. Puede agregar los suyos y distribuirlos libremente.
Kylix es un producto muy parecido a Delphi (mismo principio, misma interfaz) que funciona bajo Linux y que permite crear programas para este sistema. El mismo código fuente se puede compilar en Linux y Windows (respectivamente con Kylix y Delphi) gracias al uso de la biblioteca de objetos CLX que se basa en la biblioteca de gráficos Qt siguiendo los mismos principios que la biblioteca VCL. Hoy Borland ha abandonado el desarrollo de Kylix pero la biblioteca CLX permanece presente en las nuevas versiones de Delphi.
Lazarus es un proyecto IDE gratuito para Free Pascal . Copiando al widget y funciones cercanas a la herramienta Delphi (y siendo utilizado así), el software, asociado a Free Pascal, permite diseñar proyectos sustancialmente compatibles con Delphi. Usando algunas directivas de compilación, el mismo código orientado al procesamiento (sin usar directamente funciones GUI) se puede compilar bajo Delphi, Kylix y Free-Pascal.
Delphi se beneficia de una biblioteca de componentes visuales y no visuales, la Biblioteca de componentes visuales (VCL), que es similar en concepto a los MFC de Visual Studio. La VCL permite, entre otras cosas, dibujar rápidamente una aplicación gráfica, ocultando llamadas a complejas API de Windows. Desde Delphi 1, la VCL ha sido mejorada por su editor con cada nueva versión de Delphi, lo que garantiza una compatibilidad casi total en la interfaz de la biblioteca, lo que permite migrar proyectos y limitar la reescritura de código.
C ++ Builder usa la misma biblioteca de componentes e incluye un "traductor" de Object Pascal a C ++ , al menos un C ++ que contiene extensiones específicas de Borland comprensibles por el hermano C ++ de Delphi. Por tanto, cualquier código Delphi puede explotarse con C ++ Builder.
Firemonkey se introdujo en Delphi en 2011 con la versión XE2. Es una alternativa a VCL para el desarrollo multiplataforma.
Totalmente gráfico, permite gestionar 2D, 3D, animaciones, filtros y efectos gráficos sobre todos los componentes de una interfaz gráfica. También integra las bibliotecas Box2D y Box3D , lo que le permite agregar un motor de física a cualquier componente visual de un formulario, ya sean campos de entrada o imágenes.
Donde la VCL da acceso a todas las características presentes en Windows, Firemonkey (abreviado como FMX) permite el acceso a las API de las plataformas de destino en las que compilamos.
En la versión 10.2 Tokyo, Delphi (y C ++ Builder ) pueden crear programas compilados de forma nativa en modo consola o con una interfaz gráfica para Windows, OS X, iOS y Android.
Delphi le permite generar programas de consola o demonio para Linux, como interfaces gráficas con FMX Linux, que se incluye desde junio de 2019 en la versión 10.3.1 Rio y posteriores.
Delphi, dependiendo de su nivel de licencia, también integra herramientas, proyectos y componentes cliente / servidor, base de datos, simplificando el diálogo con sensores IoT , permitiendo crear y acceder a APIs REST, sitios de Internet: FireDAC , EMS ( RAD Server ), Datasnap , Webbroker , tecnologías bluetooth (BT, BT LE, beacon), componentes http nativos de cada plataforma, App Tethering , IntraWeb, tecnología ThingConnect (componentes IoT), etc.
Desde la segunda versión, el objetivo era Windows de 32 bits (Windows 95, NT, etc.). El software no cambia radicalmente entre cada versión, la diferencia se hace más en la adición de componentes que se pueden utilizar en los programas y la inclusión de nuevas tecnologías.
Al no encontrar comprador, Borland creó en 2006 CodeGear (en) , una entidad dedicada a los IDE, en la que participa todo el equipo de desarrollo de Delphi, C ++ Builder y JBuilder . Inicialmente, CodeGear pertenece a Borland pero tiene sus propios recursos destinados a la creación de herramientas para desarrolladores ( “Donde los desarrolladores importan” ).
Después de dos años de investigación, la empresa Embarcadero Technologies (en) compró CodeGear por $ 23 millones. En aras de la coherencia, las bases de datos de Embarcadero se agrupan bajo el nombre DataBaseGear. CodeGear continúa operando como una empresa privada bajo el liderazgo del actual CEO de Embarcadero. Borland, o lo que quede de él, será adquirido por Micro Focus International en 2009 por 75 millones de dólares.
Lenguaje: apoyo a la genéricaidad . Esto reduce significativamente las líneas de código que debe ingresar el desarrollador. Soporte para métodos anónimos, lo que permite, entre otras cosas, hacer una refactorización más exitosa.
Se han introducido nuevos componentes visuales, el más notable de los cuales es una implementación de la interfaz de usuario Ribbon utilizada por Microsoft desde Microsoft Office 2007 y Windows 7 .
Embarcadero fue adquirida en octubre de 2015 por Idera, empresa especializada en bases de datos.
El lenguaje Delphi se usa mucho menos que su competidor más común, C ++, pero sin embargo, generalmente aparece entre los rankings de popularidad de los lenguajes de computadora. Por ejemplo, el índice TIOBE menciona a Delphi entre los 20 idiomas más investigados, sin interrupción desde 2001. Delphi se utiliza para la realización de software empresarial específico, pero también para productos informáticos estándar como:
Con motivo del 26 aniversario de Delphi (14 de febrero de 2021) Embarcadero relanzó sus casos de clientes donde se presentan varios cientos de software y aplicaciones móviles desarrollados con Delphi.