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

RAD Studio 13.2 Florence Now Available! Kai 1.1.1 Now Available! What's Coming in RAD Studio 13.2 Florence

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. Автор, подкастер/ютубер, импровизатор, оратор, отец и друг.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.

IN THE ARTICLES