用于编写GUI应用程序的编程语言

时间:2009-12-04 12:05:30

标签: user-interface programming-languages

除了.NET或Java,可以使用哪种语言为Windows和Linux编写应用程序?

15 个答案:

答案 0 :(得分:12)

你可以改变你的问题:那里有什么工具包,他们支持哪些语言?

例如 GTK :(来自wikipedia

C           GTK+ 
C++         gtkmm 
Ruby        ruby-gtk2 
Python      PyGTK 
Java        java-gnome 
.NET        Gtk# 
PHP         PHP-GTK 
Perl        Gtk2-Perl

如果您浏览这些other widget toolkits

,您可以找到对多种语言的支持
Juce — An extensive cross-platform UI toolkit
FLTK — A light, cross platform, non-native widget toolkit
FOX toolkit — A fast, open source, cross-platform widget toolkit
GTK+ — The GIMP toolkit, a widget toolkit used by GNOME applications
IUP_(software) -- IUP cross platform static/dynamic library C/LUA, Lua (MIT) licence
JX Application Framework
Microsoft Foundation Class - The most commonly used widgeting toolkit for Windows.
Motif
Object Windows Library & OWLNext
Qt — A widget toolkit used by KDE
Standard Widget Toolkit — SWT for Java
Swing — Java widget toolkit
Tk — Toolkit part of the Tcl - project and often used by Perl and Python programmers
Ultimate++
Visual Component Library
wxWidgets — A free widget toolkit
XForms

答案 1 :(得分:9)

使用Qt框架的C ++:http://qt.nokia.com/products

答案 2 :(得分:7)

Python是一个很好的选择,可以将PyQT和wxPython视为桌面GUI应用程序的两个广泛使用的框架。

答案 3 :(得分:6)

  • 可以使用可与本机代码交互的每种编程语言(或更确切地说,每种编程语言执行引擎)来实现GUI应用程序。仅此一项就包含了过去60年来创建的几乎所有编程语言,包括但不限于C,C ++,Objective-C,Objective-C ++,D,Eiffel,Fortran,Pascal,Modula,Oberon,Go,Haskell ,OCaml,Python,Ruby,Perl,PHP,Tcl,C#,VB.NET,Java,Scala,F#,Newspeak,Animorphic Smalltalk,Eiffel,Lua,Potion,Falcon,Dao,Nimrod,Gen​​ie,Vala,Scheme,CommonLisp, COBOL。
  • 在Java平台上运行的每种编程语言都可用于编写GUI应用程序。这包括我们公开了解的大约400种语言,以及谁知道有多少语言不公开。此列表包括Java,Scala,NetRexx,Python,Ruby,PHP,ECMAScript,Groovy,Fan,Clojure,JavaFX,AspectJ,Fortress,Cobol。
  • 在CLI和/或.NET平台上运行的每种编程语言(提示:.NET不是编程语言,它是CIL执行引擎,CLI实现,CTS实现,BCL实现和组合的营销术语。一个框架)可以用来编写GUI应用程序。这包括我们公开了解的约200种语言。此列表包括C#,VB.NET,F#,Eiffel.NET,Spec#,Sing#,X#,Polyphonic C#,Cω,Ruby,Python,Perl,Tcl,PHP,C ++,SABLE,Scheme,CommonLisp,Clojure,Fan, Scala,Cobol,Cobra,Perl。
  • 许多编程语言带来了用于编写GUI应用程序的自己的 GUI框架,例如Tcl,Newspeak,Dolphin Smalltalk,Squeak Smalltalk,Delphi,Rebol。

而那只是我能想到的那些。

答案 4 :(得分:2)

嗯,你说windows和linux,所以你总是可以依靠C ++。很多好的桌面应用程序都是用它完成的。

答案 5 :(得分:2)

Ruby Shoes。它是我见过的最漂亮的API,它可以在Windows,OS X和Linux上运行。

答案 6 :(得分:2)

提供对您关注的GUI的访问的任何语言。

答案 7 :(得分:2)

答案 8 :(得分:1)

答案 9 :(得分:1)

如果您想使用Ruby,请尝试FXRuby

答案 10 :(得分:1)

这真的取决于很多因素,无论如何你想要一个具有原生UI的多平台应用程序,我建议你使用组合wxWidgets和C / C ++(我现在正在使用)。

答案 11 :(得分:1)

我有点惊讶没有人建议REALbasic,因为它与.NET和Java(一个非常类似于Visual Studio的跨平台克隆的IDE)非常相似,并且从那开始作为Mac上的Java开发工具,尤其是他们经常在Stack Overflow上运行广告。

语言本身就是'OO VB'。不完全是VB.NET,但非常相似。就个人而言,我不喜欢这种语言,但作为图形应用程序开发的环境,它无论如何都很棒。它有一些错误,但是解决这些错误仍然比在2或3个目标平台上实现相同的UI更快(除非你的应用程序是一个巨大的项目,证明编写自己的GUI框架)。

我可能会给用C / C ++编写的外部组件带来沉重的负担,但它具有完整且非常实用的API,包括从高级SOAP客户端到原始TCP套接字以及2D和3D(包括OpenGL表面)的所有内容。 API的。

您也可以使用Mono - 并使用C#,但使用GTK而不是WinForms,使用Mono Develop(我建议这在技术上不是“.NET”,但您可能已经考虑过了)。对于GUI应用程序,它在Windows和Linux上相当成熟,只要你从头开始构建你的应用程序。

答案 12 :(得分:1)

Erlang及其与 Wx 的绑定。

我没有遇到过没有绑定某些GUI工具包的语言:如果人们关心某种语言,他们会构建绑定。

答案 13 :(得分:1)

要考虑的一件重要事情是你之前的经历,这不是一个小问题,因为掌握编程语言需要时间。

这么说,我喜欢Smalltalk的任何风味,所以你可以选择(在Smalltalk世界中):

  • Dolphin Smalltalk(Windows原生,但exes适用于Linux下的 酒)
  • Visual Works
  • 视觉时代
  • Smalltalk / X
  • 佳乐/菲罗

它们是主要的Smalltalk,并且没有特别的顺序命名。

答案 14 :(得分:0)

取决于您如何定义GUI应用程序。

您可以使用HTML / Flash / Flex / JavaScript创建可以像普通应用程序一样运行的Adobe AIR应用程序。