Введение: ностальгия по будущему
Когда в 1987 году Apple выпустила HyperCard, мало кто догадывался, что этот инструмент станет прародителем целого класса креативного программирования. HyperCard позволял любому пользователю создавать интерактивные приложения — «стеки» карточек с текстом, изображениями, звуком и даже простыми скриптами на языке HyperTalk. Это была эпоха, когда компьютер воспринимался не как сложная машина, а как расширение человеческого творчества. Классическая macOS (тогда System 7) с её метафорой рабочего стола и духом «компьютера для каждого» создавала идеальную среду для таких экспериментов.
Сегодня, спустя почти сорок лет, мы наблюдаем возрождение этой философии. Концепция vibe coding — кодирования «в потоке», без жёстких планов и архитектурных изысков, с акцентом на немедленную визуализацию итераций — находит своё воплощение в платформе Decker. Decker не просто копирует идеи HyperCard; он переосмысливает их с учётом современных технологий и потребностей. Эта статья — глубокое погружение в мир Decker: как он наследует HyperCard и классическую macOS, почему это идеальный инструмент для vibe coding, и как вы можете начать создавать собственные «живые документы» уже сегодня.
HyperCard: революция доступного программирования
HyperCard, разработанный Биллом Аткинсоном, был не «просто» авторской средой. Это была среда, стиравшая грань между пользователем и разработчиком. Каждый стек состоял из карточек, на которых можно было размещать объекты (поля, кнопки, изображения). Самое главное — каждый объект (и сама карточка, и стек) мог содержать скрипт на HyperTalk — языке, близком к естественному английскому. Например, чтобы при нажатии на кнопку открылась другая карточка, можно было написать:
on mouseUp
go to next card
end mouseUp
Такой подход снижал порог входа до минимума. В результате HyperCard стал платформой для всего: от игр и образовательных программ до прототипов интерфейсов и даже первых «вики» (WikidPad был создан на HyperCard). Однако к концу 1990-х Apple прекратила развитие HyperCard, и его наследие осталось в виде концепций «гипертекста», которых не хватало в наступающей веб-эре.
Decker: наследие и инновации
Платформа Decker создана Джоном Эрнестом (John Earnest) с открытым исходным кодом (доступна на GitHub). Она написана на Kotlin с компиляцией в JavaScript, что позволяет запускать Decker-документы в любом современном браузере. Но главное — Decker воспроизводит и расширяет опыт работы с HyperCard. Вот ключевые элементы наследия:
| Элемент HyperCard | Реализация в Decker | Новые возможности Decker |
|---|---|---|
| Карточки (Cards) | Карточки (Cards) | Неограниченные размеры, слои, анимация |
| Стеки (Stacks) | Документы (.decker.zip) | Экспорт в HTML, встраивание в веб |
| Язык HyperTalk | Язык Lil (Little Language) | Функциональное программирование, замыкания, модули |
| Визуальное редактирование | Интерактивный редактор | WYSIWYG, работа с пиксельной графикой, SVG |
| Кнопки (Buttons) | Кнопки, поля, спрайты | Кнопки с кастомизацией, события от мыши и клавиатуры |
Lil — это не точная копия HyperTalk. Он более лаконичный, с синтаксисом, напоминающим Python или Lua, но сохраняет ту же идею: писать программы, управляющие объектами на карточке. Например, чтобы при клике на кнопку показать диалог с текстом, в Lil можно написать:
@onclick
alert "Hello, Decker!"
Decker также заимствует эстетику классической macOS. По умолчанию интерфейс редактора выполнен в стиле System 7: серые монохромные окна, заголовки с полосками, скруглённые углы, классические шрифты (Chicago). Это не просто ностальгическая фишка — такой дизайн уменьшает когнитивную нагрузку, помогая сосредоточиться на творчестве, а не на интерфейсе.
Vibe coding: как Decker меняет процесс разработки
Термин vibe coding ввёл Андрей Карпатый (Andrej Karpathy) в 2025 году. Он описывает практику создания программного обеспечения «в потоке»: вы не пишете детальных спецификаций, не выстраиваете архитектуру заранее, а непрерывно итерациируете, опираясь на обратную связь от кода и визуального результата. По сути, это возвращение к стилю
Комментарии