我已经阅读了很多有关 openFrameworks 和 Processing 的内容,但仍然无法区分,除了一个是 C++ 中的,另一个是 Java 中的。有人能告诉我哪个具体是做什么用的吗?
你是对的,一个是 C++,另一个是 Java,这些差异适用于这些框架,因此由你的偏好/项目范围来决定哪一个最适合你。
With 加工:
- 您将获得一个最小的 IDE,但可以轻松使用Eclipse http://code.google.com/p/proclipsing/或其他 Java IDE。
- 你得到内存管理(垃圾收集)
- 您可以在线发布小程序(通过 Java Applet 或使用 Canvas 2D 的“精简”javascript 端口)处理js http://processingjs.org/ or p5js http://p5js.org/)或 Linux/OSX/Windows 的桌面应用程序(通过 Java 运行时)。请注意,Processing 1.5.1 之后的版本不再导出小程序。这仍然可以通过命令行或使用 eclipse 来完成。
- 您可以发布到Android http://wiki.processing.org/w/Android和(使用第 3 方工具)到 iPhone 使用信息处理 http://www.luckybite.com/iprocessing/或者更快P5Nitro https://github.com/davidedc/P5Nitro以及最近关于树莓派 https://github.com/processing/processing/wiki/Raspberry-Pi
- 你得到了将近200图书馆 https://processing.org/reference/libraries/以扩展其功能。
- 您有来自以下方面的支持论坛 http://discourse.processing.org/, 很少几个books http://processing.org/learning/books/和在线“游乐场”,例如开放处理 http://openprocessing.org/, 素描补丁 http://sketchpatch.net/, 哈斯坎瓦斯 http://www.hascanvas.com/ or 画板 http://sketchpad.cc/.
With 开放框架:
- 您选择您的 IDE(OSX 上的 XCode、Code::Blocks、VC++)
- 您可以管理自己的内存(malloc、指针和所有这些乐趣),但对于现代 C++ 来说这是没有必要的。
- 您可以将项目发布为本机应用程序(无需运行时)
- 你可以not目前很容易在线发布,但将来可能会改变(请参阅阿图罗·卡斯特罗的手稿 http://arturocastro.net/files/of-emscripten/进度)你can在线发布使用恩脚本 https://openframeworks.cc/setup/emscripten/.
- 您可以发布到iPhone http://www.openframeworks.cc/setup/iphone, as of OF 007 http://www.openframeworks.cc/download to Android http://www.openframeworks.cc/setup/android-eclipse和 OF 0.8.0 到armv6和armv7设备,例如树莓派 http://www.openframeworks.cc/setup/raspberrypi/ or 熊猫板 http://www.openframeworks.cc/setup/pandaboard/
- 你得到了2000多Addons http://ofxaddons.com/categories(并非全部都得到维护)以扩展其功能。
- 你有来自以下方面的支持非常活跃和有帮助的论坛 http://forum.openframeworks.cc/并可以在此处阅读相关内容网上书 http://openframeworks.cc/ofBook/chapters/foreword.html或在纸上book http://shop.oreilly.com/product/0636920021735.do or two https://www.packtpub.com/mastering-openframeworks-creative-coding-demystified/book.
这些是他们现在想到的一些事情,可能还有更多。
就我个人而言,我发现在处理中编写真正基本的一次性原型更容易。对于速度不是主要决策因素的情况,Processing 表现得很好,但在其他情况下,我会将处理原型移植到 openFrameworks(这在大多数情况下很容易做到)。
一个例子是涉及音频的应用程序,无论是分析还是合成。根据复杂性,Java 垃圾收集器会在您最意想不到的时候进行清理,并在您需要响应时造成烦恼。
简而言之,两者都非常酷,但是开放框架 is faster。您为此速度支付的费用为管理内存不过你自己。
就在线部署而言,这实际上取决于项目:如果是一个简单的项目,那么在与其他 js 库集成方面,p5.js 可能是最简单的。 oF 导出对于大型复杂代码非常方便,手动移植到 JavaScript 需要很长时间,但请记住 Emscripten 项目将很大(例如 17.5MBopencvExample
)(因此不适合蜂窝网络),您仍然需要添加自己的JS -> C++ https://kripken.github.io/emscripten-site/docs/porting/connecting_cpp_and_javascript/Interacting-with-code.html#interacting-with-code-binding-cpp如果您需要从网页调用应用程序功能,则需要绑定。
另外,如果您对 C++ 感兴趣,您可能还想看看libcinder http://libcinder.org/ or Polycode http://polycode.org/.
HTH
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)