Bridging the gap between morphic visual programming and smalltalk code

In this paper, we claim that both prototype-based visual programming and traditional Smalltalk class-based programming are required for developing applications with a GUI. We introduce Easy Morphic GUI (EMG), a framework that connects Morphic and EToys visual manipulation and scripting facilities with the usual Smalltalk development environment tools. The Squeak platform is used here as a playfield for our experiments. A step-by-step tutorial is used to illustrate the main aspects of the EMG framework. We also introduce two reuse operators: embed and clone in order to build new GUIs out of existing ones. embed inserts a GUI into another one, while clone makes the destination look the same as the original. Static and dynamic version of these operators are also investigated.

[1]  Ralph Johnson,et al.  design patterns elements of reusable object oriented software , 2019 .

[2]  Richard Pawson Naked Objects , 2002, IEEE Softw..

[3]  Scott Wallace,et al.  Fabrik: a visual programming environment , 1988, OOPSLA 1988.

[4]  Alan F. Blackwell,et al.  Direct Manipulation , 2009, Encyclopedia of Database Systems.

[5]  Bo Westerlund,et al.  Form is function , 2002, DIS '02.

[6]  Randall B. Smith,et al.  Self: The power of simplicity , 1987, OOPSLA 1987.

[7]  Joëlle Coutaz Architecture Models for Interactive Software , 1989, ECOOP.

[8]  John Maloney,et al.  Back to the Future The Story of Squeak, A Practical Smalltalk Written in Itself , 1997 .

[9]  Mark Guzdial,et al.  Squeak - open personal computing and multimedia , 2001 .

[10]  Mike Potel,et al.  MVP: Model-View-Presenter The Taligent Programming Model for C++ and Java , 1996 .

[11]  G. E. Pfaff,et al.  User Interface Management Systems , 1985, Eurographic Seminars.

[12]  Larry L. Constantine,et al.  Back to the future , 2001, CACM.

[13]  Oscar Nierstrasz,et al.  Idioms for Composing Games with EToys , 2006, Fourth International Conference on Creating, Connecting and Collaborating through Computing (C5'06).

[14]  Ben Shneiderman,et al.  Direct Manipulation: A Step Beyond Programming Languages , 1983, Computer.