|Stable release||2.1.3 / August 1994|
|Operating system||Mac OS|
|Type||Software development tool|
|Website||Mac OS 8 and 9 Developer Documentation: ResEdit|
ResEdit was a developer tool application for the Apple Macintosh, used to create and edit resources directly in the Mac's resource fork architecture. It was an alternative to tools such as REdit, and the resource compiler Rez. For the average user, ResEdit was generally easier to use, because it used a graphical user interface. Although it had been intended to be a developer tool, power users often used it to edit icons, menus, and other elements of an application's GUI, customizing it to their own preferences.
Resources on the Macintosh could be of many different types, and in fact any arbitrary data could be turned into a resource. While the system defined many standard formats for particular kinds of resources (for example, an icon, or a window template), programmers were also free to define their own. ResEdit included support for editing many of the standard types and for creating arbitrary resources with any structure a programmer saw fit.
ResEdit was one of the earliest examples of a GUI layout tool, an essential component for rapid application development. For example, the Mac OS defined a standard resource called a dialog template and a dialog items list (resource types 'DLOG' and 'DITL' respectively). In ResEdit, it was possible to simply create these types and add GUI elements to them in an almost WYSIWYG fashion, such that a user interface could be designed directly as it would appear to the end user of the application. Later, the application code could create a functional dialog box using the stored resource data which would match the appearance you laid out in ResEdit. While hardly a revolutionary concept today, when ResEdit first appeared in the mid-1980s, this was a considerable innovation. ResEdit included standard editors for window templates ('WIND'), menus ('MENU'), dialog boxes, controls ('CNTL'), color palettes ('clut' and 'pltt'), icons ('ICON', 'cicn', 'ICN#'), and various other standard types.
One of ResEdit's most powerful features (which first appeared with ResEdit version 2.0) was the ability to define arbitrary data structures as resources using a simple template building feature. Here, the programmer simply added elemental data types to a list to define a template (itself stored as a resource of type 'TMPL'). This template allowed ResEdit to build a GUI editor on the fly that would allow entry of data and package it into the structure defined in the template. It was then a simple matter for a programmer to define a matching data structure in a chosen programming language, such as C, load the resource in a standard manner and access the data as the defined C type. ResEdit included a number of predefined templates for many standard OS resources that did not require a graphical editor.
ResEdit was never upgraded to run natively on Mac OS X (or, indeed, on PowerPC-based Macintoshes), as Apple now discourages the use of resource forks in new Mac OS X applications, preferring the more portable NeXT-derived application bundles. A long-standing third-party commercial alternative named Resorcerer remains available, and more recently there have been a number of attempts to build open-source Mac OS X-native resource editors, including one called ResKnife. ResEdit will run in Mac OS X's Classic compatibility mode, but Classic is neither available on Intel Macintosh computers, nor in Mac OS X v10.5 or later. However, an Intel Mac can run ResEdit via an emulator such as SheepShaver or Basilisk II.
The last official version of ResEdit is 2.1.3, released in August 1994. Unofficial 'hacks' released as ResEdit 2.1.4 and up exist that add features such as the ability to edit data forks, but these are entirely unsupported by Apple.
- ResEdit Reference (PDF)
- Download ResEdit 2.1.3 from apple.com (MacBinary)
- Download ResEdit 2.1.3 from mirror of ftp.apple.com (BinHex) (README file)
- CODE resource decompiler/editor for ResEdit - mirror of ftp.apple.com (BinHexed Stuffit file) (README file for CODE resource decompiler/editor - mirror)