Please consider a donation to the Higher Intellect project. See https://preterhuman.net/donate.php or the Donate to Higher Intellect page for more info.

MacApp

From Higher Intellect Vintage Wiki
Revision as of 02:18, 31 January 2021 by Netfreak (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search
MALogo.jpg
Macappscreen.jpg

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.

Overview

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 acces­sories, 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 compati­bility 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.

Details

The MacApp object-oriented framework includes a class library, support tools, and sam­ple MacApp programs. Manuals for beginners as well as experts are available separately. MacApp provides a general structure that implements the standard Macintosh interface, in­cluding scrollable, resizable win­dows and multipage printing. MacApp fosters development of robust, professional-quality applications by providing you with extensive memory man­agement 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 en­suring that an application will be compatible with future hardware and system software products from Apple. MacApp is already multi­lingual, and will become even more so in future releases. Appli­cations using MacApp must be written at least partially in Ob­ject Pascal; this object-oriented code can call routines written in any MPW (Macintosh Programmer's Workshop) language, including standard Pascal, assem­bly 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 manipu­lations 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 ex­tensive error-handling system that presents detailed error mes­ sages to an application's user.

Support Tools

  • ViewEdit. This MacApp util­ity program allows you to use a WYSIWYG editing environ­ment 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 ver­sion is faster, smarter, and more flexible than in previous releases. For example, it has many more defaults, so relatively sim­ple applications (including most of the sample programs includ­ed with MacApp) no longer re­quire 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 ex­amine source code while your application is stopped in the debugger.
  • Object Inspector. Debug ver­sions of MacApp 2.0 applica­tions allow you to open one or more Object Inspector windows. An Inspector window can dis­play 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.

Sample Programs

Six sample programs are includ­ed with MacApp. These are com­plete 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.

Related Articles

See Also