Vala 或 GTKmm 适合新的以数据库为中心的项目吗?
我被要求开发一个新的、小型的、定制的 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)
Maybe Bakery 2.6
libgda
也许是 Hiberlite
一个更成熟的堆栈,但是......也许如此成熟是命中注定的。
因此:您会尝试 Vala 来完成这样一个以数据库为中心的新项目吗? 还是会等待更成熟、更丰富的Vala生态系统?
谢谢
I have been asked to develop a new, small, custom-specific CRM (Customer Relationship Manager) that will be used mainly on Linux desktops (compatibility with Windows and Mac OS X would be appreciated but it is not required).
This seems to be a good opportunity to try the new Vala language and some of its libraries (most notably libgda and the rest of Gnome-DB) but, of course, I still have to deliver a working product to the customer in time so... I'm still scratching my head and wondering.
To develop this application I would need:
A "glue" language (Vala itself). This is OK.
A GUI Library (GKT+ 2.X or 3.X). This is OK.
A database abstraction layer (libgda). Here I have some doubt.
Maybe a MVC framework like Bakery (Bakery 2.6 seems to be working
with GTKmm 2.4 only. It does not work with the GObject-enabled GTKmm
3, as long as I can see.).Maybe a ORM like Hiberlite (libgda supplies data-aware widgets
and other tools but it is not a full-blown ORM, as long as I know).
At the moment, I'm confident about the first two items, only. Even the real amount of Vala support for libgda is not very clear to me (The ValaDoc describes as supported the interface of a old version of LibGDA while the Gnome-DB website says that the new 4.2 and 5.X versions of the library are GObject- and Vala- enabled). Most likely, Bakery and Hiberlite would not be available any time soon for Vala.
The nearest alternative seems to be:
C++
GTKmm (2.X)
Maybe Bakery 2.6
libgda
Maybe Hiberlite
A more mature stack but... maybe so mature to be fated.
Hence: would you try Vala for a new database-centric project like this?
Or would you wait for a more mature and more rich Vala ecosystem?
Thanks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
Vala 只是意味着本机编译,无需担心框架(和版本)。连接到数据库看起来仍然为时过早,而且绝对没有记录(这就是我写这篇文章的原因)。另外,没有IDE。 Glade 并不是真正的 IDE,而是一个界面设计师。
尝试一下 Lazarus,您将会惊讶地发现数据库前端的开发是多么方便。相当成熟,本机编译,可以使用第三方组件,通过 IDE 直接支持数据库,可以选择使用 Gtk 或 Qt。
它在 Windows、Linux 和 Mac 上提供本机 exe。如果您正在开发跨平台数据库前端,那么没有什么比这更接近的了。开发时间只是一小部分,性能与 C 相当(即使不相等)。
Vala just means native compilation without requiring a framework (and versions) to bother about. Connecting to database still looks premature and definitely undocumeted (that's how I came to this post). Besides, there is no IDE. Glade is not really and IDE, but an interface designer.
Try out Lazarus and you will be in for a surprise, how conveniently database front ends can be developed. Pretty mature, native compilation, ready to use third party components, database support right through the IDE, options of using Gtk or Qt.
And it gives native exe's on Windows, Linux and Mac. Nothing comes even remotely close if you are developing cross-platform database front ends. Development time would be a fraction and performance comparable to C, if not equal.