Processing.js是一个将Processing编程语言移植到JavaScript的项目,由John Resig在2008年创建。Processing最初由Casey Reas和Benjamin Fry开发,旨在为电子艺术和视觉设计社区提供服务。Processing最初被设计为一个软件草图本,并在视觉环境中教授计算机编程的基础知识。随着时间的推移,Processing已经发展成为一个生成专业作品的工具,现在有成千上万的艺术家、设计师、研究人员、学生和业余爱好者使用Processing进行学习、原型设计和生产。
第一次接触到Processing项目是在几年前,发现它是创建令人愉悦的图形的强大工具。上面的图片是Exit,一个半小时的人类迁移数据沉浸式可视化,是Processing系统强大功能的一个绝佳示例。
Processing是一种编程语言,旨在简化创建图像、动画和交互的过程。Processing的理念是创建一个工具,让学生能够通过提供即时满足感的工具学习编程。添加一行代码,屏幕上就会出现一个圆圈,再添加几行代码,圆圈就会跟随鼠标移动,然后通过添加几行代码就可以改变圆圈的颜色。
这被称为用代码绘制草图,用Processing编写的程序通常被称为草图。虽然Processing基于Java,但Processing.js允许任何HTML5兼容的浏览器运行Processing代码,包括当前版本的Firefox、Safari、Chrome、Opera和Internet Explorer。即使Processing.js与其姊妹项目相比有一些限制,但它仍然是最强大的基于HTML5的图形编程环境之一。
下面是一个使用processing.js实现的经典小行星游戏的截图。
截至本文撰写之时,processing.js的当前版本是1.3.6,因此Processing4Net是一个ASP.NET服务器控件的实现,它允许轻松地将Processing文件(*.pde)嵌入到网页中。这个想法是,如果想在页面上添加processing.js功能,只需要写一些简单的东西,而不需要考虑画布或JavaScript。
创建一个ASP.NET服务器控件来处理processing.js相当容易,只要想要的是将Processing文件加载到浏览器中。首先,创建一个名为Processing4Net的C#类库,然后创建控件Processing。
public class Processing : Panel
{
}
选择从Panel派生Processing控件,但目前不要将其视为一个完全功能的面板,因为子控件将不会被正确处理。ToolboxData属性定义了当将控件拖放到页面的设计表面时,将添加到ASP.NET页面的标记代码。接下来需要Processing文件的属性:
[Bindable(true), DefaultValue("")]
public String Sources
{
get
{
return ToString(ViewState["data-processing-sources"]);
}
set
{
ViewState["data-processing-sources"] = value;
}
}
[assembly: WebResource("Processing4Net.processing-1.3.6.js", "text/javascript")]
[assembly: ScriptResource("Processing4Net.processing-1.3.6.js", "Processing4Net.Processing", "Processing4Net.Resource")]