Эта статья не содержит достаточного контекста для тех, кто не знаком с предметом . ( Февраль 2019 ) |
Редактор на основе фреймов — это особый вид редактора структур , обычно используемый в качестве редактора исходного кода для манипуляции компьютерными программами. Элементы программы представлены фреймами , которые образуют стандартную атомарную единицу манипуляции в редакторе.
Фреймы в редакторе представляют собой узлы в базовом синтаксическом дереве языка, например, простые операторы, управляющие структуры или методы, и обрабатываются как отдельные сущности в пользовательском интерфейсе.
Представление программ на основе фреймов на экране использует графические и текстовые элементы. По сути, область действия представлена графическими блоками («фреймами», которые и дали этим редакторам их название), но также используются и другие графические элементы, включая цвет и графическое представление. Манипулирование фреймами в редакторах на основе фреймов обычно поддерживается в равной степени с помощью жестов мыши и манипуляций с клавиатуры.
Концепция кадрового редактирования была разработана в Королевском колледже Лондона как комбинация функций стандартных текстовых редакторов и систем блочного редактирования, таких как Blockly и Scratch . [1] Концепция пытается объединить полезные аспекты блочного и текстового программирования в одной системе. [2]
Редакторы на основе фреймов технически являются гибридными редакторами структуры/текста, которые поддерживают редактирование на более высоком уровне синтаксического дерева в режиме структуры, при этом позволяя редактировать выражения в текстовом режиме. [3] Они копируют ряд концепций из редакторов на основе блоков, таких как графическое представление операторов, которые обрабатываются как атомарные единицы, представлены графически с различной окраской, могут перетаскиваться с помощью жестов мыши, а также предоставление палитр операторов, из которых можно выбирать операторы.
Другие элементы смоделированы по образцу традиционных текстовых редакторов, например, отображение программы в виде линейного текста, редактирование с помощью клавиатуры и свободное редактирование на уровне выражений.
В одном академическом исследовании сравнивалась эффективность редакторов на основе фреймов с эффективностью текстовых редакторов для начинающих программистов. [4]
В настоящее время редакторы на основе фреймов используются в образовательных системах для облегчения начала программирования для начинающих программистов или для поддержки перехода учащихся от образовательных систем на основе блоков, таких как App Inventor , Scratch , Snap! или Alice , к профессиональным средам программирования на основе текста. [5]
Теоретически, эти типы редакторов могут использоваться для манипуляции любым структурированным текстом, включая компьютерные программы, веб-страницы и XML-файлы. Редактор особенно полезен непрофессиональным пользователям, таким как новички или случайные программисты, благодаря своей поддержке обнаруживаемости операторов и сокращению синтаксических ошибок.
Два примера редакторов на основе фреймов — это образовательные среды разработки BlueJ и Greenfoot . Оба поддерживают редактирование на основе фреймов для языка программирования Stride. [6]