ResEdit

ResEdit, originally developed as Resource Editor, is a developer tool application for the classic Apple Macintosh, used to create and edit resources directly in the Mac's resource fork architecture. It is an alternative to tools such as the resource compiler Rez, and for the average user is generally easier to use, because it uses a graphical user interface.

Background
Resources on the Mac can be of many different types, and in fact any arbitrary data can be turned into a resource. While the system defines many standard formats for particular kinds of resources (e.g. an icon, or a window template), programmers are also free to define their own. ResEdit includes support for editing many of the standard types and for creating arbitrary resources with any structure a programmer might dream up.

ResEdit was one of the earliest examples of a GUI layout tool, an essential component for rapid application development. For example, the Mac OS defines a standard resource called a dialog template and a dialog items list (resource types 'DLOG' and 'DITL' respectively). In ResEdit, it is possible to simply create these types and add GUI elements to them in an almost WYSIWYG fashion, so that you can design a user interface directly as it will appear to the end user of your application. Later, the application code can create a functional dialog box using the stored resource data which will 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 includes standard editors for windows templates ('WIND'), menus ('MENU'), dialog boxes, controls ('CNTL'), colour 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), is the ability to define arbitrary data structures as resources using a simple template building feature. Here, the programmer simply adds elemental data types to a list to define a template (itself stored as a resource of type 'TMPL'). This template allows ResEdit to build a GUI editor on the fly that will allow entry of data and package it into the structure defined in the template. It is 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 includes a number of predefined templates for many standard OS resources that do not require a graphical editor.

ResEdit is no longer available as an application for Mac OS X, as other tools have largely superseded it. A similar tool available from a third-party developer is Resorcerer, and there is an open source Mac OS X-native resource editor called ResKnife. ResEdit will run in the Classic environment of OS X.