openFrameworks 与处理

2023-12-31

我已经阅读了很多有关 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(使用前将#替换为@)

openFrameworks 与处理 的相关文章

随机推荐

  • 如何在 Angular 2 中监听点击并按住的声音?

    在这个链接中 https stackoverflow com questions 25180332 how can i listen for a click and hold in angularjs 你可以在 AngularJS 中找到一
  • 在 bash 中如何检查文本文件是否以制表符作为分隔符?

    所以我有一个文本文件 它可能有一个制表符作为其字段分隔符 分隔符 或者可能有一个空格作为字段分隔符 我想检查该文本文件是否已制成表格 否则我将对该文件执行其他操作 我正在使用 bash 脚本 所以我对任何纯 bash sed awk gre
  • 使用 webkitDirectory 和 Java Servlet 上传文件夹/子目录中的文件

    我正在尝试使用 webkitdirectory 和 java 后端来实现文件上传功能 步骤1 使用 webkitdirectory 设计 HTML 表单
  • 新服务器的 SQL Server tempdb 优化技巧?

    我正在计划全新安装SQL Server 2005在我必须订购的新机器上 我知道临时数据库调优对整体来说非常重要表现SQL Server 实例的 我读到 最佳实践是创建与 CPU 或核心 一样多的 tempdb 文件 那是对的吗 还有其他推荐
  • 请求发布时出现 Python 错误:'连接中止,超时('写入操作超时')

    我正在使用 requests post 发送一些数据 现在我已经设置了超时值requests post类似的东西60 其他类似的问题与特定的应用程序相关 所以我想将其作为通用的 python 错误来问 这是我得到的错误 failed to
  • 如何从回调函数中中断Word2vec训练?

    我正在使用 gensim word2vec 训练 Skipgram 模型 我想在达到基于不同数据集的特定准确性测试的参数中传递的时期数之前退出训练 以避免模型过度拟合 gensim 有没有办法从回调函数中断 word2vec 的训练 如果事
  • 无符号算术和整数溢出

    我试图理解算术溢出 假设我有以下内容 unsigned long long x unsigned int y z x y z y z 可能导致整数溢出 将其中一个操作数转换为 unsigned long long 是否可以缓解此问题 64
  • 使用 jquery 在 div 内添加、调整大小、位置、颜色更改文本

    我期待创建一种非常简单的方法 允许用户在文本中书写 调整大小 位置或更改文本的颜色 div 我对 jQuery 了解一点 My HTML div class canvas div class u test class Testing div
  • Clojure - 将列表转换为 Java 数组

    除了首先将 Clojure 列表转换为向量并使用之外 是否有任何惯用的方法将 Clojure 列表转换为 Java 数组进入数组 意思是 除了 into array vec my list 因为我不想要额外的开销 你的问题似乎是基于一个错误
  • 基于索引列创建新列

    我有一个包含 n 个观察值的数据集和一个包含观察值索引的列 例如 col1 col2 col3 ID 12 0 4 1 6 5 3 1 5 21 42 2 并想根据我的索引创建一个新列 例如 col1 col2 col3 ID col ne
  • 如何从 Android 的 xml 字符串资源中检索 2D 数组?

    假设我在 android 资源中存储了一个二维数组 如下所示 如何将它们放入像 Arraylist 这样的 java 集合中
  • Google App Engine 上的 Spring security openid

    有人知道如何让 Spring security openid 在 Google App Engine 上工作吗 我试过了 但是有一个java security AccessControlException access denied err
  • 在 spacy 的帮助下合并几乎相似的行

    如果某些行几乎相似 我想合并它们 可以使用 spaCy 检查相似性 df string yellow color yellow color looks like yellow color bright red color okay red
  • 将数据传递到 django 表单

    class Test forms Form def set choices self choices self choices choices def get choices self return self choices options
  • 查看 TeamCity 服务消息

    我正在对 TeamCity 9 0 4 中的构建步骤进行故障排除 问题似乎出在服务消息输出中 构建完成后可以查看这些吗 它们不包含在构建日志中 关于服务消息的文档简单地说In order to be processed by TeamCit
  • 使用 jQuery 获取锚元素的绝对 URL

    给定一个锚元素 类似于 a first 如何获取锚点指向的绝对URL 如果您使用的是 jQuery 1 6 您可以使用 prop a first prop href 1 6之前 您可以访问href直接在 DOM 元素上使用属性 a firs
  • 访问结果集行中的值,其中该值来自 MySQL 函数调用

    因此 由于普通的 PHP 查询返回一个数组 所以从未向我解释过当列值是 MySQL 函数调用的返回值时 如何实际从查询的结果集数组中提取值 countThemes Singlequery SELECT COUNT 1 FROM items
  • 如何正确增加 mongoDB 中的多个日期?

    我不是一个特别擅长 Javascript 的人 我在尝试更新很多内容时遇到了一些麻烦DateMongo 中的对象 看起来 inc尚未实施Date objects https jira mongodb org browse SERVER 31
  • Facebook OAuth api 登录问题

    我对用于登录的 Facebook API 感到困惑 我在网上找不到任何有用的信息 我的 FB 会话委托方法没有被调用 并且访问令牌和过期日期值没有被设置 所以我认为我从未登录过 我恢复到一个非常简单的应用程序 只有两个按钮 登录 注销 和一
  • openFrameworks 与处理

    我已经阅读了很多有关 openFrameworks 和 Processing 的内容 但仍然无法区分 除了一个是 C 中的 另一个是 Java 中的 有人能告诉我哪个具体是做什么用的吗 你是对的 一个是 C 另一个是 Java 这些差异适用