После того, как автор фреймворка My Visual Database перестал развивать свой проект, на форуме разработчиков всё чаше слышатся призывы о создании нового проекта, который бы взял в свои руки знамя революции в области производства приложений по работе с базами данных.

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

Что есть в наличии?

В My Visual Database есть возможность генерации сайта для базы MySQL, но она не поддерживает авторизацию пользователя и поэтому не представляет коммерческой пользы. А жаль – это могло бы продлить жизнь этого замечательного проекта: генерация полноценного сайта позволила бы реализовать мобильный доступ к данным. Что же хотят разработчики и я в их числе?

My Mobile Database

Система разработки приложений для использования на мобильных платформах. Фактически, это должны быть мультиплатформенные приложения, работающие на Android и iOS, а заодно на Windows, Linux и MacOS.

Базы данных

Конечно, в идеале это должны быть всё те же SQLite для локального подключения и MySQL для сетевого, что обеспечило бы совместимость с имеющимися проектами, созданными на фреймворке My Visual Database, но я допускаю любые варианты, которые бы решали два класса задач: индивидуальное и коллективное использование данных.

Технологии доступа

Для переноса точки входа в мобильное устройство есть всего две возможности: браузер, который подключается к адаптированному для телефона сайту, и нативное приложение, в котором вест функционал управления данными реализован программно, включая подключение к БД и управление данными.

Инструменты

My Visual Database был создан в среде разработки Delphi, с которой я знаком много лет, поэтому для меня было логичным рассмотреть варианты создания новой системы именно с помощью данного инструмента.

Delphi

Я провел небольшое исследование, чтобы выяснить три вопроса:

  • Может ли Delphi заменить My Visual Database?
  • Может ли Delphi быть альтернативой My Mobile Database?
  • Можно ли с помощью Delphi создать My Mobile Database?

Начну с хороших новостей: на официальном сайте Embarcadero можно скачать специальную бесплатную редакцию Delphi – Community Edition, которая полностью функциональна и позволяет создавать как обычные, так и мобильные приложения. Для отладки мобильных приложений есть два варианта: подключение физического устройства и программная эмуляция. Последняя хромает на обе ноги: я несколько раз пытался настроить и подключить эмулятор, но каждый раз это был квест, в котором нужно было лазать по настройкам материнской платы, скачивать дополнительные драйвера, скачивать обновления SDK и танцевать с бубном. Поэтому я решил, что ограничусь только обновлением SDK – именно это нужно проделать после установки Delphi, чтобы появилась возможность создания приложений под Android. Варианты с iOS и MacOS теоретически тоже возможны, но проверять на практике я их не стал ввиду отсутствия соответствующего оборудования для тестирования.

Hello, world!

Первое приложение просто должно было запускаться на компьютере и телефоне, и это мне легко удалось. Главное – при создании приложения выбрать правильный тип: Multi-Device Application.

Для экспериментов понадобится Blank Application – приложение с пустой главной формой.

Далее на форме размещается метка (TLabel), которая растягивается на всю форму (Align = Client).

У компонентов, используемых в мультиплатформенных проектах, есть отличия от компонентов VCL, в частности надпись метки хранится в свойстве Text, а горизонтальное выравнивание – в свойстве TextSettings.HorzAlign.

Чтобы привыкнуть к пропорциям экрана, которые используются в мобильных приложениях, включите вид, соответствующий смартфону:

Теперь нужно выбрать целевую платформу – Android (1). Если вы подключили ваш телефон к компьютеру и смогли активировать на нем режим разработчика, то после нажатия кнопки обновления списка устройств (2) ваш телефон появится в выпадающем списке (3). Жмём кнопку запуска (4) и приложение создаётся и загружается на телефон.

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

Hello, SQLite!

Для создания приложения, которое подключается к локальной базе SQLite, я использовал пример из официальной документации Embarcadero, в котором по шагам разбираются особенности использования компонентов доступа к данным FireDAC, компонентов интерфейса из библиотеки FireMonkey, а также тонкостей настройки программного кода для работы под Android.

Чтобы не пересказывать данный туториал, отмечу только главные отличия использования инструментов разработки.

  • Связывание компонентов отображения и компонентов извлечения данных осуществляется с помощью специального инструмента – LiveBindings Wizard
  • Для добавления специфической для каждой операционной системы логики необходимо использовать условную компиляцию.
  • Для извлечения данных и их модификации придется писать SQL-запросы.

В остальном принцип разработки остается прежним: добавление и настройка свойств компонент, а в случае, когда возникают нюансы с использованием ресурсов (в частности – путь к БД), необходимо написать немного кода. Впрочем, код придется писать всё время – это ведь не My Visual Database, где основная логика уже реализована в самих компонентах. Также придется изучать новые компоненты, которые были созданы для обеспечения совместимости с мобильными платформами.

За 10 минут мне удалось создать простейшее приложение для отображения и редактирования таблицы с названиями категории блюд. В качестве базы данных я использовал готовый файл sqlite.db из проекта “Кулинарная книга”, но пришлось изменить расширение на .s3db – именно оно принято в ОС Android для SQLite.

Приятные бонусы IDE Delphi:

  • можно подключаться к базе на этапе разработки и находить некоторые ошибки до запуска приложения
  • можно отлаживать основную логику в режиме приложения Windows

Where is MySQL?!

А дальше меня ждало разочарование: компоненты FireDAC (как и dbExpress), входящие в состав Delphi, не могут работать с MySQL в мобильной версии создаваемых приложений, хотя хорошо справляются со своими задачами под Windows.

Изучение альтернативных возможностей привела к единственному разумному результату: платные компоненты от компании Devart, которые могут работать напрямую с СУБД. Цена вопроса – 500$, есть пробный период для тестирования. Возможно, что чуть позже я вернусь к этому вопросу, а пока подведём итоги.

Вердикт

Delphi может заменить My Visual Database. В составе продукта есть всё необходимое для создания приложений по работе с БД, но потребуется изучение новых компонентов и приемов их использования. Разработка приложений в Delphi значительно сложней создания программы в My Visual Database. Но ввиду отсутствия перспектив развития MVDB, Delphi является ближайшей доступной альтернативой.

Delphi не является аналогом My Mobile Database в полном объёме. Из-за того, что стандартные компоненты Delphi не позволяют подключаться к удаленным СУБД, нужно продолжать поиски вариантов реализации платформы для создания мобильных приложений для работы с БД. А вот для создания приложений, работающих с СУБД SQLite Delphi вполне подойдет.

С помощью Delphi нельзя создать полноценный My Mobile Database. Это предварительная оценка, основанная как на ограничениях с подключением к удаленной БД, так и на отсутствии информации о том, как создаются и настраиваются компоненты FireDAC и FireMonkey в режиме выполнения приложений. А именно на этом основан принцип действия MVDB и MMDB.

– А у вас нет точно такого же, но с перламутровыми пуговицами? – Нет. – Будем искать…

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *