2

我被要求开发一个新的、小型的、特定于定制的 CRM(客户关系管理器),它将主要用于 Linux 桌面(与 Windows 和 Mac OS X 的兼容性将受到赞赏,但不是必需的)。

这似乎是尝试新的 Vala 语言和它的一些库(最著名的是 libgda 和 Gnome-DB 的其余部分)的好机会,但是,当然,我仍然必须及时向客户交付工作产品。 ..我还在挠头,想知道。

要开发此应用程序,我需要:

  1. 一种“胶水”语言(Vala 本身)。还行吧。

  2. GUI 库(GKT+ 2.X 或 3.X)。还行吧。

  3. 数据库抽象层 (libgda)。在这里我有一些疑问。

  4. 也许是像 Bakery 这样的 MVC 框架(Bakery 2.6 似乎只适用于 GTKmm 2.4。它不适用于支持 GObject 的 GTKmm 3,只要我能看到。)。

  5. 也许是像 Hiberlite 这样的 ORM(libgda 提供数据感知小部件和其他工具,但据我所知,它不是一个成熟的 ORM)。

目前,我只对前两项有信心。甚至 Vala 对 libgda 的实际支持量对我来说也不是很清楚(ValaDoc 将旧版本的 LibGDA 的接口描述为支持,而 Gnome-DB 网站说该库的新 4.2 和 5.X 版本是 GObject - 和 Vala- 启用)。最有可能的是,Vala 很快就无法使用 Bakery 和 Hiberlite。

最近的替代方案似乎是:

  1. C++

  2. GTKmm (2.X)

  3. 也许面包店 2.6

  4. libgda

  5. 也许是希伯莱特

一个更成熟的堆栈,但......也许如此成熟,注定要命中注定。

因此:你会尝试 Vala 来开发一个像这样的以数据库为中心的新项目吗?还是你会等待更成熟、更丰富的 Vala 生态系统?

谢谢

4

1 回答 1

0

Vala 只是意味着不需要框架(和版本)的本地编译。连接到数据库看起来仍然为时过早,而且绝对没有文档(这就是我写这篇文章的原因)。此外,没有IDE。Glade 并不是真正的IDE,而是一个界面设计器。

试用 Lazarus,您会惊讶于数据库前端的开发是多么方便。相当成熟,本机编译,准备使用第三方组件,直接通过 IDE 支持数据库,使用 Gtk 或 Qt 的选项。

它在 Windows、Linux 和 Mac 上提供本机 exe。如果您正在开发跨平台的数据库前端,那么没有什么是遥不可及的。开发时间将是一小部分,性能与 C 相当,如果不相等的话。

于 2011-12-16T17:09:19.960 回答