MacApp is Apple's premiere application framework for creating professional user-friendly, robust, object-oriented Macintosh applications. Commercial developers, consultants and in-house programmers can use MacApp to build advanced powerful applications while freely inheriting characteristics common to all Macintosh applications.
MacApp is an ideal application development framework because it combines the industry standard language C++ with the industry standard in ease-of-use platform, Apple's Macintosh, to provide a customizable vehicle for developing and deploying world-class software products.
MacApp was the first application framework in the market and has been proven to be a reliable and mature product -- so with MacApp you will be debugging your own code, not the framework. MacApp is a powerful and complete framework and brings to you all the code for a generic Macintosh application including the nuances of the Macintosh Toolbox and Apple's Human Interface Guidelines.
With MacApp you can shorten your development cycles by leveraging both object-oriented technology and a Macintosh-ready framework. With a single development effort you can create applications for both the 68K and Power Mac platforms.
MacApp helps you work more productively. Your application can "inherit" the behavior of a standard Macintosh application directly from MacApp code and you can then override the parts you wish to customize. With MacApp and less than a page of your own code, you can have a complete Macintosh application that creates windows, interprets mouse clicks, handles desk accessories, prints files, and supports every other standard feature a Macintosh application is likely to have.
The applications you create with MacApp can run on any Macintosh Plus, Macintosh SE, or Macintosh II computer. If the code you add follows Apple's compatibility guidelines, your applications will run under both the Macintosh and the A/UX operating systems (and will provide MultiFinder compatibility under the Macintosh operating system).
MacApp has been used by companies such as Activision, Farallon, and Odesta to develop commercial applications for net working and communications, accounting, report generation, geographical data display, CAD, optical character recognition, knowledge engineering, and geology.
The MacApp object-oriented framework includes a class library, support tools, and sample MacApp programs. Manuals for beginners as well as experts are available separately. MacApp provides a general structure that implements the standard Macintosh interface, including scrollable, resizable windows and multipage printing. MacApp fosters development of robust, professional-quality applications by providing you with extensive memory management support, exception handling mechanisms, support for "undo" commands, and a large body of ready-to-use, high-quality code that can be inherited by your application.
MacApp code works with all current Macintosh hardware and system software, including Multi Finder and A/UX. The MacApp code adheres strictly to Apple's compatibility guidelines, so it greatly simplifies the task of ensuring that an application will be compatible with future hardware and system software products from Apple. MacApp is already multilingual, and will become even more so in future releases. Applications using MacApp must be written at least partially in Object Pascal; this object-oriented code can call routines written in any MPW (Macintosh Programmer's Workshop) language, including standard Pascal, assembly language, and C. The next release of MacApp will allow programmers to use C++ in place of Object Pascal.
Note that MacApp is a frame work for applications only. MacApp is not the appropriate tool for building other sorts of programs. It cannot be used to create device drivers, desk accessories, or HyperCard XCMDs, for example.
The Class Library
MacApp 2.0 has 72 classes that together handle standard user interface features of Macintosh applications in a manner that adheres strictly to Apple's user interface guidelines. Features handled by MacApp include multiple documents, pull-down menus, desk accessory support, printing, and window manipulations such as scrolling, moving, resizing, and zooming. A frame work is provided to make it easier for the programmer to support other standard user interface features, such as undo, cut, copy, and paste. MacApp also contains an extensive error-handling system that presents detailed error mes sages to an application's user.
- ViewEdit. This MacApp utility program allows you to use a WYSIWYG editing environment to create windows and dialog boxes. ViewEdit allows you to draw, resize, and move your views using the standard Macintosh interface. It even creates and rearranges your view hierarchies as you go.
- MABuild. MABuild is an MPW tool that controls the building of an application from its source files. This latest version is faster, smarter, and more flexible than in previous releases. For example, it has many more defaults, so relatively simple applications (including most of the sample programs included with MacApp) no longer require an MPW "make" file.
- MacApp debugger. The MacApp debugger provides all the usual debugging features, such as breakpoints, stack crawl, trace, and single step. The MacApp Version 2.0 debugger provides faster tracing, built-in commands for controlling MPW performance-monitoring tools, and new context-sensitive on-line help. Now you can also switch into MultiFinder to examine source code while your application is stopped in the debugger.
- Object Inspector. Debug versions of MacApp 2.0 applications allow you to open one or more Object Inspector windows. An Inspector window can display the current values of the fields of any object. Since you can have multiple Inspector windows open, you can inspect several objects at one time. The Object Inspector can display the contents of Macintosh Toolbox data structures as well as MacApp objects.
Six sample programs are included with MacApp. These are complete Macintosh applications that demonstrate many features, including windows that users can move, resize, scroll, and zoom; multiple documents; the Clipboard; cut, copy, and paste; disk-based documents; font changes; multiple views; undo commands; modal and mode less dialog boxes; and printing. Many developers have used these samples as starting points for applications, modifying and expanding a sample until it evolves into a new application.