我被要求开发一个新的、小型的、特定于定制的 CRM(客户关系管理器),它将主要用于 Linux 桌面(与 Windows 和 Mac OS X 的兼容性将受到赞赏,但不是必需的)。
这似乎是尝试新的 Vala 语言和它的一些库(最著名的是 libgda 和 Gnome-DB 的其余部分)的好机会,但是,当然,我仍然必须及时向客户交付工作产品。 ..我还在挠头,想知道。
要开发此应用程序,我需要:
一种“胶水”语言(Vala 本身)。还行吧。
GUI 库(GKT+ 2.X 或 3.X)。还行吧。
数据库抽象层 (libgda)。在这里我有一些疑问。
也许是像 Bakery 这样的 MVC 框架(Bakery 2.6 似乎只适用于 GTKmm 2.4。它不适用于支持 GObject 的 GTKmm 3,只要我能看到。)。
也许是像 Hiberlite 这样的 ORM(libgda 提供数据感知小部件和其他工具,但据我所知,它不是一个成熟的 ORM)。
目前,我只对前两项有信心。甚至 Vala 对 libgda 的实际支持量对我来说也不是很清楚(ValaDoc 将旧版本的 LibGDA 的接口描述为支持,而 Gnome-DB 网站说该库的新 4.2 和 5.X 版本是 GObject - 和 Vala- 启用)。最有可能的是,Vala 很快就无法使用 Bakery 和 Hiberlite。
最近的替代方案似乎是:
C++
GTKmm (2.X)
也许面包店 2.6
libgda
也许是希伯莱特
一个更成熟的堆栈,但......也许如此成熟,注定要命中注定。
因此:你会尝试 Vala 来开发一个像这样的以数据库为中心的新项目吗?还是你会等待更成熟、更丰富的 Vala 生态系统?
谢谢