Animation is everywhere.
I teach an introductory 3D animation class at the University of Colorado in Boulder. Since I am in the computer science department, which is in our school of engineering, a lot of my students are computer science and engineering students. The class also draws film studies, art, and geography students. College students today are well aware of the exploding, broad-based marketplace for animation-savvy professionals.
Animation and programing.
Animation is used heavily in both web and desktop applications. Importantly, a number of 3D animation applications can export Flash content, which opens the animation world to web app programmers who don’t have a knack for drawing. There are also native animation capabilities in many programming environments. In fact, drag and drop interface development is widely supported, and there is a growing marketplace for programmers who are familiar with the XML language MXML, which is used by Adobe Flash Builder. A prime competitor is the Microsoft Silverlight technology which uses another XML language, XAML. Both of these languages can be used to build desktop applications, as well. Then there is the drag and drop interface for creating Javafx-based user interfaces that comes with Netbeans.
In the mainline desktop application development world, there is the C++ drag and drop user interface capabilities supported by QT Creator, as well as the various Swing-based design interfaces support by Java development environments.
Where artists meet programmers.
These software development tools are enabling non-hardcore programmers to collaborate with more traditional programmers. In fact, there is an emerging a class of artistic-minded software professionals, and programmers are starting to sense that their territory is being invaded. To defend their turf, they are flocking to animation classes and asking that programming courses include coverage of 2D and 3D animation.
Programmers have a significant advantage, as it turns out. These drag and drop interfaces can be used to produce interface controls for applications easily enough, but they compile down to good old fashioned non-declarative code, and more code must be written to wire up the controls to specific behaviors, and to produce the server side of web applications.
In fact – and this is my point here – the front lines in the software turf war is going to start moving in the other direction, with more and more programmers trained in animation, and able to seamlessly blend animation development skills and traditional programming skills. The pure animation folks are going to have trouble competing.
The bottom line (for me, that is).
This is what I find most exciting about teaching animation: I’m serving a new generation of software professionals who are far more broad-based in their interests and skills. They’re more fun than programmers from my generation.