Frame-based Editor
   HOME

TheInfoList



OR:

A frame-based editor is a specific kind of
structure editor A structure editor, also structured editor or projectional editor, is any document editor that is cognizant of the document's underlying structure. Structure editors can be used to edit hierarchical or marked up text, computer programs, diagrams, c ...
, typically used as a
source code editor A source-code editor is a text editor program designed specifically for editing source code of computer programs. It may be a standalone application or it may be built into an integrated development environment (IDE). Features Source-code editor ...
for the manipulation of computer programs. Program elements are represented by ''frames'', which form the standard atomic unit of manipulation in the editor. Frames in the editor represent nodes in the underlying syntax tree of the language being written, such as simple statements, control structures, or methods, and are manipulated as single entities in the user interface. The representation of frame-based programs on screen makes use of graphical and textual elements. Most fundamentally, scope is presented by graphical boxes (the "frames" that give these editors their name), but other graphical elements, including color and graphical presentation, are also employed. Manipulation of frames in frame-based editors is typically supported equally via mouse-based gestures and keyboard manipulation.


Origin

The concept of Frame-based editing was developed at
King's College London King's College London (informally King's or KCL) is a public university, public research university in London, England. King's was established by royal charter in 1829 under the patronage of George IV of the United Kingdom, King George IV ...
as a combination of features of standard text editors and block-based editing systems, such as
Blockly Blockly is a client-side library for the programming language JavaScript for creating block-based visual programming languages (VPLs) and editors. A project of Google, it is free and open-source software released under the Apache License 2.0. I ...
and
Scratch Scratch or scratching may refer to: Science and technology * Scratch (programming language), an educational programming language developed by the MIT Media Lab * Scratch space, space on the hard disk drive that is dedicated for only temporary ...
. The concept attempts to merge beneficial aspects of block and text programming in a single system.


Relation to block-based editors and text editors

Frame-based editors are technically hybrid structure/text editors which support editing at the higher level of the syntax tree in structure mode, while allowing expression edits in text mode. They copy a number of concepts from block-based editors, such as the graphical representation of statements, which are manipulated as atomic units, presented graphically with distinct colouring, can be dragged-and-dropped with mouse gestures, and the provision of statement palettes from which statements may be chosen. Other elements are modelled on traditional text editors, such as display of the program as linear text, keyboard-driven editing, and free-form editing at the expression level. An academic study has compared effectiveness of frame-based editors to text editors for beginning programmers.


Application

Currently, frame-based editors are used in educational systems to facilitate entry into programming for novice programmers, or to support the transition for learners from educational block-based systems, such as
App Inventor MIT App Inventor (App Inventor or MIT AI2) is a high-level block-based visual programming language, originally built by Google and now maintained by the Massachusetts Institute of Technology (MIT). It allows newcomers to create computer applicat ...
,
Scratch Scratch or scratching may refer to: Science and technology * Scratch (programming language), an educational programming language developed by the MIT Media Lab * Scratch space, space on the hard disk drive that is dedicated for only temporary ...
,
Snap! SNAP! is a German Eurodance group formed in 1989 by producers Michael Münzing and Luca Anzilotti. The act has undergone several lineup changes over the years, featuring American singers, songwriters, and rappers such as Thea Austin, Turbo ...
, or
Alice Alice may refer to: * Alice (name), most often a feminine given name, but also used as a surname Literature * Alice (''Alice's Adventures in Wonderland''), a character in books by Lewis Carroll * ''Alice'' series, children's and teen books by ...
, to professional, text based programming environments. Theoretically, these types of editors can be used for manipulation of any structured text, including computer programs, web pages, and XML files. The editor benefits especially non-professional users, such as novices or casual programmers, due to its support for discoverability of statements and reduction of syntax errors.


Examples

Two examples of frame-based editors are the BlueJ and
Greenfoot Greenfoot is an integrated development environment using Java (programming language), Java or Stride designed primarily for educational purposes at the Secondary school, high school and Undergraduate education, undergraduate level. It allows easy ...
educational development environments. Both support frame-based editing for the Stride programming language.


References

{{reflist Text editor features