开放框架VS处理
关于OpenFramework和Processing,我一直在阅读很多,但是除了C ++和Java之外,还有其他的区别。 有人能告诉我究竟是什么?
您是正确的,一个是C ++,另一个是Java,这些差异适用于这些框架,所以取决于您的偏好/项目范围,以决定哪一个最适合您。
处理 :
- 您可以获得最小的IDE,但也可以轻松使用eclipse或其他Java IDE。
- 你得到内存pipe理(垃圾收集)
- 您可以在线发布小程序(通过Java Applet或者使用Canvas 2D 处理 js或p5js的 “瘦身”javascript端口)或Linux / OSX / Windows(通过Java运行时)的桌面应用程序。 请注意,比Processing 1.5.1更新的版本不再导出applet。 这仍然可以通过命令行或使用eclipse完成。
- 您可以使用iProcessing或更快的P5Nitro发布到Android和(与第三方工具)到iPhone,最近在Raspberry PI
- 您有来自论坛,相当多的书籍和OpenProcessing , SketchPatch , hascanvas或SketchPad等在线“游乐场”的支持 。
使用OpenFrameworks :
- 你select你的IDE(OSX上的XCode,Code :: Blocks,VC ++)
- 你pipe理自己的记忆(malloc,指针和所有的喜悦)
- 您可以将项目发布为本地应用程序(不需要运行时)
- 目前您无法轻松在线发布,但未来可能会发生变化(请参阅Arturo Castro的emscripten进度)
- 你可以发布到iPhone ,从007到Android和OF到0.8.0到armv6和armv7设备,如Raspberry PI或Pandaboard
- 您可以从非常活跃和有用的论坛获得支持,并可以在一两 本书中阅读
这些是现在想到的一些事情,可能还有更多。
就我个人而言,我发现在Processing中编写真正基本的丢弃原型更容易。 对于速度不是主要决定因素的情况,Processing处理得很好,但在其他情况下,我会将Processing原型移植到openframeworks(这在大多数情况下很容易完成)。
一个例子就是涉及audio的应用,无论是分析还是综合。 根据复杂性,Java垃圾收集器会在您最不期望的时候执行扫描,并在需要响应时引起烦恼。
总之,两者都非常酷,但是开放式框架 更快 。 尽pipe如此,你可以自己pipe理内存来支付这个速度。 另外,如果您需要在线部署 , Processing则是您的select。
另外,如果您对C ++感兴趣,您可能还需要查看libcinder或Polycode 。
HTH