Vala или GTKmm для нового проекта, ориентированного на базу данных? - PullRequest
2 голосов
/ 30 ноября 2011

Меня попросили разработать новую небольшую специализированную CRM (Customer Relationship Manager), которая будет использоваться в основном на настольных ПК с Linux (совместимость с Windows и Mac OS X приветствуется, но не обязательна).

Похоже, это хорошая возможность попробовать новый язык Vala и некоторые из его библиотек (прежде всего libgda и остальную часть Gnome-DB), но, конечно, мне все еще нужно доставить работающий продукт клиенту в раз так ... я все еще чешу голову и удивляюсь.

Для разработки этого приложения мне понадобится:

  1. «Клеевой» язык (сама Вала). Это нормально.

  2. Библиотека графического интерфейса пользователя (GKT + 2.X или 3.X). Это нормально.

  3. Уровень абстракции базы данных (libgda). Здесь у меня есть некоторые сомнения.

  4. Может быть, MVC фреймворк, как Bakery (кажется, работает Bakery 2.6 только с GTKmm 2.4. Он не работает с GTKmm с поддержкой GObject 3, пока я вижу.).

  5. Может быть, ORM, как Hiberlite (libgda предоставляет виджеты с поддержкой данных и другие инструменты, но это не полномасштабная ORM, насколько я знаю).

На данный момент я уверен только в первых двух пунктах. Даже реальная поддержка Vala для libgda мне не очень понятна (ValaDoc описывает как поддерживаемый интерфейс старой версии LibGDA, в то время как на сайте Gnome-DB говорится, что новые версии библиотеки 4.2 и 5.X - это GObject - и Вала- включен). Скорее всего, Пекарня и Hiberlite не будут доступны в ближайшее время для Вала.

Ближайшая альтернатива выглядит так:

  1. C ++

  2. GTKmm (2.X)

  3. Возможно, пекарня 2,6

  4. libgda

  5. Может быть, Hiberlite

Более зрелый стек, но ... может быть, настолько зрелый, чтобы быть обреченным.

Следовательно: вы бы попробовали Vala для нового проекта, ориентированного на базу данных? Или вы подождете более зрелой и богатой экосистемы Вала?

Спасибо

1 Ответ

0 голосов
/ 16 декабря 2011

Vala просто означает собственную компиляцию, не требуя фреймворка (и версий).Соединение с базой данных все еще выглядит преждевременным и определенно недокументированным (вот как я пришел к этому посту).Кроме того, нет IDE.Glade на самом деле не IDE, а дизайнер интерфейсов.

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

И она дает нативные исполняемые файлы для Windows, Linux и Mac.Ничто не подходит даже близко, если вы разрабатываете кроссплатформенные базы данных.Время разработки составило бы долю и производительность, сравнимую с С, если не равную.

...