Athens (http://code.google.com/p/pharo/wiki/Athens) is an innovative open-source vector-graphics framework that lets Pharo users programmatically generate diagrams and other vectorial drawings and animations. Athens supports several rendering back-ends including Cairo (used by, e.g., Firefox).
The goal of this project is to write a new back-end for Athens so that it can generate graphics on an HTML5 canvas. With this back-end in place, it will basically be possible to write a single application that can run native and within web browsers.
The student will have to:
- learn Smalltalk, Athens, Amber, and HTML5
- implement the HTML5 back-end for Athens
- make sure everything works fine with Amber
- implement a small game in Amber to showcase the work
The project will be realized in the Pharo environment as Pharo is the development platform of both Athens and Amber.
Benefits to the Student
- Integration into a prolific community, fond of software development and programming languages;
- Discovery of completely different ways to program object-oriented applications;
- Knowledge of HTML5 canvas and vector-graphics programming;
- Potential integration as a master and/or PhD student within research groups of the community around the world (France, Switzerland, Chile, Belgium, Argentina).
Benefits to the Community
- Facilitate the implementation of games and other graphical tools that can run in the web browser;
- Augment the awareness of developers regarding Pharo and Athens technologies.