1

我正在寻找用于多媒体安装的快速原型实用应用程序的语言+ GUI工具包。我一直在使用Max/MSP/Jitter多年,但是我希望在“内容制作”之外为我的“阿森纳”添加基于文本的语言。 (当涉及到实际的媒体合成时,我的选择很明确[SuperCollider + MSP for audio,Jitter + Quartz + openFrameworks for video])。用于原型多媒体应用的跨平台语言+ GUI工具包

我正在寻找一些能够保持Max的一些优点,但是更低层次,更快速,更交叉平台(Linux支持)和基于文本的。与强大的声音/视频库集成不是必需的。

一些要求:

  1. 比什么都重要,快速发展时期
  2. 跨平台(至少OSX和Linux,Windows是一个加号)
  3. 快速,方便的跨平台的GUI与没有平台特定的修改
  4. GUI代码尽可能与后端代码分开
  5. 适合与外部串行设备(微控制器)接口
  6. 良好的网络支持(UDP/TCP)
  7. 用于多媒体良好库(视频,声音,OSC)是一个加
  8. 异步>同步
  9. UNIX集成是一个加

  1. AS3/FLEX(不AS3的风扇或在Flash Player中运行的想法)
  2. OPE:浮现在脑海中的选项nFrameworks(C++框架,可能有点太低[寻找快速开发时间]并偏向于视频工作)
  3. Java w /处理库(像openFrameworks,只是慢)
  4. Python + Qt(Qt适合快速原型?)
  5. 的Python +另一个GUI工具包
  6. SuperCollider +摇摆(难吃的GUI开发)
  7. 的Java W/SWT

任何其他的选择吗?你有什么建议?

回答

2

Qt是适合于快速原型(Qt设计和Qt与快速帮助),但它仍然是C++所以它的速度较慢。另一方面,PyQt非常漂亮 - 您可以用解释型语言快速编写测试 - 修改循环,并具备跨平台Qt支持的所有乐趣(和怜悯)。为我工作。

2

怎么样一个基于JVM的语言(大多为便携性和VM的所有Java库的互操作性在那里,包括你所需要的媒体处理的那些),例如JRuby或斯卡拉(用于开发如果你想快速提取,可能会更多JRuby),并且你提到的是SWT或Swing?另外,你总是可以插入来自其他语言的东西,所以如果你仍然想要一些在Python中运行的东西,那么就有Jython来解救。

我不一定会说Swing是“乖巧”的。它确实存在缺陷和过于复杂的API,但通过设计,我经常发现它比SWT更具吸引力,尽管它也具有很好的功能。有可能与Swing产生非常好的接口,并且不会像老式的争论那样缓慢。这就是说,对于快速原型设计来说不是很好,但这只是Java中的一个缺点。例如,Groovy有一个很好的构建器来帮助Swing开发。

如果你愿意,还有一个Java的QT绑定。


如果基于Java的东西让你失望,那么我认为你应该使用Python + QT。


Flex似乎正在崛起,并且肯定会产生良好的界面,但有几件事情让我对它有所了解。首先,人们总是倾向于用它制作非标准的用户界面。它看起来不错,但如果每个应用程序开发人员都试图发明自己的可用性范例,那么对用户来说也会更加困惑。此外,就平台的未来而言,还有很多未知因素,而Java/Python不会引起这种担忧。

0

要回答我自己的问题,通常更重要的是使用其他人在您的领域/地区/工作场所使用,而不是找到“正确的工具”。 (例如,在我的社区中,Max/MSP/Jitter & PureData,C,MATLAB和[仅限于其全球知名度] Python是标准。)与本地通用语言不同,意味着您的代码仅支持只要你需要维护它(至少如果代码是针对特定地点或事件的,就像媒体中经常出现的那样),作为一名开发人员你独自一人,并且你将不得不建立与其他人的代码的接口,以使事情发挥作用。

在我学习的时候,我决定坚持使用历史悠久的Max,C,Matlab组合。

在一边,我实验Pure,其特点与许多库和应用程序得益于动态类型,强大的矩阵支持和早期OSC采用(例如八度,SuperCollider,PureData的,浮士德和OpenCV)紧密集成。我期待着下一代数据流语言。