【AICon】探索八个行业创新案例,教你在教育、金融、医疗、法律等领域实践大模型技术! >>> 了解详情
写点什么

P5.js 为人们带来了富有创造性的编码方式

  • 2014-09-02
  • 本文字数:1518 字

    阅读完需:约 5 分钟

Lauren McCarthy 发布了 P5.js 的第一个公开测试版,它是一个使艺术家、设计师、教育工作者和初学者等都能够进行编码的 JavaScript 库。

P5.js 由 McCarthy 和纽约大学 ITP 以及其他贡献者共同合作开发,它是一个能够处理可视化编程语言的分支,它使非程序开发人员能够编写JavaScript 代码和创建可视化项目。

McCarthy 在 GitHub 的 P5.js 的概述中描述了该库,他说到:

P5.js 有完整的一套画图功能,既可当作画图软件使用,也包括支持与各类页面元素交互的库。然而,开发者没有被限制自己的画布上,他们可以把整个浏览器页面作为自己的素描区域。正因为如此,P5.js 有一个插件库能够使得开发者非常容易地与其它 HTML5 对象(包括文本、输入、视频、网络摄像头和声音)进行交互。

虽然 P5.js 在某些方面有点和 Processing 相似,不过也有一些主要的不同点。McCarthy 在将程序从 Processing 迁移为 P5.js 的说明中列举了他们之间的主要不同点:

  • 因为你可能把你的素描不单单当作绘图的画布,故 size() 方法已经被 createcanvas() 方法取代,以此说明还可以创建其他元素。
  • frameRate(num) 方法用来设置帧速率,但是帧速率变量参数已经废弃,要想获得当前的帧的速率,请在调用 frameRate() 方法不传入参数。
  • JavaScript 并不总是需要同步加载所需文件,有以下几个选项可以处理这样的需求:
    • 所有的加载方法接收一个可选的回调参数,即一个文件被完全加载后被 调用的函数。
    • 或者,开发者可以把加载的调用处理放在预加载方法 preload() 方法中, 该方法会在 setup() 执行前生效。如果预加载方法已经存在,setup 方法 将会等到所有文件被完全加载才执行,请参考这个图片掩盖的实例。

在 Hacker News 上有一个关于 P5.js 的讨论,主题是“ P5.js:当代 Web 的 Processing ”,Scrimmage 的 UI 总工程师 Brad Greenwald 在公告中评论到:

我非常好奇,是什么使得 P5.js 能够比得上甚至优于 D3.js、EaselJS、Three.js、 Raphaël、 KineticJS、Paper.js、Famo.us,或者是 Impact 等类库?我理解它们的特性集并不完全相同,但是我并不明白它有什么可以称得上创新或是令人兴奋的地方。

Wunderman 的市场营销和技术创新部门的高级副总裁 Gui Ambros 回应到:

读 Dan Shiffman 编写的《自然法典》,你就会立刻明白 Processing(和 P5.js)与其他语言或者框架之间的不同。

正如 Arduino 为大家带来了 IoT 和 hardware hacking,同样的,Processing 也以创造性的代码达到了同样的影响力。有很多没有经验的核心开发者正在使用 Processing 创建数据可视化应用、交互装置、游戏和混合声音、视觉、图形的多媒体应用。

P5.js 通过将画布从一个单一的桌面应用扩展到浏览器的方式,开启了 Processing 的强大能力。这是一个很大的进步,此外,Lauren 围绕该项目创建了一个社区,并且做得非常出色。

P5.js 的官网这样描述该库,它是一个保持活跃开发的项目,并表明它是“一个新的解释器、而不是一个模拟器或者接口”,在即将到来的多项新特性中,其中一项是提供“一个正式的编辑环境”。

P5.js 遵循 GNU GPL 协议发布,因为它是一个开源、协作开发的项目,在此期待着 InfoQ 读者以各种方式参与到P5.js 项目中来,包括开发、文档编写或者培训。同时,P5.js 项目也欢迎设计师、艺术家、作家、组织者和其他任何你可以想象到的角色参与到项目中来。在此,期待着任何想为P5.js 做贡献或者想要合作的人发送邮件到 mailto:hello@p5js.orghello@p5js.org

查 **** 看英文原文 P5.js Brings Creative Coding to the Masses


感谢邵思华对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ )或者腾讯微博( @InfoQ )关注我们,并与我们的编辑和其他读者朋友交流。

2014-09-02 10:0810157
用户头像

发布了 92 篇内容, 共 45.1 次阅读, 收获喜欢 5 次。

关注

评论

发布
暂无评论
发现更多内容

ipp swap质押挖矿模式系统开发方案

V\TG【ch3nguang】

挖矿矿池系统开发案例

趣步运动挖矿模式dapp系统开发经济模型分析

西安链酷科技

区块链游戏 NFT链游 链游开发

查询性能提升10倍!喜马拉雅广告倒排索引设计实践

喜马拉雅技术团队

lucene 性能优化 倒排索引 喜马拉雅

想学习Python网络爬虫?只需要这一篇文章就够了

这我可不懂

Python 网络爬虫

华为云Astro低代码三侠「踢馆」 ,学员:也带带我!

YG科技

接入 NVIDIA A100、吞吐量提高 10 倍!Milvus GPU 版本使用指南

Zilliz

nvidia 非结构化数据 Milvus Zilliz 向量数据库

持币生息理财模式系统开发(源码搭建)

西安链酷科技

DAPP系统开发 积分商城 链上商城

如何选择可靠的海外住宅代理ip?稳定性测试必不可少

摘星星的猫

ARTS 薪火重启之第四周

渣渣辉

DevOps |研发效能之环境、程序、配置、SQL变更管理

laofo

DevOps cicd 研发效能 持续交付 平台工程

C++中虚继承时的构造函数

智趣匠

ARTS 打卡第 27 天

自由

ARTS 打卡计划

西安链游开发 链游开发成本 链游开发周期

西安链酷科技

智能合约 DAPP系统开发 链游开发

Text Workflow for mac(文本工作流程) 1.6.5中文激活版

mac

苹果mac Windows软件 Text Workflow

喜讯!极限科技再次中标中国移动云 Elasticsearch 自研版技术开发服务项目!

极限实验室

elasticsear 极限科技 中国移动云

产业,到底需要什么大模型?

脑极体

产业大模型

Apache IoTDB 确定参与 2023 OSCAR 开源产业大会开源集市!

Apache IoTDB

充满信心地发布您的代币:我们专业的 IDO 代币启动板开发服务

区块链软件开发推广运营

数字藏品开发 dapp开发 区块链开发 链游开发 NFT开发

CloudEon V1.2.0版本发布!

CloudEon开源

大数据

P5.js为人们带来了富有创造性的编码方式_开源_James Chesters_InfoQ精选文章