TouchDevelop: Productive Scripting on and for Touch-based Devices and Web Services
TouchDevelop is a programming environment that provides high-level abstractions to enable the creation of scripts on and for touch-based devices that access web services. TouchDevelop has four main components: a statically typed scripting language with novel abstractions to support (a) stateless GUIs with support for live programming and (b) replicated data for collaborative applications; a browser-hosted touch-based integrated development environment that makes it possible to productively create small scripts with a single finger on a variety of devices; a set of high-level APIs to make it easy to access device sensors/resources and web services; a cloud back-end that enables a social approach to software development. In this talk, I’ll show how TouchDevelop is being used in education and then dig into the language abstractions and run-time support for live programming and replicated data, as well as the research opportunities opened up by hosting a software environment in the cloud.