跳到主要内容

Introduction for Creative Coders / 写给 creative coders

源文档地址

创意编程的各种框架,做的事大同小异,真正的差别在于怎么做。vvvv 从 2000 年前后开始开发,二十多年只琢磨一件事:让实时的可视化编程环境更好用、更快。最新的 vvvv gamma 就是这些年经验的结果。

What people are using vvvv for / 用户使用 vvvv 来做些什么​

vvvv 用在很多领域:生成艺术、交互设计、数据可视化、计算机视觉、VR、演出控制、物理计算、机器学习,以及各种快速原型。到 Gallery 看看实际案例。


你之前用什么,决定了 vvvv 能给你带来什么。

Coming from other visual programming environments / 来自其他的创意编程环境​

如果你熟悉这些可视化编程环境:

……那下面几点你大概会感兴趣。

Vast, modular, open-source library of nodes / 庞大、模块化、开源的节点库​

到节点库页面可以纵览 vvvv 的节点库,数量很大。大部分开源,少数因为组织上的原因没能开源。核心库 VL.CoreLib 之外,还有几个大块头:

  • VL.Stride:用作 3D 渲染、着色器编程、VR 等,基于 Stride 引擎
  • VL.Skia:用作 2D 渲染、矢量图形输出等,基于 Skia
  • VL.OpenCV:用作计算机视觉等,基于 OpenCV
  • VL.Fuse:一个用于 Stride 的 GPU 工具集
  • VL.Elementa:一个基于 Skia 的 UI 组件库

此外还有一系列开箱即用的外接设备节点库和 IO 协议节点库。

Export Windows applications / 导出 Windows 应用程序​

用 vvvv 做的任何项目都可以导出成 Windows 应用程序。其他平台在计划中。

Comfortable licensing model / 舒适的授权模式​

非商业用途免费。下载、安装、用:

  • 不会问你多余的问题
  • 没有复制保护
  • 没有功能限制
  • 没有强制注册
  • 按你商业项目的类型和规模付费(个人、自由开发者或中小企业、大型商业项目)
  • 你拿到的始终是最新版本
  • 支持按年或按月计费

要拿 vvvv 做商业项目,按开发者席位买授权就行。

Coming from text based coding / 来自文本编程​

如果你熟悉的是文本形式的创意编程,比如:

……那下面几点可能对你有意思。

Save time / 省时间​

vvvv 没有那个经典的、耗时的「改代码 — 编译 — 运行」循环。你对 vvvv 程序做的每一个改动,都会立刻看到结果。 我们把这叫做实时编程,用的是状态热重载的思路:每次改动都会在底层被立即编译,不需要你去触发。如果出错了,你会就地看到一个标记或提示框告诉你问题在哪,而你可以直接修 —— 不必重启程序,也不会丢掉状态。

再加上现成的节点库,连上就能用,常见场景的原型很快就能搭出来。

Use familiar techniques / 用你熟悉的技术​

VL(vvvv 用的语言)不是那种只能拼现成积木、想扩展却无从下手的可视化语言。它有循环和 if 区块,支持递归,可以定义并实例化自己的数据类型(Generic 的也行),也可以定义和实现接口。所以你不必局限在数据流里,面向对象的经验照样用得上。还有 Delegate 和 Observable,让程序的一部分异步跑起来 —— 这些都不用写一行代码。

Write your own nodes / 自己写节点​

有些东西 —— 比如底层算法 —— 确实还是写文本更顺手。节点可以用纯 C# 或 F# 写,不需要任何 vvvv 专有的样板代码。也正因如此,NuGet 上的任何 .NET 库你都能直接拿来用。

What you may miss / 你可能会怀念的东西​

跟上面那些框架比,有几样东西 vvvv 还没有:

  • vvvv 目前只支持 Windows,我们打算将来改掉这一点
  • vvvv 导不出移动端和网页。并非做不到,只是眼下不在路线图上

Getting Started / 从哪里开始​

在 vvvv 里按 F1 打开帮助面板,那里有大量各种主题的示例和帮助草图。另外:选中任意一个节点再按 F1,可以看到它专属的帮助草图。

还有问题?到论坛或聊天室问,开发者和热心的全球社区都在。