Меня попросили разработать новую небольшую специализированную CRM (Customer Relationship Manager), которая будет использоваться в основном на настольных ПК с Linux (совместимость с Windows и Mac OS X приветствуется, но не обязательна).
Похоже, это хорошая возможность попробовать новый язык Vala и некоторые из его библиотек (прежде всего libgda и остальную часть Gnome-DB), но, конечно, мне все еще нужно доставить работающий продукт клиенту в раз так ... я все еще чешу голову и удивляюсь.
Для разработки этого приложения мне понадобится:
«Клеевой» язык (сама Вала). Это нормально.
Библиотека графического интерфейса пользователя (GKT + 2.X или 3.X). Это нормально.
Уровень абстракции базы данных (libgda). Здесь у меня есть некоторые сомнения.
Может быть, MVC фреймворк, как Bakery (кажется, работает Bakery 2.6
только с GTKmm 2.4. Он не работает с GTKmm с поддержкой GObject
3, пока я вижу.).
Может быть, ORM, как Hiberlite (libgda предоставляет виджеты с поддержкой данных
и другие инструменты, но это не полномасштабная ORM, насколько я знаю).
На данный момент я уверен только в первых двух пунктах. Даже реальная поддержка Vala для libgda мне не очень понятна (ValaDoc описывает как поддерживаемый интерфейс старой версии LibGDA, в то время как на сайте Gnome-DB говорится, что новые версии библиотеки 4.2 и 5.X - это GObject - и Вала- включен). Скорее всего, Пекарня и Hiberlite не будут доступны в ближайшее время для Вала.
Ближайшая альтернатива выглядит так:
C ++
GTKmm (2.X)
Возможно, пекарня 2,6
libgda
Может быть, Hiberlite
Более зрелый стек, но ... может быть, настолько зрелый, чтобы быть обреченным.
Следовательно: вы бы попробовали Vala для нового проекта, ориентированного на базу данных?
Или вы подождете более зрелой и богатой экосистемы Вала?
Спасибо