【问题标题】:Vala or GTKmm for a new database-centric project?Vala 或 GTKmm 用于以数据库为中心的新项目?
【发布时间】:2011-11-30 18:48:03
【问题描述】:

我被要求开发一个新的、小型的、特定于定制的 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 生态系统?

谢谢

【问题讨论】:

    标签: gtkmm vala


    【解决方案1】:

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-11-23
      • 2011-12-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-02-12
      相关资源
      最近更新 更多