Articulo de referencia

Delphi (software)

{{Cite web | url=http://docwiki.embarcadero.com/RADStudio/Sydney/en/Installation_Notes#Operating_System_Requirements | title=Installation Notes - Operating System Requirements |...

Delphi es un lenguaje de programación de propósito general y un producto de software que utiliza el dialecto Delphi del lenguaje de programación Object Pascal y proporciona un entorno de desarrollo integrado (IDE) para el desarrollo rápido de aplicaciones de software de escritorio, móvil , web y de consola , [ 3 ] actualmente desarrollado y mantenido por Embarcadero Technologies .

Los compiladores de Delphi generan código nativo para Microsoft Windows , macOS , iOS , Android y Linux ( x64 ). [ 4 ] [ 5 ] [ 6 ]

Delphi incluye un editor de código, un diseñador visual, un depurador integrado, un componente de control de código fuente y compatibilidad con complementos de terceros . El editor de código ofrece funciones como Code Insight ( autocompletado de código ), Error Insight (verificación de errores en tiempo real) y refactorización . El diseñador visual de formularios permite utilizar la Biblioteca de Componentes Visuales (VCL) para el desarrollo exclusivo de Windows o el framework FireMonkey (FMX) para el desarrollo multiplataforma. La compatibilidad con bases de datos es una característica clave, proporcionada por FireDAC (Componentes de Acceso a Bases de Datos). Delphi destaca por su rápida compilación, su código nativo y la productividad de sus desarrolladores.

Delphi fue desarrollado originalmente por Borland como una herramienta de desarrollo rápido de aplicaciones para Windows, como sucesor de Turbo Pascal . Delphi añadió programación orientada a objetos completa al lenguaje existente, y este ha evolucionado para admitir genéricos, métodos anónimos , cierres y compatibilidad nativa con el Modelo de Objetos Componentes (COM).

Delphi y su equivalente en C++ , C++Builder , son interoperables y se comercializan conjuntamente bajo el nombre de RAD Studio. Existen ediciones Professional, Enterprise y Architect, y las ediciones superiores ofrecen más funciones a un precio mayor. También existe una edición Community gratuita, con la mayoría de las funciones de la edición Professional, pero restringida a usuarios y empresas con bajos ingresos. [ 7 ]

Características

Delphi admite el desarrollo rápido de aplicaciones (RAD). Sus características más destacadas son un diseñador visual y dos marcos de trabajo para aplicaciones : Visual Component Library (VCL) para Windows y FireMonkey (FMX) para el desarrollo multiplataforma.

Delphi utiliza Object Pascal , un lenguaje de programación basado en Pascal creado por Anders Hejlsberg para Borland (ahora IDERA), como sucesor de Turbo Pascal. Admite la compilación cruzada nativa para numerosas plataformas, incluyendo Windows, Linux, iOS y Android.

Para facilitar el desarrollo para Microsoft Windows y la interoperabilidad con código desarrollado con otras herramientas de desarrollo de software, Delphi admite interfaces independientes del Modelo de Objetos Componentes (COM) con implementaciones de clases de conteo de referencias , así como compatibilidad con numerosos componentes de terceros. Las implementaciones de interfaz pueden delegarse a campos o propiedades de las clases. Los manejadores de mensajes se implementan etiquetando un método de una clase con la constante entera del mensaje a procesar.

La conectividad con la base de datos se admite ampliamente mediante componentes VCL compatibles con bases de datos y de acceso a bases de datos.

Las versiones posteriores han incluido rutinas de biblioteca de tiempo de ejecución mejoradas y actualizadas, algunas proporcionadas por el grupo comunitario FastCode .

Características

Delphi utiliza un lenguaje de programación de alto nivel fuertemente tipado , diseñado para ser fácil de usar y basado originalmente en el lenguaje Object Pascal. Pascal se desarrolló originalmente como un lenguaje de propósito general "apropiado para expresar las construcciones fundamentales conocidas en ese momento de manera concisa y lógica", y "su implementación debía ser eficiente y competitiva con los compiladores FORTRAN existentes" [ 8 ], pero sin facilidades de programación de bajo nivel ni acceso al hardware. Turbo Pascal y sus descendientes, incluido Delphi, admiten el acceso al hardware y la programación de bajo nivel, con la facilidad de incorporar código escrito en lenguaje ensamblador y otros lenguajes. La orientación a objetos de Delphi solo presenta polimorfismo basado en clases e interfaces . [ 9 ] Las metaclases son objetos de primera clase. Los objetos son referencias a los objetos (como en Java ), que Delphi desreferencia implícitamente, por lo que generalmente no hay necesidad de asignar manualmente memoria para punteros a objetos ni utilizar técnicas similares que otros lenguajes requieren. Hay tipos de cadena dedicados con conteo de referencias, y también cadenas terminadas en nulo.

Las cadenas se pueden concatenar usando el operador '+', en lugar de usar funciones. Para tipos de cadena específicos, Delphi gestiona la memoria sin intervención del programador. Desde Borland Developer Studio 2006, existen funciones para localizar fugas de memoria .

Delphi incluye un IDE integrado. Todos los productos Delphi incluyen una biblioteca de tiempo de ejecución (RTL) y una biblioteca de componentes visuales (VCL), con la mayor parte de su código fuente. Existen componentes de terceros (a veces con el código fuente completo ) y herramientas para mejorar el IDE o para otras tareas de desarrollo relacionadas con Delphi, algunas de ellas gratuitas. El IDE incluye una interfaz gráfica de usuario (GUI) para la localización y traducción de los programas creados, que pueden implementarse en un traductor; también hay herramientas de terceros con más funciones para este propósito. El marco VCL mantiene un alto nivel de compatibilidad entre versiones, lo que simplifica la actualización del código fuente existente a una versión más reciente de Delphi. Las bibliotecas de terceros suelen necesitar actualizaciones del proveedor, pero si se proporciona el código fuente, la recompilación con la versión más reciente puede ser suficiente. VCL fue pionera en la inyección de dependencias o inversión de control ; utiliza un modelo de componentes reutilizables, extensible por el desarrollador. Con las clases auxiliares, se puede introducir nueva funcionalidad en las clases principales de RTL y VCL sin modificar el código fuente original de RTL o VCL.

Delphi admite una amplia gama de componentes de acceso a bases de datos de terceros que proporcionan conectividad nativa con los principales sistemas de bases de datos. Estos incluyen bibliotecas especializadas para Oracle, SQL Server, MySQL/MariaDB, PostgreSQL, SQLite e InterBase/Firebird. Algunos componentes, como DAC , ofrecen soluciones de acceso a datos universales que admiten múltiples bases de datos y servicios en la nube como Salesforce y FreshBooks. Estas bibliotecas se actualizan periódicamente para mantener la compatibilidad con las últimas versiones de IDE (por ejemplo, RAD Studio 12), sistemas operativos (por ejemplo, macOS Sonoma, iOS 17, Android 13) y motores de bases de datos (por ejemplo, Oracle 23, SQL Server 2022, PostgreSQL 16).

El compilador está optimizando y es un compilador de una sola pasada . Opcionalmente, puede compilar en un único ejecutable que no requiere DLL . Delphi también puede generar DLL estándar, DLL ActiveX , servidores de automatización COM y servicios de Windows .

Desde Delphi 2005, los entornos de desarrollo integrados (IDE) de Delphi ofrecen cada vez más soporte para funciones de refactorización , como la extracción de métodos y la posibilidad de crear modelos UML a partir del código fuente o de modificar el código fuente mediante cambios realizados en el modelo.

Delphi cuenta con comunidades en la web , donde sus empleados participan activamente. Además, Delphi utiliza componentes de FireDAC en colaboración con otras plataformas.

Compatibilidad con versiones anteriores

Delphi es uno de los lenguajes donde la retrocompatibilidad es casi del 100%. Si bien cada nueva versión de Delphi intenta mantener la mayor compatibilidad posible para permitir la reutilización del código existente, las nuevas características, las nuevas bibliotecas y las mejoras a veces hacen que las versiones más recientes no sean 100% retrocompatibles.

Desde 2016, se han publicado nuevas versiones de Delphi cada seis meses, y se han añadido nuevas plataformas aproximadamente cada dos versiones. [ 10 ]

Marcos de trabajo

Delphi ofrece dos marcos de trabajo para el desarrollo de aplicaciones visuales: VCL y FireMonkey (FMX):

  • Visual Component Library (VCL) es el marco de trabajo para desarrollar aplicaciones puras de Windows. VCL es un marco de trabajo con larga trayectoria, incluido en la primera versión de Delphi y en constante desarrollo desde entonces.
  • FireMonkey (posteriormente abreviado FMX) se lanzó en 2011 como parte de Delphi XE2, junto con un conjunto adicional de compiladores integrados para plataformas distintas de Windows. FireMonkey es un framework multiplataforma para Windows, macOS, iOS, Android y Linux (x64). La interfaz gráfica de usuario (GUI) de FireMonkey se basa principalmente en Direct3D y OpenGL. FireMonkey no es compatible con VCL; son dos frameworks distintos. Sin embargo, las aplicaciones FireMonkey permiten compartir fácilmente unidades de código no visuales con aplicaciones VCL, lo que facilita la portabilidad y el intercambio de código entre plataformas.

Interoperabilidad

Delphi y su equivalente en C++ , C++Builder , son interoperables. Comparten muchos componentes principales, especialmente el IDE, los frameworks VCL y FMX, y gran parte de la biblioteca de tiempo de ejecución . Además, pueden utilizarse conjuntamente en un proyecto. Por ejemplo, C++Builder 6 y versiones posteriores permiten combinar código fuente de Delphi y C++ en un mismo proyecto, mientras que los paquetes compilados con C++Builder pueden utilizarse desde Delphi. En 2007, ambos productos se lanzaron conjuntamente como RAD Studio, un host compartido para Delphi y C++Builder, que puede adquirirse con uno o ambos. A partir de Rio, también existe interoperabilidad con Python.

Ejemplo de programa "Hola Mundo"

programa ObjectPascalExample ;tipo THElloWorld = procedimiento de clase Put ; fin ;procedimiento THElloWorld . Put ; inicio Writeln ( '¡Hola, mundo!' ) ; fin ;var HelloWorld : THelloWorld ; { este es un puntero implícito }begin HelloWorld := THelloWorld . Create ; { el constructor devuelve un puntero a un objeto de tipo THelloWorld } HelloWorld . Put ; HelloWorld . Free ; { esta línea libera el objeto THelloWorld al que apunta HelloWorld } end .

Tenga en cuenta que la construcción de objetos todavía está disponible en Delphi.

Historia

Usos en las escuelas

En 2016, Delphi fue nombrado el lenguaje de elección para la enseñanza de programación en las escuelas sudafricanas como asignatura de tecnología de la información (TI). [ 11 ]

Hojas de ruta

Embarcadero solía publicar "hojas de ruta" que describían sus planes de desarrollo futuros. La última se publicó en noviembre de 2020. [ 12 ] La versión 10.5 a la que se hacía referencia en la hoja de ruta de noviembre de 2020 pasó a llamarse 11.0. A partir de Delphi 11, Embarcadero decidió dejar de publicar hojas de ruta formales. En su lugar, las posibles nuevas características se presentan ahora de forma informal a través de entradas de blog y seminarios web en línea. Marco Cantú (gerente de producto) desempeña un papel importante con su blog .

  • Borland Enterprise Studio, precursor de RAD Studio, es un conjunto de herramientas de desarrollo de software que incluye soporte para múltiples lenguajes. Borland Enterprise Studio para Windows es compatible con Delphi. [ 13 ]
  • Borland Kylix : Similar a Delphi, pero para Linux, lanzado en 2001. Este fue el primer intento de añadir soporte para Linux a la familia de productos Delphi. [ 14 ] Kylix utilizaba el nuevo marco de trabajo multiplataforma CLX (basado en Qt ), en lugar de la VCL de Delphi. Kylix se descontinuó después de la versión 3. Actualmente, el soporte para Linux está integrado en el producto principal Delphi y utiliza el marco de trabajo multiplataforma FireMonkey.
  • Epostmailer fue una aplicación de marketing por correo electrónico basada en Microsoft Windows, creada en 1997 por Khurram Zaveri de Spryka Incorporated.
  • InterBase es una base de datos SQL integrable que se integra de forma nativa con Delphi y C++Builder para el desarrollo cliente/servidor o embebido. Sus características distintivas incluyen requisitos de administración reducidos, seguridad de datos de nivel empresarial, recuperación ante desastres y sincronización de cambios. Además, es accesible desde los principales lenguajes y plataformas del mercado mediante protocolos de conexión de bases de datos como ODBC, ADO, ADO.NET e incluso Java a través de JDBC/ODBC Bridge o conectores Java tipo 4.
  • JBuilder era una herramienta para el desarrollo de Java basada en Eclipse desde la versión JBuilder 2007.
  • RadPHP (posteriormente reemplazado por HTML5 Builder) era un IDE para PHP que ofrecía una verdadera funcionalidad RAD. Contaba con un diseñador de formularios similar al de Delphi o Visual Basic , y un depurador integrado basado en el servidor web Apache . También incluía una biblioteca VCL adaptada a PHP. A diferencia de otros IDE, era compatible con características de Web 2.0 como Ajax . Delphi para PHP se anunció el 20 de marzo de 2007, se renombró en octubre de 2010 a RadPHP y se basaba en Qadram Q Studio. Embarcadero adquirió Qadram en enero de 2011.
  • Delphi Prism (posteriormente renombrado Embarcadero Prism) derivaba del lenguaje Oxygene (antes llamado Chrome) de RemObjects. Se ejecutaba en el entorno de desarrollo integrado (IDE) Microsoft Visual Studio, en lugar de RAD Studio. Embarcadero lo licenció y lo renombró para reemplazar a Delphi.NET cuando este último fue descontinuado.
  • Free Pascal es un compilador cruzado multiplataforma de código abierto para Pascal que admite la mayor parte del código Object Pascal de Delphi. Free Pascal también tiene sus propias extensiones de lenguaje, múltiples modos de compilación [sintaxis del lenguaje] y admite más de 18 sistemas operativos y más de 9 arquitecturas de procesador. [ 15 ] Lazarus es un IDE RAD multiplataforma que utiliza el compilador Free Pascal.

Bibliotecas de terceros destacadas

Véase también

Referencias

  1. "Anuncio de la disponibilidad de la actualización Florence 1 de RAD Studio 13" . 19 de marzo de 2026. Consultado el 19 de marzo de 2026 .
  2. "Notas de instalación - Requisitos del sistema operativo" . Archivado del original el 6 de agosto de 2020. Consultado el 5 de septiembre de 2020 .
  3. William Buchanan (4 de febrero de 2003). Dominando la programación en Delphi . Palgrave Macmillan. págs. 10–. ISBN  978-1-137-17356-0.
  4. "Comparación de rendimiento de Delphi 2010 a XE6 (Parte 2)" . Riversoft AVG. 12 de mayo de 2014. Archivado del original el 26 de julio de 2015. Consultado el 9 de marzo de 2016 .
  5. "The Delphi Geek: Diseñado para la velocidad" . Archivado del original el 23 de marzo de 2016. Consultado el 9 de marzo de 2016 .
  6. "Discusión en Hacker News sobre la continuidad de Delphi" . Hacker News. Archivado del original el 2 de julio de 2016. Consultado el 9 de marzo de 2016 .
  7. "Delphi: Ediciones de productos para el desarrollo de aplicaciones" . Embarcadero . Archivado del original el 14 de marzo de 2021. Consultado el 13 de marzo de 2021 .Con enlace de descarga para la matriz de características de Delphi
  8. "Recuerdos sobre el desarrollo de Pascal" (PDF) . Archivado (PDF) del original el 12 de mayo de 2016. Consultado el 12 de enero de 2016 .
  9. ^ Lingfeng Wang; Kay CHen Tan (20 de enero de 2006). Diseño de software de automatización industrial moderno . John Wiley e hijos. págs.113– . ISBN  978-0-471-77627-7.
  10. "Lista de características del lenguaje Delphi y versión en la que se introdujeron/dejaron de ser útiles" . Stack Overflow. Archivado del original el 28 de febrero de 2016. Consultado el 9 de marzo de 2016 .
  11. Redactor (3 de febrero de 2016). "Embarcadero Delphi, elegido como lenguaje de programación preferido por las escuelas sudafricanas" . Archivado del original el 31 de marzo de 2022. Consultado el 17 de marzo de 2022 .
  12. "Comentario del gerente de proyecto sobre la hoja de ruta de RAD Studio de noviembre de 2020" . blogs.embarcadero.com. 17 de noviembre de 2020. Archivado del original el 28 de noviembre de 2020. Consultado el 27 de noviembre de 2020 .
  13. "Borland Enterprise Studio" . Archivado del original el 5 de febrero de 2002. Consultado el 5 de febrero de 2002 .
  14. "¡Kylix está aquí!" . Archivado del original el 4 de septiembre de 2019. Consultado el 5 de septiembre de 2020 .
  15. "Página principal de Free Pascal" . freepascal.org. Archivado del original el 25 de enero de 1999. Consultado el 27 de abril de 2016 .
  • Sitio web oficialEdita esto en Wikidata