Education/Projects/ProcessingForTheWeb: Difference between revisions

Jump to navigation Jump to search
m
m (Fix typos, other minor changes)
Line 49: Line 49:
* JavaScript performance. In order to compete with the traditional Java-based Processing implementation the web-based implementation of Processing will need to have performance for basic language operations that is comparable to that of Java—which means comparable to C/C++ performance, given the capabilities of today's Java compilers. Recent advances in JavaScript performance provided by the [http://hacks.mozilla.org/2009/07/tracemonkey-overview/ Tracemonkey], [http://webkit.org/blog/214/introducing-squirrelfish-extreme/ Squirrelfish], and [http://code.google.com/p/v8/ V8] JavaScript engines have helped narrow the performance gap in modern browsers like Firefox, Safari, and Chrome. The process of testing a wide variety of existing Processing applications on a JavaScript-based Processing implementation will likely provide a wealth of information on potential areas where further performance improvements are needed.
* JavaScript performance. In order to compete with the traditional Java-based Processing implementation the web-based implementation of Processing will need to have performance for basic language operations that is comparable to that of Java—which means comparable to C/C++ performance, given the capabilities of today's Java compilers. Recent advances in JavaScript performance provided by the [http://hacks.mozilla.org/2009/07/tracemonkey-overview/ Tracemonkey], [http://webkit.org/blog/214/introducing-squirrelfish-extreme/ Squirrelfish], and [http://code.google.com/p/v8/ V8] JavaScript engines have helped narrow the performance gap in modern browsers like Firefox, Safari, and Chrome. The process of testing a wide variety of existing Processing applications on a JavaScript-based Processing implementation will likely provide a wealth of information on potential areas where further performance improvements are needed.
* Canvas [https://developer.mozilla.org/en/Drawing_Graphics_with_Canvas functionality] and [http://ajaxian.com/archives/rendering-performance-in-canvas-compared-to-svg-and-vml performance]. The heart of Processing is image creation and manipulation; the current Processing implementation features no less than [http://processing.org/reference/environment/#Rendering_modes four different rendering modes] to enable developers to achieve the fastest graphics performance possible for their particular uses of Processing. Adopting Canvas as the underlying graphics interface for Processing on the Web could help drive improvements to Canvas performance and functionality (e.g., adding [https://wiki.mozilla.org/Canvas:3D 3D support]).
* Canvas [https://developer.mozilla.org/en/Drawing_Graphics_with_Canvas functionality] and [http://ajaxian.com/archives/rendering-performance-in-canvas-compared-to-svg-and-vml performance]. The heart of Processing is image creation and manipulation; the current Processing implementation features no less than [http://processing.org/reference/environment/#Rendering_modes four different rendering modes] to enable developers to achieve the fastest graphics performance possible for their particular uses of Processing. Adopting Canvas as the underlying graphics interface for Processing on the Web could help drive improvements to Canvas performance and functionality (e.g., adding [https://wiki.mozilla.org/Canvas:3D 3D support]).
* Applications of [http://labs.mozilla.com/projects/bespin/ Bespin] and similar technologies. As noted above, one of the nice things about the Processing environment is that it offers a simple straightforward interface for novices to start creating Processing "sketches". Any Processing for the Web implementation will need to duplicate this ease of use, and could also add other features enabled by the web environment, such as storing code in the close and providing easy but powerful ways to collaborate with others on sketch development. Processing on the Web could be a significant "customer" for Bespin, "a Mozilla Labs experiment that proposes an open, extensible web-based framework for code editing", and could help spur Bespin's transition from an experimental prototype to an actual product.
* Applications of [http://labs.mozilla.com/projects/bespin/ Bespin] and similar technologies. As noted above, one of the nice things about the Processing environment is that it offers a simple straightforward interface for novices to start creating Processing "sketches". Any Processing for the Web implementation will need to duplicate this ease of use, and could also add other features enabled by the web environment, such as storing code in the cloud and providing easy but powerful ways to collaborate with others on sketch development. Processing on the Web could be a significant "customer" for Bespin, "a Mozilla Labs experiment that proposes an open, extensible web-based framework for code editing", and could help spur Bespin's transition from an experimental prototype to an actual product.


Just as a previous generation of advanced web applications drove browser vendors to improve browser performance and functionality, we believe that Processing for the Web can be a real-world application that can spur Mozilla and other browser vendors to provide solid high-performance implementations of the HTML5 family of technologies.
Just as a previous generation of advanced web applications drove browser vendors to improve browser performance and functionality, we believe that Processing for the Web can be a real-world application that can spur Mozilla and other browser vendors to provide solid high-performance implementations of the HTML5 family of technologies.
610

edits

Navigation menu