Bringing Scheme Programming to the iPhone - Experience
Loading...
Date
2012
Journal Title
Journal ISSN
Volume Title
Publisher
Software: Practice and Experience
Abstract
The iPhone SDK provides a powerful platform for the development of applications that
make use of iPhone capabilities such as sensors, GPS, Wi-Fi or Bluetooth connectivity.
Thus far we observe that the development of iPhone applications is mostly restricted to
using Objective-C. However, developing applications in plain Objective-C on the iPhone
OS su ers from limitations such as the need for explicit memory management and lack
of syntactic extension mechanism. Moreover, when developing distributed applications
in Objective-C, programmers have to manually deal with distribution concerns such
as service discovery, remote communication, and failure handling. In this paper, we
discuss our experience on porting the Scheme programming language to the iPhone OS
and how it can be used together with Objective-C to develop iPhone applications. To
support the interaction between Scheme programs and the underlying iPhone APIs, we
have implemented a language symbiosis layer that enables programmers to access the
iPhone SDK libraries from Scheme. In addition, we have designed high-level distribution
constructs to ease the development of distributed iPhone applications in an event-driven
style. We validate and discuss these constructs with a series of examples including an
iPod controller, a maps application and a distributed multiplayer Scrabble-like game.
We discuss the lessons learned from this experience for other programming language
ports to mobile platforms.
Description
Keywords
iPhone development, Scheme, Objective-C, Language symbiosis, Interactive scripting environment, Event-driven programming
Citation
Bainomugisha, E., Vallejos, J., Boix, E. G., Costanza, P., D'Hondt, T., & De Meuter, W. (2012). Bringing Scheme programming to the iPhone—Experience. Software: Practice and Experience, 42(3), 331-356.