by Mark Giglione 
Part 5: Processing
“Processing”
 is an accessible, open source language that is a popular programming 
project choice for many artists, educators, students and “maker” 
hobbyists (as well as professionals).
Processing
 has an optional capability of supporting Android application 
development directly.  Additionally, Processing can also support app 
development for most major mobile devices “indirectly” using 
“Processing.js.”  Processing.js, a sibling Javascript implementation of 
the original Processing language, now includes support for mobile device
 “touch” events; touch event support allows Processing to be useful in 
the development of mobile device optimized web sites.
Processing
 was originally designed to be an introductory programming language 
targeted for students in the media arts.  It is particularly well suited
 for programming graphics, data visualization and interactivity. 
 Processing is an easy to learn language and beginners at an early stage
 are typically able to write simple programs (often incorporating 
graphics) using only a few lines of code.  Processing is sufficiently 
feature rich to progressively encompass more sophisticated projects as 
the user’s experience and interests grow.  However, even advanced 
Processing projects are generally simpler and more approachable for 
non-technical users as compared to other “professional” programming 
languages.  (Additionally, a closely related customized version of 
Processing is the primary tool available for programming the “Arduino” 
open hardware prototyping system for embedded computing and electronics.
 Learning general Processing programming can provide a head start in 
learning to program Arduino based hardware projects.) 
The
 Processing language and development environment depends on the Java 
Virtual Machine (“JVM”); effectively Processing is a non-Java syntax 
language that runs under the JVM.  Earlier versions of Processing only 
produced programs that either ran under the desktop Java runtime or as 
Java applets suitable for embedding on a web page.  Later versions of 
the Processing development environment added two additional “modes” and 
output “targets.” First, a Processing project can be compiled as an 
Android app (that can run either on an Android device or under an 
Android emulator).  Second, the Processing development environment now 
includes integrated support for Processing.js and can output a 
standalone Processing.js bundle that can be added to a web page.  
Processing can thus be leveraged to facilitate the following options for mobile application development:
1. Direct development and generation of an Android application (using Processing and the Processing development environment).
2. Processing.js based Javascript that can be incorporated into a web site that is optimized for mobile devices.
3.
 Processing.js code embedded as part of a PhoneGap or Titanium 
Appcelerator project; both PhoneGap and Titanium projects can be 
deployed to iOS, Android and several other mobile device platforms.
Processing
Processing.js
OpenProcessing (examples & shared code)
YouTube: Processing 101 (series of 11 introductory video tutorials)
Khan Academy: Computer Science (features Processing.js pedagogically)
Processing for Android
Getting Started with Processing for Android
Mobile App Development [Processing, Android, Tutorial]
Processing.js Mobile App Concept
Arduino
Arduino Software
http://arduino.cc/en/main/software