Master Thesis


Developing JavaScript applications in Eiffel
Master Thesis, December 2010 — May 2011
Author: Alexandru Dima
Supervisor: Martin Nordio and Christian Estler
See report here


Today's software projects are increasingly moving from traditional native applications to web applications. The most popular programming language of the browser is JavaScript. Although it brings flexibility and power, it also introduces headaches to programmers. The language is untyped and everything runs together in the same global scope. Because JavaScript is not compiled and because different browsers implement it differently, it is easy to introduce errors.

Other alternatives to JavaScript have been proposed. For example, browser plugins have been developed such as: Adobe Flash for ActionScript, Microsoft Silverlight for .NET languages or Java Applets for Java. However, lack of adoption of these technologies and performance issues made these solutions not widely used.

On the other side, object-oriented programming languages have demonstrated their power, flexibility and maintainability. Developing programs in these languages is simpler and widely used. This thesis develops a framework to develop web applications in Eiffel. The approach consists in developing the program using Eiffel, and then translating it to JavaScript.