Введение

ResEdit — это устаревшее приложение для разработчиков для Apple Macintosh, используемое для создания и редактирования ресурсов непосредственно в архитектуре форка ресурсов Mac. Оно являлось альтернативой таким инструментам, как REdit и компилятор ресурсов Rez. Для обычного пользователя ResEdit, как правило, было проще в использовании, поскольку использовало графический пользовательский интерфейс. Хотя изначально оно предназначалось для разработчиков, опытные пользователи часто использовали его для редактирования значков, меню и других элементов графического интерфейса приложения, настраивая их в соответствии со своими предпочтениями. Ресурсы в Macintosh могли быть разных типов, и фактически любые произвольные данные можно было преобразовать в ресурс. В то время как система определяла множество стандартных форматов для определенных видов ресурсов (например, значок или шаблон окна), программисты также могли свободно определять свои собственные. ResEdit поддерживало редактирование многих стандартных типов и создание произвольных ресурсов с любой структурой, которую считал нужным программист. ResEdit был одним из первых примеров инструмента для компоновки графического интерфейса — важного компонента для быстрой разработки приложений. Например, в классической Mac OS был определен стандартный ресурс, называемый шаблоном диалога и списком элементов диалога (типы ресурсов «DLOG» и «DITL» соответственно). В ResEdit можно было просто создать эти типы и добавить к ним элементы графического интерфейса почти в режиме WYSIWYG, так что пользовательский интерфейс можно было спроектировать непосредственно так, как он будет выглядеть для конечного пользователя приложения. Впоследствии код приложения мог создать функциональное диалоговое окно, используя сохраненные ресурсные данные, соответствующие внешнему виду, созданному в ResEdit. Когда ResEdit впервые появилось в середине 1980-х годов, это было революционным новшеством, а сегодня это обычная практика для программистов. ResEdit включает в себя стандартные редакторы для шаблонов окон (WIND), меню (MENU), диалоговых окон, элементов управления (CNTL), цветовых палитр (clut и pltt), значков (ICON, cicn, ICN#) и различных других стандартных типов. Одной из самых мощных функций ResEdit (которая впервые появилась в версии 2.0) является возможность определения произвольных структур данных в качестве ресурсов с использованием простой функции построения шаблонов. Здесь программист может просто добавить элементарные типы данных в список для определения шаблона (сам по себе хранящегося как ресурс типа TMPL). Этот шаблон позволяет ResEdit создавать графический редактор пользовательского интерфейса «на лету», который позволяет вводить данные и упаковывать их в структуру, определенную в шаблоне. Программисту легко определить соответствующую структуру данных в выбранном языке программирования, например C, загрузить ресурс стандартным способом и получить доступ к данным как к определенному типу C. ResEdit включает в себя ряд предопределенных шаблонов для многих стандартных ресурсов ОС, которые не требуют графического редактора. ResEdit так и не был обновлен для работы на Macintosh на базе PowerPC после перехода с серии Motorola 68000 и не поддерживался в Mac OS X. Apple теперь не рекомендует использовать ресурсные вилки в новых приложениях macOS, предпочитая более портативные пакеты приложений, основанные на NeXT. Долгое время существует коммерческая альтернатива стороннего разработчика под названием Resorcerer, и в последнее время было несколько попыток создать редакторы ресурсов macOS с открытым исходным кодом, в том числе ResKnife. ResEdit будет работать в режиме совместимости Classic в Mac OS X, но Classic недоступен ни на компьютерах Intel Macintosh, ни в Mac OS X v10.5 или более поздних версиях. Однако компьютер Intel Mac может запускать ResEdit через эмулятор, такой как SheepShaver или Basilisk II. Последняя официальная версия ResEdit — 2.1.3, выпущенная в августе 1994 года. Существуют неофициальные сборки, выпущенные как ResEdit 2.1.4 и более поздние, добавляющие такие функции, как декомпилятор и возможность редактирования вилок данных, но они не поддерживаются Apple.