Have an amazing solution built in RAD Studio? Let us know. Looking for discounts? Visit our Special Offers page!
DelphiResearch

Мощный встроенный доступ к базе данных ставит Delphi впереди WPF и Electron

wp1 featured db access 2

Как работают Delphi, WPF .NET Framework и Electron по сравнению друг с другом и как лучше всего провести объективное сравнение? Embarcadero заказал технический документ для исследования различий между Delphi, WPF .NET Framework и Electron для создания настольных приложений Windows. Тестовое приложение — клон калькулятора Windows 10 — было воссоздано в каждой структуре тремя волонтерами Delphi Most Valuable Professionals (MVP), одним экспертом-фрилансером WPF-разработчиком и одним экспертом-фрилансером Electron. В этом сообщении блога мы собираемся изучить метрику доступа к базе данных, которая является частью сравнения гибкости, используемого в техническом документе. Сама сборка калькулятора не использует базу данных, поэтому оценки здесь, как правило, относятся к самим фреймворкам.

Доступ к базе данных

Содержит ли фреймворк собственные библиотеки, поддерживающие доступ к базе данных? Сохранение данных имеет решающее значение для многих приложений и должно быть удобным для пользователя и интегрированным с любой хорошей средой разработки.

Основное преимущество Delphi перед WPF и Electron заключается в том, что его структура FMX может развертывать одну часть исходного кода в виде двоичного кода на любой основной настольной или мобильной платформе, максимально увеличивая доступ бизнеса к клиентам и сводя к минимуму дублирование кода и проблемы с обслуживанием / обновлением. Он может поддерживать проекты любого размера, от логических контроллеров для промышленной автоматизации до управления запасами по всему миру, и разрабатываться для каждого уровня — от серверной части с тяжелыми базами данных до клиентской части приложения с графическим интерфейсом. Наконец, стандартные библиотеки Delphi обеспечивают легкий доступ почти ко всем доступным типам баз данных и позволяют разработчикам получать доступ к функциям операционной системы на каждой платформе, а также взаимодействовать с устройствами ввода-вывода и аппаратными датчиками. 

WPF с .NET Framework напрямую нацелен на компьютеры Windows. Платформа в первую очередь ориентирована на клиентские настольные приложения, но может включать бизнес-логику на C # для функций среднего или внутреннего уровня и доступа к ADO .NET Entity Framework для баз данных. WPF может получить доступ к функциям операционной системы Windows и устройствам ввода-вывода через библиотеки .NET, но с управляемым кодом после компиляции, а не с собственным кодом.

Electron — это платформа с открытым исходным кодом, нацеленная на три основные настольные операционные системы через базу браузера Chromium. Он ориентирован на клиентские приложения, обычно веб-ориентированные, но использует node.js для промежуточных и внутренних служб. Electron предоставляет аппаратный доступ из своего процесса node.js и может получить доступ к некоторым, но не всем функциям операционной системы через библиотеки node.js.

wp1 database access

Давайте посмотрим на каждый фреймворк.

Delphi

Delphi поставляется с несколькими библиотеками баз данных, которые подключаются практически ко всем типам баз данных на рынке. Доступ к базе данных, запросы и отображение данных легко интегрируются с помощью компонентов, доступных в бесплатной версии Community Edition и на первом уровне коммерческой лицензии. В то время как Delphi и WPF получили одинаковые оценки в техническом документе, Delphi поставляется с более интегрированной цепочкой инструментов и большим количеством поддерживаемых баз данных.

FireDAC — это универсальная библиотека доступа к данным для разработки приложений для нескольких устройств, подключенных к корпоративным базам данных. Благодаря своей мощной универсальной архитектуре FireDAC обеспечивает собственный высокоскоростной прямой доступ из Delphi и C ++ Builder к InterBase, SQLite, MySQL, SQL Server, Oracle, PostgreSQL, DB2, SQL Anywhere, Advantage DB, Firebird, Access, Informix, DataSnap и многое другое, включая базу данных NoSQL MongoDB.

FireDAC — это мощный, но простой в использовании уровень доступа, который поддерживает, абстрагирует и упрощает доступ к данным, предоставляя все функции, необходимые для создания реальных приложений с высокой нагрузкой. FireDAC предоставляет общий API для доступа к различным серверным компонентам базы данных, не отказываясь от доступа к уникальным функциям, специфичным для базы данных, и без ущерба для производительности. Используйте FireDAC в приложениях Android, iOS, Windows и Mac OS X, которые вы разрабатываете для ПК, планшетов и смартфонов.

 

Ниже вы можете найти список всех баз данных FireDAC, поддерживаемых RAD Studio. Список включает минимальную и максимальную версию, поддерживаемую каждым выпуском RAD Studio.

Database FireDAC driver ID Seattle (10.0) Berlin (10.1) Tokyo (10.2) Rio (10.3) Sydney (10.4)
SAP Advantage Database ADS v 8.0 — 10.1 v 8.0- 12.0 v 8.0 — 12.0 v 8.0 — 12.0 v 8.0 — 12.0
SAP SQL Anywhere ASA v 5.0 — 12.0 v 5.0 — 16.0 v 5.0 — 16.0 v 5.0 — 16.0 v 5.0 — 16.0
IBM DB2 Server DB2 v 8.2 — 9.7 v 8.2 — 9.7 v 8.2 — 9.7 v 8.2 — 9.7 v 8.2 — 9.7
Firebird FB v 1.5 — 2.5 v 1.5 — 2.5 v 1.5 — 2.5 v 1.5 — 3.0 v 1.5 — 3.0
InterBase IB v 6.0 — XE7 v 6.0 — XE7 v 6.0 — 2017 v 6.0 — 2017 v 6.0 — 2020
IBM Informix Infx v 8.0 — 11.7 v 8.0 — 11.7 v 8.0 — 12.1 v 8.0 — 12.1 v 8.0 — 12.1
MongoDB Mongo v 3.0 v 3.0 v 3.0 v 3.0 v 3.0
Microsoft Access MSAcc 95 — 2010 95 — 2010 95 — 2015 95 — 2015 95 — 2015
Microsoft SQL Server MSSQL 2000 — 2008 2000 — 2008 2000 — 2016 2000 — 2017 2000 — 2017
MySQL Server MySQL v 3.21 — 5.5 v 3.21 — 5.6 v 3.21 — 5.7 v 3.21 — 6.x v 3.21 — 8.0
MariaDB MySQL n/a n/a v 5.5 — 10.1 v 5.5 — 10.3 v 5.5 — 10.3
Oracle Server Ora v 8.0 — 11.2 v 8.0 — 12.1 v 8.0 — 12.1 v 8.0 — 12.1 v 8.0 — 12.1
PostgreSQL PG v 7.4 — 9.1 v 7.4 — 9.5 v 7.4 — 9.5 v 7.4 — 10.0 v 7.4 — 12.0
PostgreSQL Enterprise Server PG v 9.2 v 9.2 v 9.2 v 9.2 v 9.2
SQLite SQLite v 3.0 — 3.8.7 v 3.0 — 3.9.2 v 3.0 — 3.9.2 v 3.0 — 3.23.1 v 3.0 — 3.31.1
Teradata TData v 13.0 — 15.0 v 13.0 — 15.0 v 13.0 — 15.0 v 13.0 — 15.0 v 13.0 — 15.0
Generic ODBC sources ODBC v 2.0 — 3.0 v 2.0 — 3.8 v 2.0 — 3.8 v 2.0 — 3.8 v 2.0 — 3.8


Дополнительные подключения к базе данных, протестированные с использованием драйвера FireDAC ODBC Bridge:

Database Version
SAP Adaptive Server Enterprise v 15.0
IBM DB2 AS/400 n/a
QuickBooks v 16.0
InterSystems Cache 2014
Pervasive SQL v 10.0
DBase n/a
Excel n/a
MicroFocus Cobol n/a
Ingres Database n/a
SAP MaxDB n/a
Clarion n/a
SolidDB n/a
Unify SQLBase n/a

Помимо FireDAC, Delphi и RAD Studio имеют обширную стороннюю экосистему, которая предоставляет множество различных коммерческих решений для доступа к базам данных с открытым исходным кодом. Вы даже можете получить доступ к .NET-библиотекам из Delphi и C ++ с помощью сторонних решений, таких как CrossTalk от ATOZED Software .

WPF .NET Framework


WPF поставляется с доступом к библиотекам баз данных, включая ADO .NET Entity Framework, которые позволяют подключаться к базе данных, запросы и записи через код C #. Согласно Microsoft .NET Framework поставляется только со следующими поставщиками данных ( источник ):

  • Поставщик данных .NET Framework для SQL Server
  • Поставщик данных .NET Framework для OLE DB
  • Поставщик данных .NET Framework для ODBC
  • Поставщик данных .NET Framework для Oracle
  • Поставщик данных .NET Framework для SQL Server Compact 4.0

Платформа WPF .NET Framework получила высокую оценку в техническом описании доступа к базе данных из-за поддержки ODBC. Другие поставщики данных доступны у третьих лиц. Однако требуется время, чтобы отследить каждую необходимую библиотеку базы данных, установить ее и поддерживать в актуальном состоянии.

Электрон

При первой установке Electron не включает в себя собственную библиотеку доступа к базе данных. Поэтому это не единичный пакет, содержащий все функции, необходимые для доступа к базам данных. Он может получать доступ к базам данных через NodeJS, и доступны несколько библиотек с открытым исходным кодом для использования серверных и бессерверных баз данных, включая реализации JavaScript. Однако требуется время, чтобы отследить каждую необходимую библиотеку базы данных, установить ее и поддерживать в актуальном состоянии.

Вот пример усилий, необходимых для подключения к базе данных Oracle из NodeJS для использования в Electron:

https://docs.oracle.com/en/cloud/paas/exadata-express-cloud/csdbp/connect-node-js.html

Пакеты подключения к базе данных также доступны через диспетчер пакетов, как показано здесь:

https://www.npmjs.com/package/mssql

У всех трех фреймворков есть хоть какой-то способ доступа к большинству баз данных. Однако Delphi и RAD Studio поставляются с большинством поддерживаемых баз данных из всех трех фреймворков. Кроме того, поскольку эти компоненты доступа к базе данных поставляются с Delphi, нет необходимости в дополнительном времени для отслеживания и поддержки сторонних библиотек. У Delphi действительно есть богатая экосистема сторонних компонентов доступа к базе данных, которые необязательно использовать. WPF .NET Framework — это устаревшая платформасогласно Microsoft и поставляется только с 5 поставщиками данных (хотя, честно говоря, вы можете получить доступ ко многим базам данных через ODBC). Electron не поставляется с какими-либо компонентами доступа к базе данных, но они легко доступны через экосистему NodeJS и требуют дополнительных усилий для поиска и поддержки, что делает решение хрупким. В целом, Delphi предоставляет более гибкий и интегрированный набор инструментов с большим количеством поддерживаемых баз данных по сравнению с двумя другими фреймворками.

Изучите все показатели в техническом документе «Обнаружение лучшей среды разработки с помощью сравнительного анализа»:

Загрузите официальный документ Free Delphi vs. WPF vs. Electron для настольных ПК с Windows

Дополнительное чтение…

Delphi обеспечивает долгосрочную осуществимость над постоянно меняющейся электронной и устаревшей WPF .NET Framework

Молниеносное развертывание магазина приложений в Delphi Trounces WPF и Electron

Визуальное проектирование приложений в Delphi обеспечивает до 5-кратного увеличения производительности по сравнению с WPF и Electron

Delphi предлагает значительный прирост производительности по сравнению с WPF и Electron


Reduce development time and get to market faster with RAD Studio, Delphi, or C++Builder.
Design. Code. Compile. Deploy.
Start Free Trial   Upgrade Today

   Free Delphi Community Edition   Free C++Builder Community Edition

Об авторе

Директор Delphi Consulting компании GDK Software USA. Множество патентов, связанных с программным обеспечением, в том числе разблокировка с помощью смахивания и графического ключа и поисковые системы. Первые серебряные и золотые значки Delphi на переполнение стека Бывший адвокат разработчиков Embarcadero Technologies. Давний поклонник программирования, особенно Delphi. Автор, подкастер/ютубер, импровизатор, оратор, отец и друг.

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.

IN THE ARTICLES