openFrameworks
Cinder
processing.py
di!culty of framework
community support
Processing
Slide 6
Slide 6 text
openFrameworks
Cinder
processing.py
di!culty of framework
community support
Processing
Best place to start.
Everything packaged together.
Still very powerful!
Slide 7
Slide 7 text
openFrameworks
Cinder
processing.py
di!culty of framework
community support
Processing
Big jump in language.
Stable platform with strong community.
For when the power of C++ is needed.
Slide 8
Slide 8 text
openFrameworks
Cinder
processing.py
di!culty of framework
community support
Processing
Definitely need to be a confident coder.
Fewer compromises than oF as it
doesn’t try be fully cross-platform.
Targeted at Mac OSes.
Slide 9
Slide 9 text
openFrameworks
Cinder
processing.py
di!culty of framework
community support
Processing
New kid on the block.
Not really a community or a lot of support yet.
Python is incredibly friendly to those just
starting out.
Slide 10
Slide 10 text
How are these platforms similar?
Slide 11
Slide 11 text
Native window handling
Slide 12
Slide 12 text
Native graphics and image handling
Slide 13
Slide 13 text
Simple and direct access to mouse and keyboard input
Slide 14
Slide 14 text
void setup()
void draw()
Slide 15
Slide 15 text
void setup()
void draw()
Do things that happen only once,
when the program begins.
Slide 16
Slide 16 text
Do things that happen repeatedly,
at the frame rate of the program.
void setup()
void draw()
Slide 17
Slide 17 text
Processing
Slide 18
Slide 18 text
Get it from: http://processing.org
Language: Java
OS: Mac, Windows, GNU/Linux, Android
IDE: Own and Eclipse
License: LGPL
Since: 2001
Slide 19
Slide 19 text
Live coding demo
https://github.com/Codasign/guided-tour/processingExample
Slide 20
Slide 20 text
openFrameworks
Slide 21
Slide 21 text
Get it from: http://openframeworks.cc
Language: C++
OS: Mac, Windows, GNU/Linux, iOS, Android
IDE: XCode, Eclipse, Code::Blocks, Visual
Studio
License: MIT License
Since: April 2008 first commit on github
Slide 22
Slide 22 text
Live coding demo
https://github.com/Codasign/guided-tour/oFExample
Slide 23
Slide 23 text
Cinder
Slide 24
Slide 24 text
Get it from: http://libcinder.org/
Language: C++
OS: Mac, Windows, iOS
IDE: XCode, Visual Studio
License: Simplified BSD
Since: April 2010 first commit on github
Slide 25
Slide 25 text
Live coding demo
https://github.com/Codasign/guided-tour/cinderExample
Slide 26
Slide 26 text
processing.py
Slide 27
Slide 27 text
Get it from: https://github.com/jdf/processing.py
Language: Python (Jython)
OS: Mac, Windows, iOS
IDE: no specified IDE
License: Apache 2.0
Since: July 2010 first commit on github
Slide 28
Slide 28 text
Live coding demo
https://github.com/Codasign/guided-tour/processingpyExample
Slide 29
Slide 29 text
Wrap-Up
Slide 30
Slide 30 text
There are di"erences in the platforms
and libraries!
Full screen
Color modes
Background refreshing
...
Slide 31
Slide 31 text
Processing
All the frustrations that come with Java
Really stable, supportive community
Works out of the box, with no nonsense IDE
IDE becomes quickly limiting, but can move to
Eclipse
From an educational standpoint can be inhibiting
as hides away a lot of programming concepts
(that every Processing instance is an extension of
a base class PApplet)
Slide 32
Slide 32 text
openFrameworks
All the power and problems of C++
http://wiki.openframeworks.cc/index.php?title=OF_for_Processing_users
Really stable, supportive community
Have to deal with an IDE like XCode
Nothing is binary means long compile times and
that correct file structure is essential
Pet peeve is calling everything testApp.cpp and
testApp.h - descriptive class and file names are
your friend!
Slide 33
Slide 33 text
Cinder
Again, all the power and problems of C++
C++ in your face
Much smaller community
Less thorough documentation
Great for Mac
Slide 34
Slide 34 text
processing.py
Python <3
Basically no community
No all-in-one IDE
But it’s Python!
Slide 35
Slide 35 text
Arts programming platforms
...vary in noob-appeal.
...have similar functionality.
...intended for (cross-platform) interactive applications.
Lots of options and resources available.
Slide 36
Slide 36 text
Becky Stewart
[email protected]
@theleadingzero
@codasign_
http://codasign.com