Введение
Программное обеспечение от Ashton Tate
Framework, выпущенный в 1984 году, представлял собой офисный пакет для работы на (x86) IBM PC и совместимых компьютерах под управлением операционной системы MS DOS. В отличие от других интегрированных продуктов, Framework был разработан не как набор подключаемых модулей с единым стилем, а как единое оконное рабочее пространство, представляющее собой метафору рабочего стола, способное управлять и структурировать "Фреймы", использующие общий базовый формат. Framework можно считать предшественником современной метафоры окон графического пользовательского интерфейса: это был первый универсальный пакет для любой ПК-платформы, предлагавший графический интерфейс (GUI), типографику WYSIWYG на экране и при печати, а также встроенные интерпретаторы.
Предыстория
ValDocs, еще более ранний интегрированный пакет, фактически сопоставимый с оригинальным Macintosh 1984 года и Apple Lisa 1982 года, был разработан компанией Epson как полноценная интегрированная рабочая станция, работавшая на процессоре Zilog Z80 и операционной системе CP/M предыдущего поколения, с графическим пользовательским интерфейсом (GUI) и типографикой "WYSIWYG" на мониторе и при печати. Несмотря на несколько итераций, ValDocs оказался слишком медленным для аппаратного обеспечения, на котором он был выпущен. За несколько месяцев до выхода Framework была выпущена его ближайшая конкурентка – Lotus Symphony. Framework предлагал весь функционал ValDocs в первом универсальном пакете, способном работать на любой PC-платформе. В книге "Программисты на работе" Роберту Карру приписывается роль дизайнера и ведущего разработчика Framework.
Корпорация Forefront
Роберт Карр и Марти Мазнер основали Forefront Corporation для разработки Framework в 1983 году. В июле того же года они обратились к Ashton Tate с просьбой предоставить капитал и в дальнейшем заниматься маркетингом продукта. Вместе с командой из шести человек Карр и компания выпустили оригинальный Framework. Первоначальный релиз Framework включал в себя около дюжины типов фреймов (идентифицируемых функцией FRED, @frametype). Среди типов фреймов были контейнеры, которые можно было заполнять другими фреймами, пустые фреймы, которые могли превращаться в другие типы фреймов в зависимости от ввода пользователя, формулы, встроенные в них, или вывод программы, предназначенный для них, фреймы текстовых процессоров, фреймы плоских баз данных и электронных таблиц, а также графические фреймы. Продукт оказался достаточно успешным, что в 1985 году Ashton Tate приобрела Forefront на год раньше запланированного срока.
Эпоха Эштона-Тейта
Первоначальная команда, теперь работающая на Ashton Tate, продолжала совершенствовать продукт. Более поздние версии Framework включали тип фрейма, способный хранить скомпилированный исполняемый код. Начиная с Framework II (1985), компания также выпускала среду выполнения Framework II Runtime и комплект разработчика Framework II Developer's Toolkit. Эти продукты позволяли разработчикам приложений создавать бизнес-приложения, используя встроенный язык программирования FRED. Новая система электронной почты MHS была интегрирована в Framework, а на рабочий стол добавлена папка MailBox. Framework III был выпущен в 1988–1989 годах, а в 1991 году Framework IV стал последней версией, выпущенной Ashton Tate. Хотя Ashton Tate с юмором рекламировала, что "Lotus использует Framework", Framework не смог завоевать даже незначительную долю рынка, необходимую для того, чтобы стать отраслевым стандартом. Lotus 1-2-3 успешно захватила большую часть рынка электронных таблиц, и после ряда неудач с флагманским продуктом Ashton Tate – dBASE – компания Borland приобрела Ashton Tate, а затем продала Framework компании Selections & Functions, Inc.
Выбор и функции, Inc.
Начиная с Framework V (Framework 5), компания Selections and Functions представила лишь несколько функций — в основном те, которые были необходимы, чтобы офисный пакет не устарел. Например, в Framework VII (Framework 7) были реализованы длинные имена файлов, символ евро и возможность отображения изображений в Framework. Framework VIII (Framework 8) добавил возможность отображения файлов JPEG и BMP, а также загрузки этих файлов в базы данных Framework. Особенно важно, что во всех версиях Framework от Selections and Functions появилась возможность обмена данными "вырезать и вставить" (данными буфера обмена) между Windows и Framework. Подробные списки функций и скриншоты можно найти на домашней странице Framework, указанной ниже. Компания Selections and Functions продолжает продавать Framework, однако публичной информации о цене нет.
Компоненты
В дополнение к типам фреймов с компилированным исполняемым кодом, текущие версии 9 и 10, Framework IX и Framework X, работающие в виртуальном режиме на thunking-платформе, включают в себя файл динамической библиотеки (.FWL), содержащий 32-битный код GUI/API с плоской памятью, который может быть вызван FRED как функция для выполнения в хост-операционной системе, принимающей параметры и возвращающей значение. Современные версии включают компилятор FrameworkPascal, расширяющий Framework и позволяющий компилировать файлы FWL, обращающиеся к Windows API. Программа для работы с электронными таблицами была передовой для своего времени, предлагая настоящую 3D-функциональность, когда электронные таблицы могли формировать структуру, которую можно было "открыть" для отображения отдельной электронной таблицы, а также других типов фреймов – выдающийся пример удобства, который больше нигде не был реализован и был дополнительно улучшен в последующих версиях. Встроенный интерпретатор Framework, язык программирования FRED (Frame Editor), был основан на функции eval языка Lisp. Он может ссылаться на все фреймы и типы в продукте, а также обнаруживать и выполнять все операции пользовательского интерфейса.
Совместимость
Framework работает на большинстве версий Microsoft Windows. Framework 7 была последней версией, которая может работать на Windows 95/98/ME или DOS. Framework 8 и 9 были разработаны для работы в Windows XP, но не поддерживаются в Windows 9x или DOS. Официальные обновления предоставляются для работы Framework в Windows 7 и 8. Framework VIII, Framework IX и Framework 10 работают в виртуальной машине с эмуляцией, интегрированной с последней версией Windows.