我被要求开发一个新的,小型的,特定于客户的CRM(客户关系管理器),主要用于Linux桌面(与Windows和Mac OS X的兼容性将受到赞赏,但不是必需的。)< / p>
这似乎是尝试新的Vala语言及其一些库(最着名的是libgda和Gnome-DB的其余部分)的好机会,当然,我仍然需要向客户提供可用的产品。时间如此......我仍在挠头,想知道。
要开发此应用程序,我需要:
“胶水”语言(Vala本身)。这没关系。
GUI库(GKT + 2.X或3.X)。这没关系。
数据库抽象层(libgda)。我有一些疑问。
也许像Bakery(Bakery 2.6)这样的MVC框架似乎正在发挥作用 仅限GTKmm 2.4。它不适用于支持GObject的GTKmm 3,只要我能看到。)。
也许像Hiberlite这样的ORM(libgda提供了数据感知小部件 和其他工具,但它不是一个完整的ORM,只要我知道)。
目前,我对前两项只有信心。即使对libgda的实际Vala支持也不是很清楚(ValaDoc描述支持旧版LibGDA的接口,而Gnome-DB网站说该库的新4.2和5.X版本是GObject - 和Vala启用)。最有可能的是,面包和Hiberlite不会很快为Vala提供。
最近的替代方案似乎是:
C ++
GTKmm(2.X)
Maybe Bakery 2.6
libgda
也许是Hiberlite
一个更成熟的堆栈,但......可能是命运的成熟。
因此:你会尝试Vala这样一个以数据库为中心的新项目吗? 或者您会等待更成熟,更丰富的Vala生态系统吗?
由于
答案 0 :(得分:0)
Vala只是意味着本地编译而不需要框架(和版本)来打扰。连接到数据库仍然看起来不成熟,绝对没有人注意(这就是我来到这篇文章)。此外,没有IDE。 Glade不是真正的IDE,而是界面设计师。
尝试Lazarus,你会惊讶地发现数据库前端的开发方式。非常成熟的本机编译,随时可以使用第三方组件,通过IDE支持数据库,使用Gtk或Qt的选项。
它在Windows,Linux和Mac上提供本机exe。如果您正在开发跨平台数据库前端,那么甚至无法远程关闭。如果不相等,开发时间将是一小部分,性能可与C相媲美。