写点什么

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:0810935
用户头像

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

关注

评论

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

币安DAPP系统开发技术概念及篡改逻辑

I8O28578624

升级到React-Router-v6

xiaofeng

React

Python 实现栈的几种方式及其优劣

宇宙之一粟

Python 数据结构 11月月更

珠宝加工厂:我的成本下降空间在哪里

华为云开发者联盟

云计算 物联网 华为云 企业号十月 PK 榜

基于BPMN2.0的业务流程引擎

GFE

前端 BPMN 流程引擎

公链defi质押挖矿分红dapp系统开发(合约定制)

开发微hkkf5566

【C语言】前言关键字

謓泽

11月月更

云小课|MRS基础原理之MapReduce介绍

华为云开发者联盟

大数据 华为云 企业号十月 PK 榜

Ten Million-Level Capacity Storage Solution of Student Management System - Examination

David

架构实战营

探索行为可回溯系统的应用与实现

GFE

前端 监控

RocketMQ Flink Catalog 设计与实践

了凡跨境洞察

flink Apache RocketMQ catalog

Wallys/Qualcomm IPQ5018 solution application wifi6 , support M.2 Card Slot for QCN9074 WIFI 6E Card

Cindy-wallys

802.11AX WIFI 6e ipq5018

“鸿蒙生态专家面对面”技术交流会,专家齐聚,等你前来!

HarmonyOS开发者

HarmonyOS

几个你必须知道的React错误实践

xiaofeng

React

测试小白到月薪30K+的测试大佬学习路线图

千锋IT教育

pyside6 qml 自定义边框

Mr_No爱学习

京东云开发者|提高IT运维效率,深度解读京东云AIOps落地实践

京东科技开发者

人工智能 异常检测 时序架构 运维‘

没想到GoFrame的gcache天然支持缓存淘汰策略

王中阳Go

Go golang 高效工作 学习方法 11月月更

基于qiankun的微服务落地实践

GFE

微服务 前端 qiankun

11月必须要了解的一项福利

夏夜许游

AI 双十一 视觉智能

Backdrop Filter

肥晨

css3 css特效 11月月更 css滤镜

CSS3渐变-快来感受CSS的伟大吧(差点闪瞎我的狗眼)

肥晨

11月月更 css3渐变 conic-gradient

PaddleBox:百度基于GPU的超大规模离散DNN模型训练解决方案

百度Geek说

企业号十月 PK 榜 PaddlePaddl 模型训练框架 大规模离散模型

Wallys//IPQ8072/IPQ8074/IPQ8072A/IPQ8074A/HighPower 802.11ax SoC for Routers, Gateways and Access Points

Cindy-wallys

802.11AX IPQ8072 IPQ8074 HighPower

用git上传项目到GitHub或者码云全过程

肥晨

代码上传 githun 11月月更 Git上传

计算机网络:电路、报文与分组交换

timerring

计算机网络 11月月更

【解决】前端开发中的5大痛点

GFE

前端

关于“React 和 Vue 该用哪个”我真的栓Q

京东科技开发者

Vue 前端 Vue 3 VUE 3.0 源码 react rout

你要的react+ts最佳实践指南

xiaofeng

React

量化合约系统开发逻辑篡改方案

I8O28578624

如何更改 datax 以支持hive 的 DECIMAL 数据类型?

明哥的IT随笔

hadoop hive

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