Ícono del sitio Embarcadero RAD Studio, Delphi, & C++Builder Blogs

Delphi proporciona viabilidad a largo plazo sobre WPF .NET Framework en constante cambio y al final de su vida útil

wp1 long term

¿Cómo funcionan Delphi, WPF .NET Framework y Electron en comparación entre sí, y cuál es la mejor manera de hacer una comparación objetiva? Embarcadero encargó un documento técnico para investigar las diferencias entre Delphi, WPF .NET Framework y Electron para crear aplicaciones de escritorio de Windows. La aplicación de referencia, un clon de la Calculadora de Windows 10, fue recreada en cada marco por tres voluntarios de Delphi Most Valuable Professionals (MVP), un desarrollador experto independiente de WPF y un desarrollador experto independiente Electron. En esta publicación de blog, vamos a explorar la métrica de viabilidad a largo plazo, que es parte de la comparación de funcionalidad utilizada en el documento técnico.

Viabilidad a largo plazo

Cuando las empresas eligen Delphi como su marco de desarrollo, están invirtiendo en un marco propietario (que incluye el código fuente de la biblioteca en tiempo de ejecución) con costos iniciales y una tarifa de actualización anual opcional. Por este costo, obtienen un marco estable, compatible con versiones anteriores y en crecimiento, y pueden estar seguros de que las aplicaciones desarrolladas hoy serán compatibles y se mantendrán en el futuro.

Windows Presentation Foundation con .NET Framework ofrece a las empresas un marco económico con el respaldo total de Microsoft, pero incluye todos los desafíos que inducen las elecciones de Microsoft. WPF tiene una historia más corta que Delphi, pero fue de código abierto en 2018, lo que podría darle a alguna versión una perspectiva brillante a largo plazo a pesar de sus vínculos con el .NET Framework propietario para la mayoría de los desarrollos de Windows. .NET Framework 4.8 fue la última versión el 18 de abril de 2019 según Microsoft.

Electron es una plataforma gratuita de código abierto que ofrece a las empresas la oportunidad de desarrollar aplicaciones desde cualquier sistema operativo importante. Sin embargo, el futuro de Electron es incierto. El proyecto Electron está dirigido por GitHub, que ahora es una subsidiaria de Microsoft. Es el más nuevo de los tres marcos y aún está en su fase de luna de miel. Carece de un IDE nativo, lo que brinda a las empresas una opción, pero también elimina algunas comodidades como la compilación integrada y las bibliotecas de prueba incluidas. Las empresas que desarrollan herramientas internas tendrían más dificultades con Electron que con los otros marcos.

Echemos un vistazo a cada marco.

Delphi

Delphi ha estado creciendo, madurando y expandiéndose desde 1995. Su desarrollo mantiene la compatibilidad con versiones anteriores en la medida en que una aplicación de 1995 se puede migrar a la versión actual de Delphi con cambios mínimos. La documentación completa ayuda al mantenimiento, y un equipo de soporte completo está disponible para ayudar con la actualización, la migración o la resolución de problemas. En el momento de escribir este artículo, la última versión de Delphi está disponible en RAD Studio 10.4.1 Sydney, que se lanzó el 2 de septiembre de 2020. ¿Desea obtener más información? Consulte las notas de la versión de muchas versiones de Delphi .

Para algo de contexto en la línea de tiempo del lenguaje de programación, C ++ salió en 1983, Python salió en 1991, Java salió en 1995, PHP salió en 1995, JavaScript salió en 1995 y Delphi salió en 1995. 1995 fue un año de nacimiento para muchos de estos lenguajes de programación, como puede ver. El sitio web del aniversario de Delphi contiene una línea de tiempo de lanzamiento de Delphi desde 1995 hasta el presente. A continuación, se incluye un extracto de la cronología de los lanzamientos de los últimos 25 años.


DELPHI 1 – 14 DE FEBRERO DE 1995

Compatibilidad con Windows 3.1 de 16 bits, herramientas visuales bidireccionales, componentes / VCL, compatibilidad con bases de datos a través de enlaces BDE y SQL, datos de bases de datos en vivo en tiempo de diseño

DELPHI 2 (1996)

Compatibilidad con Windows 95 de 32 bits, cuadrícula de base de datos, automatización OLE, herencia de formas visuales, cadenas largas, Delphi 1 incluido para 16 bits

DELPHI 3 (1997)

Interfaces (basadas en COM), Code Insight, Plantillas de componentes, Depuración de DLL, WebBroker, ActiveForms, Paquetes de componentes, Arquitectura de varios niveles MIDAS

DELPHI 4 (1998)

Acoplamiento, anclajes y restricciones, sobrecarga de métodos, matrices dinámicas, compatibilidad con Windows 98  

DELPHI 5 (1999)

Diseños de escritorio, marcos, compatibilidad con XML, DBGo para ADO, traducciones de idiomas  

DELPHI 6 (2001)

Ventana de estructura, servicios web SOAP, dbExpress, BizSnap, WebSnap, DataSnap   

DELPHI 7 (2002)

Desarrollo de aplicaciones web, temas de Windows XP          

DELPHI 8 (2003)

Soporte .NET                                            

DELPHI 2005 (2004)

Espacios de nombres de unidades múltiples, Insight de errores, Ficha Historial, for..in, Función en línea, IDE habilitado para temas, Refactorizaciones, Comodín en declaración de usos, Explorador de datos, Pruebas unitarias integradas     

DELPHI 2006 (2005)

Sobrecarga del operador, métodos y propiedades estáticos, pautas del diseñador, vista del posicionador de formularios, plantillas de código en vivo, finalización de bloques, números de línea, barras de cambio, edición sincronizada, plegado de código y navegación de métodos, sugerencias de herramientas de depuración, paleta de herramientas de búsqueda, administrador de memoria FastMM , Soporte para MySQL, Soporte Unicode en dbExpress, TTrayIcon, TFlowPanel, TGridPanel

DELPHI 2007 (2006)

MS Build, Build Events, Build Configurations, Windows Vista support – glassing, tematización, dbExpress 4 – agrupación de conexiones, controladores delegados, ventanas de visor de CPU, mejoras de FastCode, compatibilidad con IntraWeb / AJAX, página de bienvenida, Sim-ship de inglés, francés, alemán , Japonés

DELPHI 2009 (2008)

Unicode, genéricos, métodos anónimos, controles de cinta, DataSnap, configuraciones de compilación, explorador de clases, ventana del editor de biblioteca de tipos, compatibilidad con PNG                           

DELPHI 2010 (2009)

Atributos, RTTI mejorado, lienzo Direct2D, compatibilidad con Windows 7, toque / gestos, formateador de código fuente, puntos de interrupción específicos de subprocesos, visualizadores de depurador, unidad IOUtils para archivos, rutas y directorios, auditorías y métricas de código fuente, compilación en segundo plano, código fuente para MIDAS. DLL

DELPHI XE (2010)

Biblioteca de expresiones regulares, integración de Subversion, dbExpress –Filtros, autenticación, generación de proxy, marco de JavaScript, compatibilidad con REST, Indy WebBroker, Cloud – Amazon EC2, Microsoft Azure, grupos de compilación, subprocesos con nombre en el depurador, auditorías de línea de comandos, generación de métricas y documentación

DELPHI XE2 (2011)

Windows de 64 bits, Mac OSX, FireMonkey, Live Bindings: FireMonkey y VCL, estilos de VCL, nombres de alcance de unidad, asistente de plataforma, DataSnap: conectores para dispositivos móviles, API en la nube, compatibilidad con HTTPS, supervisión de TCP, compatibilidad con dbExpress para controladores ODBC, implementación Gerente

DELPHI XE3 (2012)

Interfaz de usuario de Metropolis para Windows 8, 7, Vista y XP, acciones FM, toque / gestos, diseños y anclajes, soporte FM para estilos de mapa de bits, fuente de material TM para componentes FM 3D, audio / video FM, soporte VCL / FM para dispositivos sensores, FM Componente del sensor de ubicación, compatibilidad con teclado virtual, compatibilidad con DirectX 10

DELPHI XE4 (ABRIL DE 2013)

Compatibilidad con iOS: dispositivo, simulador, tienda de aplicaciones iOS, compatibilidad con iOS para pantallas estándar y retina, estilos iOS, estilos retina, teclados virtuales, diseñador de formularios móviles, componente TWebBrowser, iOS ARC (recuento automático de referencias) para todas las clases TObject, servicios de plataforma, Notificaciones, componentes de sensor de ubicación, movimiento y orientación, componente TListView, compatibilidad con pantalla completa de Mac OSX, administrador de implementación para dispositivos iOS, componentes de acceso universal a datos FireDAC, InterBase – IBLite e IBToGo

DELPHI XE5 (SEPTIEMBRE DE 2013)

Compatibilidad con Android: dispositivos y emulador. Versiones del sistema operativo: Jelly Bean, Ice Cream Sandwich y Gingerbread, componente de notificación, compatibilidad con el estilo iOS 7, diseñador de formularios configurable para dispositivos móviles, administrador de implementación para dispositivos Android, componentes de autenticación y acceso de cliente de servicios REST, compatibilidad con Android para todos los XE4 FM y las características de la base de datos enumeradas anteriormente

DELPHI XE6 (ABRIL DE 2014)

Estilos Windows 7 y 8.1, Acceso a servicios WEB RESTful basados ​​en la nube, FireDAC Compatible con más bases de datos, Soporte InterBase totalmente integrado                           

DELPHI XE7 (SEPTIEMBRE DE 2014)

Las aplicaciones de dispositivos múltiples de FireMonkey son compatibles con plataformas de escritorio y móviles, base de datos integrable IBLite para Windows, Mac, Android e iOS, compatibilidad con múltiples pantallas, compatibilidad con múltiples toques y cambios de gestos, modo inmersivo de pantalla completa para Android, FireMonkey admite la función Pull- Función de actualización para TListView en iOS y Android, función de estado de guardado de FireMonkey

DELPHI XE8 (ABRIL DE 2015)

GetIt Package Manager, mejoras de FireDAC, nueva barra de herramientas de la comunidad de Embarcadero, presentación nativa de TListView, TSwitch, TMemo, TCalendar, TMultiView y TEdit en iOS, mapas interactivos, nuevas opciones para la biblioteca de medios, InputQuery ahora admite campos de entrada de enmascaramiento

DELPHI 10 ‘SEATTLE’ (AGOSTO 2015)

Compatibilidad con los servicios en segundo plano de Android, compatibilidad con FireDAC para la base de datos NoSQL MongoDB, FireMonkey controla la compatibilidad con zOrder para Windows, nueva clase TBeaconDevice para convertir un dispositivo en una de las plataformas compatibles en una “baliza”, StyleViewer para Windows 10 Style in Bitmap Style Designer, High -Conciencia de DPI y soporte para monitores 4K, estilos de Windows 10, soporte para servicios de Android en el IDE, soporte para llamar a las API de WinRT

DELPHI 10.1 ‘BERLÍN’ (ABRIL DE 2016)

Compatibilidad con Android 6.0, compatibilidad con Windows Desktop Bridge, libreta de direcciones para iOS y Android, nuevo diseñador de elementos ListView, nuevo control CalendarView, QuickEdits para VCL, compatibilidad con alto DPI en Windows, cambios en las propiedades de sugerencias, compatibilidad con EMS Apache Server, instalador web basado en GetIt

DELPHI 10.2 ‘TOKIO’ (MARZO DE 2017)

Compatibilidad con Linux de 64 bits para Delphi, FireDAC proporciona compatibilidad con Linux para todos los DBMS compatibles con Linux, compatibilidad con MariaDB (v5.5), compatibilidad con MySQL para v5.7 y compatibilidad con Firebird para E / S directa, QuickEdits para FMX, nuevos controles VCL para Windows 10, IDE Look & Feel actualizado (tema oscuro), licencia de implementación de servidor RAD incluida

DELPHI 10.3 ‘RIO’ (NOVIEMBRE 2018)

C ++ 17 para Win32, nuevas funciones del lenguaje Delphi, FireMonkey Android zOrder, controles nativos y API nivel 26, mejoras en Windows 10, VCL y HighDPI, amplia modernización de la interfaz de usuario de IDE, extensión de la arquitectura del servidor RAD, mejoras de calidad y rendimiento

DELPHI 10.3.1 ‘RIO’ (FEBRERO 2019)

Soporte ampliado para dispositivos de la serie iOS 12 y iPhone X. Rediseño de la interfaz de usuario de la consola del servidor RAD y migración al marco Ext JS (disponible a través de GetIt). Compatibilidad mejorada con FireDAC para Firebird 3.0.4 y Firebird integrado. Mejoras en la biblioteca cliente HTTP y SOAP en Windows. Dos nuevas herramientas de productividad IDE: marcadores y navegador. 15 nuevos estilos VCL personalizados de Windows y FireMonkey multidispositivo.

DELPHI 10.3.2 ‘RIO’ (JULIO 2019)

Delphi macOS de 64 bits, C ++ 17 para Windows de 64 bits, mejoras de C ++ LSP Code Insight, asistentes de servidor RAD y mejoras de implementación, compatibilidad mejorada con Firebase Android, compatibilidad con aplicaciones de cliente Delphi Linux

DELPHI 10.3.3 ‘RIO’ (NOVIEMBRE 2019)

Compatibilidad con Delphi Android de 64 bits, compatibilidad con iOS 13 y macOS Catalina (Delphi), implementación de Docker de servidor RAD, conectores empresariales en Enterprise & Architect Edition

DELPHI 10.4 ‘SYDNEY’ (MAYO DE 2020)

Compatibilidad con Windows nativa de alto rendimiento significativamente mejorada, mayor productividad con finalización de código ultrarrápida, código más rápido con registros administrados y tareas paralelas mejoradas en CPU modernas de múltiples núcleos, más de 1000 mejoras de calidad y rendimiento, y mucho más.

DELPHI 10.4.1 ‘SYDNEY’ (SEPTIEMBRE 2020)

RAD Studio 10.4.1 tiene un fuerte enfoque en las mejoras de calidad para IDE, Delphi Code Insight (LSP), Parallel Library, SOAP & XML, C ++ Toolchain, FireMonkey, VCL, Delphi Compiler e iOS Deployment.

WPF .NET Framework

Lanzado en 2006, WPF se ha desarrollado junto con .NET framework. Fue de código abierto por Microsoft en 2018 y ha proporcionado varias hojas de ruta que indican el compromiso y el crecimiento de la comunidad en el futuro cercano. Los cambios significativos en .NET y las decisiones de diseño cambiantes de Microsoft afectan la viabilidad a largo plazo de WPF. WPF .NET Framework 4.8 fue la versión final de .NET Framework según Microsoft y se lanzó el 18 de abril de 2019.

WPF se introdujo en .NET Framework 3.0 en 2006. Según un artículo del sitio web CodeProject, las versiones y mejoras de WPF se enumeran en esta tabla:

WPF Version Release (YYYY-MM) .NET Version Visual Studio Version Major Features
3.0 2006-11 3.0 N/A Initial Release.
WPF development can be done with VS 2005 (released in Nov 2005) too with few additions.
3.5 2007-11 3.5 VS 2008 Changes and improvements in:
Application model, data binding, controls, documents, annotations, and 3-D UI elements.
3.5 SP1 2008-08 3.5 SP1 N/A Native splash screen support, New WebBrowser control, DirectX pixel shader support.
Faster startup time and improved performance for Bitmap effects.
4.0 2010-04 4.0 VS 2010 New controls: Calendar, DataGrid, and DatePicker.
Multi-Touch and Manipulation
4.5 2012-08 4.5 VS 2012 New Ribbon control
New INotifyDataErrorInfo interface
4.5.1 2013-10 4.5.1 VS 2013 No Major Change
4.5.2 2014-05 4.5.2 N/A No Major Change
4.6 2015-07 4.6 VS 2015 Transparent child window support
HDPI and Touch improvements

El siguiente es un extracto de la página del historial de versiones de .NET Framework de Wikipedia para .NET Framework 4.6.1 a 4.8.

.NET Framework 4.6.1: el lanzamiento de .NET Framework 4.6.1 se anunció el 30 de noviembre de 2015. Esta versión requiere Windows 7 SP1 o posterior. Las nuevas funciones y API incluyen:

.NET Framework 4.6.2: la versión preliminar de .NET Framework 4.6.2 se anunció el 30 de marzo de 2016. Se lanzó el 2 de agosto de 2016. Esta versión requiere Windows 7 SP1 o posterior.

.NET Framework 4.7: el 5 de abril de 2017, Microsoft anunció que .NET Framework 4.7 se integró en Windows 10 Creators Update, prometiendo un instalador independiente para otras versiones de Windows. En esta fecha, se lanzó una actualización para Visual Studio 2017 para agregar compatibilidad con la orientación de .NET Framework 4.7. El instalador independiente prometido para Windows 7 y versiones posteriores se lanzó el 2 de mayo de 2017, pero tenía requisitos previos no incluidos en el paquete.

.NET Framework 4.7.1 – .NET Framework 4.7.1 se lanzó el 17 de octubre de 2017. Entre las correcciones y nuevas características, corrige un problema de dependencia de d3dcompiler. También agrega compatibilidad con .NET Standard 2.0 listo para usar.

.NET Framework 4.7.2 – .NET Framework 4.7.2 se lanzó el 30 de abril de 2018. Entre los cambios se encuentran mejoras en ASP.NET, BCL, CLR, ClickOnce, Redes, SQL, WCF, Windows Forms, Workflow y WPF. Esta versión se incluye con Server 2019.

.NET Framework 4.8 – .NET Framework 4.8 se lanzó el 18 de abril de 2019. Era la versión final de .NET Framework, todo el trabajo futuro se dirigirá a la plataforma .NET Core que eventualmente se convertirá en .NET 5 en adelante. Esta versión incluyó mejoras de JIT portadas desde .NET Core 2.1, mejoras de alto DPI para aplicaciones WPF, mejoras de accesibilidad, actualizaciones de rendimiento y mejoras de seguridad. Admite Windows 7, Server 2008 R2, Server 2012, 8.1, Server 2012 R2, 10, Server 2016 y Server 2019 y también se envía como una imagen de contenedor de Windows. La versión más reciente es 4.8.0 Build 3928, lanzada el 25 de julio de 2019 con un tamaño de instalación sin conexión de 111 MB y una fecha de firma digital del 25 de julio de 2019.

-WIKIPEDIA

Electrón

Lanzado en 2013, Electron es desarrollado y mantenido activamente por GitHub y rápidamente ha brindado soporte para tecnologías emergentes como Apple Silicon (alrededor de noviembre de 2020). Carece de la historia y la longevidad estable necesarias para determinar si las aplicaciones de Electron creadas en 2020 sobrevivirán hasta 2030. GitHub es una subsidiaria de Microsoft. Electron ofrece una alternativa gratuita a Delphi y WPF, familiaridad para los desarrolladores front-end y capacidad multiplataforma a costa de la protección IP, las herramientas IDE estándar y el rendimiento de la aplicación.

De acuerdo con la línea de tiempo de lanzamiento de electrones (https://www.electronjs.org/docs/tutorial/electron-timelines) aquí están los lanzamientos.

.

Version -beta.1 Stable Chrome Node
2.0.0 2018-02-21 2018-05-01 M61 v8.9
3.0.0 2018-06-21 2018-09-18 M66 v10.2
4.0.0 2018-10-11 2018-12-20 M69 v10.11
5.0.0 2019-01-22 2019-04-24 M73 v12.0
6.0.0 2019-05-01 2019-07-30 M76 v12.4
7.0.0 2019-08-01 2019-10-22 M78 v12.8
8.0.0 2019-10-24 2020-02-04 M80 v12.13
9.0.0 2020-02-06 2020-05-19 M83 v12.14
10.0.0 2020-05-21 2020-08-25 M85 v12.16
11.0.0 2020-08-27 2020-11-17 M87 v12.18
12.0.0 2020-11-19 2021-03-02 M89 v14.x

Delphi ofrece la perspectiva a largo plazo más segura, la mejor seguridad de propiedad intelectual y la personalización interna más sencilla al costo de una única compra de licencia comercial. La barrera de entrada de WPF es más baja y ofrece mejores opciones de accesibilidad, pero está sujeta a las revisiones de .NET de Microsoft, es más difícil de personalizar y se puede descompilar con facilidad. Electron es absolutamente gratuito y se puede desarrollar en cada una de las tres principales plataformas de escritorio, pero paga por esa flexibilidad a través de su perspectiva incierta a largo plazo y confiando en los patrocinios corporativos y el apoyo de la comunidad para un desarrollo adicional.

Explore todas las métricas en el documento técnico “Descubriendo el mejor marco para desarrolladores a través de la evaluación comparativa”:

Descargue el documento técnico gratuito de Delphi vs.WPF vs.Electron para equipos de escritorio con Windows

Salir de la versión móvil