Description
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).
Amber (http://amber-lang.net) is a variant of Smalltalk that compiles to JavaScript. Amber is currently gaining momentum as it makes it possible for developers to program web applications using a simple language and very powerful tools.
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.
Technical Details
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.
|