Linux桌面应用程序开发

问题描述:

最近我做了从Windows切换到Linux(拱门)。作为主修计算机科学的学生,我有相当多的编程经验(主要是Java,因此不是真正的平台相关)。 现在我想为我的linux机器创建一些简单的桌面应用程序。对于我在Windows上用于个人使用的一些小型项目,我使用了C#.net。现在我想在linux中做类似的事情。 我做了一些研究,我想我的GUI的主要工具包选择是QT和GTK,但由于我使用GNOME,我猜GTK最好的选择是? 有什么好的选择开始?Linux桌面应用程序开发

PS:我想到的第一个小项目是一个简单的下载管理器,基本上是wget之上的一个GUI,因为我找不到一个我喜欢的GUI。

(我可以在Linux上用java太多,但我喜欢的东西更多的“原生”)

+1

Qt在Gnome上运行得很好。试试Qt4和GTK,看看哪一个最适合你。两者都有几种语言的绑定。 – Blender

+1

如果你使用C,我会使用GTK,Qt几乎会迫使你使用C++,并拖延了很多依赖 - 但它是一个稳定的工具包。我用Python使用PyGTK制作了一些很好的桌面应用程序。是的,Java也是一种选择,而最近的则看起来更好。 –

+0

@LeeDanielCrocker对于许多更高级的语言,Qt也是有约束力的。 Qt还在框中包含了QML,这是一种类似JavaScript的语言,可以用来创建更简单的应用程序。 – Kitsune

好吧,如果你想要的东西快速和容易我会推荐使用QT,因为它带有一个graphical editor

C++真的很强大,你可以做很多疯狂的事情,但是你也必须写很多东西,并且有时候会挠头。一个非常好的选择是Python让事情运行得更快。 Qt对Python也有约束力,PysidePyQt

在大多数现代Linux发行版中,安装和维护整个Qt工具链非常简单。来自C#,你也更可能发现C++更熟悉。

另一方面,如果您决定参加C/GTK路线,您提出的项目可能会更具启发性。毕竟,wget是用C语言编写的,作为开源代码,它是freely available,可以合并到您的项目中。为了学习好的编程,恕我直言,让自己暴露于代码经历时间的测试正在积极维护比愚弄桌面装饰更重要。哎呀,如果你发现一些有趣的东西,你可以发邮件给Hrvoje Niksic自己。现在那里是一个功能,即使5000美元的Vis Studio Premium也不可用。

此外,Qt和GTK都有很棒的UI设计师,所以不应该影响您的选择。所以,我的答案真的是,为什么不尝试呢?

+1

用C编写的wget的好处,但他仍然可以用g ++编译它,如果他只用于像Java和C#这样的高级OO编程风格,C可能会一见创伤:P – Maresh

+0

@Maresh:他是CS大调,它必须发生一段时间。此外,我尝试在VisBasic中编写一个简单的多线程应用程序,受到更多的创伤。 – Dmitri