一种有趣的图形应用程序开发编程语言

时间:2013-07-15 18:04:18

标签: programming-languages

我不是一名专业的程序员,我不会在不久的将来成为一名。我的代码主要是为了好玩,但我喜欢创建我实际上要使用的程序,这意味着主要是图形程序。我从Java和Python开始,但在过去的几年里,我几乎完全使用JavaScript,只是因为在HTML中组合界面非常容易,而且用于控制显示和接收输入的API非常容易(特别是使用jQuery)。

然而,JavaScript是有限的(没有真正的文件IO,例如通过画布的复杂图形的API很笨拙,必须在浏览器中运行它),也不是特别漂亮或强大的语言。我想念我使用的更加丰富的语言(Java,Haskell,Ada)中更强大的功能。因此,我在市场上寻找新语言。但它需要能够轻松构建图形应用程序。

任何人都可以推荐一种优秀的高级语言,可能是一种脚本语言,或者可能是一种更重要的编程语言,它不会分散开发中更有趣的方面吗?还是我坚持制作网络应用程序?

1 个答案:

答案 0 :(得分:1)

选项1: .Net(如果您对执行Windows应用程序感兴趣,则适用)

与@Branyac的答案相反,我建议您跳过winforms部分,直接使用当前的相关技术(基于XAML)

任何人都可以在2013年开始学习winforms,因为:

  • 它已经过时了。没有人将它用于任何新项目,仅用于维护遗留应用程序。
  • 它不支持深层次的自定义(例如您可以通过ControlTemplates在WPF中找到的内容。
  • 它(本机地)不支持许多有趣的视觉特征(例如Animations
  • 它是软件渲染的,它不支持硬件加速,因此许多视觉密集型应用程序无法在winforms中完成。
  • 它不会公开高级DataBinding功能,要求您输入更多代码并实现更少。
  • 它不会暴露任何类型的Document APIs,因此您可能习惯在HTML中轻松实现的许多事情在winforms中要难得多。
  • 它不支持社区目前正在推动的最先进的开发模式(MVVM),因此再次需要更多的代码才能实现更少的目标。
  • 如果您处理大量数据,它本身并不支持UI Virtualization,它可以真正改变游戏规则。

我建议使用Microsoft在过去5/6年中积极开发的任何基于XAML的技术,而不是必须处理如此有限的UI技术,即:

  • WPF(Windows Presentation Foundation)。
    • 在Windows XP及更高版本上运行,需要.Net Framework。有充分的力量。是基于XAML的。
  • Silverlight
    • 跨平台,在浏览器中运行,也是基于XAML的,具有更有限的功能,具有WPF功能的子集。
  • WinRT
    • 在Windows 8及更高版本中运行,也是基于XAML的。还包含WPF功能的子集。

使用当前技术的优势是无穷无尽的,其中一些是在here和整个网络上讨论的。

除了上述所有内容之外,您的HTML背景将真正帮助您获得XAML心态。 XAML是一种标记语言以及HTML,但具有更多功能。您可以使用XAML在WPF中定义UI,然后将UI数据绑定到包含数据的相关ViewModel和模型。

winforms方法过于程序化,需要大量的样板代码。我会说它不是make it easy to build graphical applications

选项2:继续使用HTML + Javascript方式。