-
-
Notifications
You must be signed in to change notification settings - Fork 3.3k
Archived Content
#Starting points#
Basic concept description / goals
This Processing+JavaScript library starts with the original goal of Processing at it's beginning, to serve as a software sketchbook and to teach computer programming fundamentals within a visual context, and reimagines it for today, based on JavaScript instead of Java. The focus will first be on basic API and 2D drawing functionality, leaving more advanced graphics features, like shaders and 3D, for later.
start with canvas, reveal
something about syntax, API
Spec out and test a JavaScript library that would enable Processing-like syntax for drawing using Canvas and WebGL. It's both about the syntax and how to code.
Bring "Processing" ideas to JavaScript, rather than to emulate Processing/Java through JavaScript. Explore how to take positive parts of what Processing does, and see what the affordances of JS add/remove to the equation.
Involves both "language design" and "ide design".
Idea of Processing syntax-wise was to take some of the nastiness out of writing Java code (having to define classes, threaded animation loops, etc) before you could make things show up on screen. Starting from scratch with JavaScript as the base language would ideally 1) use the nice bits of JS, and 2) hide the uglier bits.
Current work on the Processing JS port is focused on being able to be code compatible and having things run right out of the box (which is great!), but comes at the cost of keeping some of Java's quirks, while potentially hiding the nicer parts of JS. (Strictly speaking, you can still do JS inside of that mode, but it's not necessarily the intent or the current setup.)
- Khan Academy Computer Science
- Studio Sketchpad
- Light Table
- Sublime
- paper.js
- Ruby-Processing - Ruby syntax but utilizes the ease of Processing for drawing
- Ruby-Processing in practice
- Programming in a visual arts context
- Made for teaching programming
- Bridge to other languages
- Simple publishing for sharing
- Provide educational infrastructure (tutorials, videos, books)
- Community infrastructure
- Extensible through libraries
- Import/Export to diverse media and formats
- Concise IDE, scale to professional IDE
- Free to download
- Open Source
- Developed through workshops, forums, etc.
If you would like to edit this wiki and don't already have edit access, please open an issue or comment on an existing one noting the wiki page you'd like to edit. You will then be added as a repository contributor with edit access.