![wp1longterm | Embarcadero RAD Studio Delphi C++Builder Blogs wp1 long term](https://i0.wp.com/blogs.embarcadero.com/wp-content/uploads/2021/01/wp1_long_term-8967855-8073746.jpg?resize=1140%2C628&ssl=1)
Как работают Delphi, WPF .NET Framework и Electron по сравнению друг с другом и как лучше всего провести объективное сравнение? Embarcadero заказал технический документ для исследования различий между Delphi, WPF .NET Framework и Electron для создания настольных приложений Windows. Тестовое приложение — клон калькулятора Windows 10 — было воссоздано в каждой структуре тремя волонтерами Delphi Most Valuable Professionals (MVP), одним экспертом-фрилансером WPF-разработчиком и одним экспертом-фрилансером Electron. В этом сообщении блога мы собираемся изучить метрику долгосрочной осуществимости, которая является частью сравнения функциональности, используемого в техническом документе.
![calc | Embarcadero RAD Studio Delphi C++Builder Blogs calc](https://i0.wp.com/blogs.embarcadero.com/wp-content/uploads/2021/01/calc-8541990.png?resize=509%2C462&ssl=1)
Table of Contents
Долгосрочная осуществимость
Когда предприятия выбирают Delphi в качестве среды разработки, они вкладывают средства в проприетарную среду (которая включает исходный код библиотеки времени выполнения) с предоплатой и дополнительной ежегодной платой за обновление. За эту цену они получают стабильную, обратно совместимую и растущую структуру и могут быть уверены, что приложения, разработанные сегодня, будут поддерживаться и обслуживаться в будущем.
Windows Presentation Foundation с .NET Framework предлагает предприятиям экономичную структуру при полной поддержке Microsoft, но включает в себя все проблемы, которые порождает выбор Microsoft. У WPF более короткая история, чем у Delphi, но он был открыт в 2018 году, что может дать некоторым его версиям блестящие долгосрочные перспективы, несмотря на его связь с проприетарной .NET Framework для большинства разработок Windows. По данным Microsoft, .NET Framework 4.8 был последним выпуском 18 апреля 2019 года.
Electron — это бесплатная платформа с открытым исходным кодом, предлагающая компаниям возможность разрабатывать приложения из любой основной операционной системы. Однако будущее Electron’а остается неопределенным. Проект Electron управляется GitHub, который сейчас является дочерней компанией Microsoft. Это новейший из трех фреймворков, который все еще находится на этапе своего медового месяца. В нем отсутствует собственная среда IDE, что дает предприятиям выбор, но при этом исключает некоторые удобства, такие как встроенная компиляция и включенные библиотеки тестирования. Компаниям, разрабатывающим собственные инструменты, будет сложнее использовать Electron, чем другие фреймворки.
![wp1feasibilitybadge | Embarcadero RAD Studio Delphi C++Builder Blogs wp1 feasibility badge](https://i0.wp.com/blogs.embarcadero.com/wp-content/uploads/2021/01/wp1_feasibility_badge-9766890.png?resize=423%2C580&ssl=1)
Давайте посмотрим на каждый фреймворк.
Delphi
Delphi растет, развивается и расширяется с 1995 года. Его разработка поддерживает обратную совместимость до такой степени, что приложение 1995 года может быть перенесено на текущую версию Delphi с минимальными изменениями. Полная документация помогает в обслуживании, а полная группа поддержки доступна для помощи в обновлении, миграции или устранении неполадок. На момент написания этой статьи последняя версия Delphi доступна в RAD Studio 10.4.1 Sydney, выпущенном 2 сентября 2020 г. Хотите узнать больше? Ознакомьтесь с примечаниями к выпуску многих версий Delphi .
Для некоторого контекста временной шкалы языка программирования C ++ вышел в 1983 году, Python вышел в 1991 году, Java вышел в 1995 году, PHP вышел в 1995 году, JavaScript вышел в 1995 году, а Delphi вышел в 1995 году. 1995 год был годом рождения. для многих из этих языков программирования, как вы можете видеть. Юбилейный веб-сайт Delphi содержит график выпуска Delphi с 1995 года по настоящее время. Вот выдержка из графика релизов за последние 25 лет.
ДЕЛЬФИ 1 — 14 ФЕВРАЛЯ 1995 ГОДА.
Поддержка 16-битной Windows 3.1, двусторонние визуальные инструменты, компоненты / VCL, поддержка базы данных через BDE и SQL Links, данные базы данных в реальном времени во время разработки
ДЕЛФИ 2 (1996)
Поддержка 32-битной Windows 95, Database Grid, OLE-автоматизация, Наследование визуальных форм, Длинные строки, Включенный Delphi 1 для 16-битных
ДЕЛФИ 3 (1997)
Интерфейсы (на основе COM), анализ кода, шаблоны компонентов, отладка DLL, WebBroker, ActiveForms, пакеты компонентов, многоуровневая архитектура MIDAS
ДЕЛФИ 4 (1998)
Пристыковка, привязки и ограничения, перегрузка методов, динамические массивы, поддержка Windows 98
ДЕЛФИ 5 (1999)
Макеты рабочего стола, фреймы, поддержка XML, DBGo для ADO, языковые переводы
ДЕЛФИ 6 (2001)
Окно структуры, веб-службы SOAP, dbExpress, BizSnap, WebSnap, DataSnap
ДЕЛФИ 7 (2002)
Разработка веб-приложений, темы Windows XP
ДЕЛФИ 8 (2003)
Поддержка .NET
ДЕЛФИ 2005 (2004)
Пространства имен с несколькими модулями, анализ ошибок, вкладка истории, for..in, встраивание функций, IDE с поддержкой тем, рефакторинг, подстановочный знак в операторе использования, проводник данных, интегрированное модульное тестирование
ДЕЛФИ 2006 (2005)
Перегрузка оператора, Статические методы и свойства, Рекомендации дизайнера, Представление позиционера формы, Шаблоны динамического кода, Завершение блоков, Номера строк, Панели изменений, Синхронизация-редактирование, Сворачивание кода и навигация по методам, Подсказки для отладки, Палитра инструментов с возможностью поиска, Диспетчер памяти FastMM , Поддержка MySQL, Поддержка Unicode в dbExpress, TTrayIcon, TFlowPanel, TGridPanel
ДЕЛФИ 2007 (2006)
Сборка MS, события сборки, конфигурации сборки, поддержка Windows Vista — стекло, тематика, dbExpress 4 — пул соединений, делегированные драйверы, окна просмотра ЦП, улучшения FastCode, поддержка IntraWeb / AJAX, страница приветствия, Sim-ship of English, French, German , Японский
ДЕЛФИ 2009 (2008)
Юникод, универсальные шаблоны, анонимные методы, элементы управления на ленте, DataSnap, конфигурации сборки, обозреватель классов, окно редактора библиотеки типов, поддержка PNG
ДЕЛФИ 2010 (2009)
Атрибуты, улучшенный RTTI, холст Direct2D, поддержка Windows 7, касания / жесты, форматирование исходного кода, точки останова для конкретных потоков, визуализаторы отладчика, модуль IOUtils для файлов, путей и каталогов, аудит и показатели исходного кода, фоновая компиляция, исходный код для MIDAS. DLL
DELPHI XE (2010 г.)
Библиотека регулярных выражений, интеграция Subversion, dbExpress –Filters, аутентификация, ProxyGeneration, JavaScript Framework, поддержка REST, Indy WebBroker, Cloud — Amazon EC2, Microsoft Azure, группы сборки, именованные потоки в отладчике, аудит командной строки, создание метрик и документации
DELPHI XE2 (2011 г.)
64-битная Windows, Mac OSX, FireMonkey, Live Bindings — FireMonkey и VCL, стили VCL, имена областей единиц, помощник по платформе, DataSnap — коннекторы для мобильных устройств, облачный API, поддержка HTTPS, мониторинг TCP, поддержка dbExpress для драйверов ODBC, развертывание Управляющий делами
DELPHI XE3 (2012 г.)
Пользовательский интерфейс Metropolis для Windows 8, 7, Vista и XP, действия FM, касания / жесты, макеты и привязки, поддержка FM для стилей растровых изображений, источник материала для 3D-компонентов FM, аудио / видео FM, поддержка VCL / FM для сенсорных устройств, FM Компонент датчика местоположения, поддержка виртуальной клавиатуры, поддержка DirectX 10
DELPHI XE4 (АПРЕЛЬ 2013)
Поддержка iOS — устройство, симулятор, магазин приложений iOS, поддержка iOS для стандартных дисплеев и дисплеев Retina, стили iOS, стили Retina, виртуальные клавиатуры, конструктор мобильных форм, компонент TWebBrowser, iOS ARC (автоматический подсчет ссылок) для всех классов TObject, сервисы платформы, Уведомления, компоненты датчиков местоположения, движения и ориентации, компонент TListView, полноэкранная поддержка Mac OSX, диспетчер развертывания для устройств iOS, компоненты универсального доступа к данным FireDAC, InterBase — IBLite и IBToGo
DELPHI XE5 (СЕНТЯБРЬ 2013)
Поддержка Android — устройства и эмулятор. Версии ОС: Jelly Bean, Ice Cream Sandwich и Gingerbread, компонент уведомления, поддержка стиля iOS 7, настраиваемый конструктор форм для мобильных устройств, менеджер развертывания для устройств Android, компоненты доступа и аутентификации клиентов REST Services, поддержка Android для всех XE4 FM и функции базы данных, перечисленные выше
DELPHI XE6 (АПРЕЛЬ 2014)
Стили Windows 7 и 8.1, доступ к облачным базам RESTful WEB Services, FireDAC Совместимость с большим количеством баз данных, Полностью интегрированная поддержка InterBase
DELPHI XE7 (СЕНТЯБРЬ 2014)
Приложения FireMonkey для нескольких устройств поддерживают как настольные, так и мобильные платформы, встраиваемую базу данных IBLite для Windows, Mac, Android и iOS, поддержку нескольких дисплеев, поддержку нескольких касаний и изменение жестов, полноэкранный иммерсивный режим для Android, FireMonkey поддерживает вытягивание. Функция обновления для TListView на iOS и Android, функция сохранения состояния FireMonkey
DELPHI XE8 (АПРЕЛЬ 2015)
GetIt Package Manager, улучшения FireDAC, новая панель инструментов сообщества Embarcadero, встроенная презентация TListView, TSwitch, TMemo, TCalendar, TMultiView и TEdit на iOS, интерактивные карты, новые параметры для библиотеки мультимедиа, InputQuery теперь поддерживает маскирование полей ввода
ДЕЛФИ 10 ‘СИЭТЛ’ (АВГУСТ 2015)
Поддержка фоновых служб Android, поддержка FireDAC для базы данных NoSQL MongoDB, FireMonkey контролирует поддержку zOrder для Windows, новый класс TBeaconDevice для превращения устройства на одной из поддерживаемых платформ в «маяк», StyleViewer для стиля Windows 10 в конструкторе стилей растровых изображений, высокий -DPI-осведомленность и поддержка мониторов 4K, стили Windows 10, поддержка служб Android в среде IDE, поддержка вызова API-интерфейсов WinRT
DELPHI 10.1 ‘BERLIN’ (АПРЕЛЬ 2016)
Поддержка Android 6.0, поддержка Windows Desktop Bridge, адресная книга для iOS и Android, новый конструктор элементов ListView, новый элемент управления CalendarView, QuickEdits для VCL, поддержка высокого разрешения в Windows, изменение свойств подсказки, поддержка сервера EMS Apache, веб-установщик на основе GetIt
DELPHI 10.2 ‘TOKYO’ (МАРТ 2017)
64-битная поддержка Linux для Delphi, FireDAC обеспечивает поддержку Linux для всех СУБД с поддержкой Linux, поддержка MariaDB (v5.5), поддержка MySQL для v5.7 и поддержка Firebird для прямого ввода-вывода, QuickEdits для FMX, новых элементов управления VCL для Windows 10, обновленный внешний вид IDE (темная тема), лицензия на развертывание RAD Server включена
DELPHI 10.3 ‘RIO’ (НОЯБРЬ 2018)
C ++ 17 для Win32, новые возможности языка Delphi, FireMonkey Android zOrder, собственные элементы управления и уровень API 26, Windows 10, улучшения VCL и HighDPI, расширенная модернизация пользовательского интерфейса IDE, расширение архитектуры RAD Server, улучшения качества и производительности
DELPHI 10.3.1 ‘RIO’ (ФЕВРАЛЬ 2019)
Расширенная поддержка устройств серии iOS 12 и iPhone X. Редизайн пользовательского интерфейса консоли RAD Server и переход на платформу Ext JS (доступно через GetIt). Улучшена поддержка FireDAC для Firebird 3.0.4 и встроенных Firebird. Улучшения клиентской библиотеки HTTP и SOAP в Windows. Два новых инструмента повышения производительности IDE: закладки и навигатор. 15 новых пользовательских стилей VCL Windows и Multi-Device FireMonkey.
DELPHI 10.3.2 ‘RIO’ (ИЮЛЬ 2019)
64-разрядная версия Delphi macOS, C ++ 17 для 64-разрядной версии Windows, Улучшения C ++ LSP Code Insight, Мастера RAD Server и улучшения развертывания, Расширенная поддержка Firebase Android, Поддержка клиентских приложений Delphi Linux
DELPHI 10.3.3 ‘RIO’ (НОЯБРЬ 2019)
Поддержка 64-разрядной версии Delphi Android, поддержка iOS 13 и macOS Catalina (Delphi), развертывание RAD Server Docker, корпоративные соединители в версии Enterprise и Architect Edition
DELPHI 10.4 ‘СИДНЕЙ’ (МАЙ 2020)
Значительно улучшенная высокопроизводительная встроенная поддержка Windows, повышенная производительность благодаря невероятно быстрому завершению кода, более быстрый код с управляемыми записями и расширенные параллельные задачи на современных многоядерных процессорах, более 1000 улучшений качества и производительности и многое другое.
DELPHI 10.4.1 ‘СИДНЕЙ’ (СЕНТЯБРЬ 2020)
RAD Studio 10.4.1 уделяет большое внимание улучшению качества IDE, Delphi Code Insight (LSP), параллельной библиотеки, SOAP и XML, C ++ Toolchain, FireMonkey, VCL, компилятора Delphi и развертывания iOS.
WPF .NET Framework
Выпущенный в 2006 году, WPF разрабатывался вместе с платформой .NET. Он был открыт Microsoft в 2018 году и предоставил несколько дорожных карт, указывающих на участие сообщества и рост в ближайшем будущем. Существенные изменения .NET и меняющиеся проектные решения Microsoft влияют на долгосрочную осуществимость WPF. WPF .NET Framework 4.8 была последней версией .NET Framework по версии Microsoft и была выпущена 18 апреля 2019 года.
WPF был представлен в .NET Framework 3.0 в 2006 году. Согласно статье на веб-сайте CodeProject версии и улучшения WPF перечислены в этой таблице:
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 |
Ниже приводится отрывок со страницы истории версий .NET Framework в Википедии для .NET Framework 4.6.1–4.8.
.NET Framework 4.6.1 — 30 ноября 2015 года было объявлено о выпуске .NET Framework 4.6.1. Для этой версии требуется Windows 7 SP1 или более поздняя версия. Новые функции и API включают:
.NET Framework 4.6.2 — предварительная версия .NET Framework 4.6.2 была анонсирована 30 марта 2016 г. Она была выпущена 2 августа 2016 г. Для этой версии требуется Windows 7 с пакетом обновления 1 (SP1) или более поздней версии.
.NET Framework 4.7 — 5 апреля 2017 года Microsoft объявила, что .NET Framework 4.7 интегрирована в Windows 10 Creators Update, пообещав автономный установщик для других версий Windows. В этот день было выпущено обновление для Visual Studio 2017, в которое добавлена поддержка для .NET Framework 4.7. Обещанный автономный установщик для Windows 7 и более поздних версий был выпущен 2 мая 2017 г., но в нем были предварительные условия, не включенные в пакет.
.NET Framework 4.7.1 — .NET Framework 4.7.1 была выпущена 17 октября 2017 г. Среди исправлений и новых функций исправлена проблема зависимости d3dcompiler. Он также добавляет совместимость с .NET Standard 2.0 из коробки.
.NET Framework 4.7.2 — .NET Framework 4.7.2 был выпущен 30 апреля 2018 г. Среди изменений — улучшения в ASP.NET, BCL, CLR, ClickOnce, Networking, SQL, WCF, Windows Forms, Workflow и WPF. Эта версия входит в состав Server 2019.
.NET Framework 4.8 — .NET Framework 4.8 была выпущена 18 апреля 2019 года. Это была последняя версия .NET Framework, вся будущая работа была направлена на платформу .NET Core, которая в конечном итоге станет .NET 5 и новее. В этот выпуск включены улучшения JIT, перенесенные из .NET Core 2.1, улучшения высокого разрешения для приложений WPF, улучшения специальных возможностей, обновления производительности и улучшения безопасности. Он поддерживает Windows 7, Server 2008 R2, Server 2012, 8.1, Server 2012 R2, 10, Server 2016 и Server 2019, а также поставляется в виде образа контейнера Windows. Самый последний выпуск — 4.8.0 Build 3928, выпущенный 25 июля 2019 г., с размером автономного установщика 111 МБ и датой цифровой подписи 25 июля 2019 г.
-ВИКИПЕДИЯ
Электрон
Выпущенный в 2013 году, Electron активно разрабатывается и поддерживается GitHub и быстро обеспечивает поддержку новых технологий, таких как Apple Silicon (около ноября 2020 года). Ему не хватает истории и стабильной долговечности, необходимых для определения того, доживут ли приложения Electron, созданные в 2020 году, до 2030 года. GitHub является дочерней компанией Microsoft. Electron предлагает бесплатную альтернативу Delphi и WPF, знакомство с интерфейсными разработчиками и кроссплатформенные возможности за счет защиты IP, стандартных инструментов IDE и производительности приложений.
Согласно графику выпуска Electron (https://www.electronjs.org/docs/tutorial/electron-timelines), вот выпуски.
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 обеспечивает самые надежные долгосрочные перспективы, лучшую защиту интеллектуальной собственности и простую внутреннюю настройку за счет единовременной покупки коммерческой лицензии. Барьер входа в WPF ниже, и он предлагает лучшие варианты доступности, но подлежит капитальному ремонту Microsoft .NET, его сложнее настраивать и легко декомпилировать. Electron абсолютно бесплатен и может быть разработан на каждой из трех основных настольных платформ, но за эту гибкость платит неопределенная долгосрочная перспектива и полагаясь на корпоративное спонсорство и поддержку сообщества для дополнительных разработок.
Изучите все показатели в техническом документе «Обнаружение лучшей среды разработки с помощью сравнительного анализа»:
Загрузите официальный документ Free Delphi vs. WPF vs. Electron для настольных компьютеров Windows
Design. Code. Compile. Deploy.
Start Free Trial Upgrade Today
Free Delphi Community Edition Free C++Builder Community Edition