50万奖金+官方证书,深圳国际金融科技大赛正式启动,点击报名 了解详情
写点什么

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

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

关注

评论

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

【等保小知识】等级保护工作是指等保测评吗?意思一样吗?

行云管家

网络安全 等保 等保测评

Go Error 嵌套到底是怎么实现的?

AlwaysBeta

Go 源码 源码阅读 Go 语言 源码学习

详解数据湖:概念、特征与架构

五分钟学大数据

数据湖 1月月更

零数科技入选毕马威中国“2021领先金融科技50企业”

科技热闻

产业协同,助力数转 | 鲸鲮正式加入中国电信5G产业创新联盟

鲸鲮JingOS

Linux 5G 操作系统 信创 电信

如何构建智能湖仓架构?亚马逊工程师的代码实践来了

亚马逊云科技 (Amazon Web Services)

计算

喜讯!Apache APISIX Committer 张晋涛当选「中国开源先锋 33 人」

API7.ai 技术团队

云原生 微服务网关 APISIX 网关

共建龙蜥社区,支撑商业建设

OpenAnolis小助手

Linux 开源 开发者

“云联邦”构建连云成片、无缝混合的一朵云

华为云开发者联盟

混合云 多云 华为云Stack 云联邦 联邦认证

微帧ROI视频智能编码:基于人眼感兴趣区域,实现极致观感体验

微帧Visionular

视频编码

研究完PagerDuty,我发现一款好用的国产告警管理软件

睿象云

DevOps 运维

做网络安全竟然不了解ATT&CK?这篇文章的介绍详细到令人尖叫

博文视点Broadview

开源操作系统年度技术会议演讲PPT下载来啦!

鉴释

开源 操作系统

关于减碳你是否有很多问号?施家碳中和咨询服务来了!

ToB行业头条

【Node Weekly #417】你需要了解的Node.js内存限制

道道里

前端 Node

低代码实现探索(十七)前端种草点

零道云-混合式低代码平台

移动数字化平台如何让企业生态协同更高效?

BeeWorks

什么是云效,云效平台

阿里云云效

阿里云 DevOps 云原生 研发 研发提效

中小型企业过等保困难有哪些?如何解决?

行云管家

网络安全 企业 过等保

MASA Framework - EventBus设计

MASA技术团队

C# .net 微软 框架 Framework

零数科技入选毕马威中国“2021领先金融科技50企业”

科技热闻

利用 Amazon Batch 来为容器化负载调用海量云端算力

亚马逊云科技 (Amazon Web Services)

计算

武汉智慧城市建设新名片 一城一云打造数字经济新引擎

InfoQ_967a83c6d0d7

构建面向异构算力的边缘计算云平台

火山引擎边缘云

gpu 云原生 边缘计算 算力

【伙伴故事】一盏智能灯,点亮家庭和工业照明的新未来

华为云开发者联盟

物联网 华为云 AIOT PLC 智能照明

快过年了,用五种不同的JS特效带你看烟花

海拥(haiyong.site)

大前端 js 28天写作 前端特效 1月月更

MobTech观察 | CSDN:企业数字化转型如何提升段位?杨冠军畅谈企业数字化前世今生

MobTech袤博科技

数据分析 数字化转型 数据治理 企业 数据可视化

4种Spring Boot 实现通用 Auth 认证方式

华为云开发者联盟

拦截器 spring-boot Auth 传统AOP 参数解析器

Hoo虎符研究院 | 币圈后浪——Osmosis一种高级AMM协议

区块链前沿News

Hoo 虎符交易所 虎符研究院

面试官: Flink双流JOIN了解吗? 简单说说其实现原理

华为云开发者联盟

sql flink join 双流join 数据库SQL

【Frontend Focus #532】前端性能优化

道道里

前端 性能 浏览器

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