Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
MacApp
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
==History== ===Pascal versions=== MacApp was a direct descendant of the [[Lisa Toolkit]], Apple's first effort in designing an object-oriented application framework, led by [[Larry Tesler]]. The engineering team for the Toolkit included Larry Rosenstein, Scott Wallace, and Ken Doyle. Toolkit was written in a custom language known as [[Clascal]], which added object-oriented techniques to the [[Pascal (programming language)|Pascal]] language.<ref name=byte1984_12>{{cite magazine | magazine = [[Byte (magazine)|Byte]] | url = https://archive.org/details/byte-magazine-1984-12-rescan/page/n136/mode/1up | title = Software Frameworks | first = Gregg | last = Williams | pages = 124β127, 394β410 | volume = 9 | number = 13 | date = December 1984 }}</ref><ref name=byte1988_12>{{cite magazine | magazine = [[Byte (magazine)|Byte]] | url = https://archive.org/details/BYTE-1988-12/page/n353/mode/1up | title = Program Extenders | pages = MAC 53-MAC 60 | date = December 1988 | volume = 13 | issue = 13 | first = Laurence H. | last = Loeb }}</ref> Initially, development for the Mac was carried out using a cross-compiler in Lisa Workshop. As Mac sales effectively ended Lisa sales, an effort began to build a new development platform for the Mac. Lisa Programmer's Workshop became in 1985 the [[Macintosh Programmer's Workshop]], or MPW. As part of this process, Clascal was updated to become [[Object Pascal]] and Lisa Toolkit offered design notes for what became MacApp.<ref name=byte1988_12 /> Writing a Mac program without an application framework is not an easy task, but at the time the [[object-oriented programming]] field was still relatively new and considered somewhat suspect by many developers. Early frameworks tended to confirm this suspicion, being large, slow, and typically inflexible. MacApp was perhaps the first truly usable framework in all meanings of the term. Compiled applications were quite reasonable in terms of size and [[memory footprint]], and the performance was not bad enough to make developers shy from it. Although "too simple" in its first releases, a number of follow-up versions quickly addressed the main problems. By this point, around 1987, the system had matured into a useful tool, and a number of developers started using it on major projects. MacApp 2.0 was released in 1989. Among the improvements was a simplification of some of the UI element interactions, and support for Multifinder.<ref name=mw1089_04>{{cite magazine |title=C++ and MacApp 2.0 |journal=[[Macworld]] |date=April 1989 |volume=5 |issue=4 |page=91 |url=https://archive.org/details/MacWorld_8904_April_1989/page/n92/mode/1up |first=Lon |last=Poole }}</ref> As Apple announced it was dropping MPW Pascal support in 1992,<ref name=mt1995_11> {{cite magazine | magazine = [[MacTech]] | url = https://archive.org/details/eu_MacTech-1995-11/page/n31/mode/1up | title = MacApp Pascal Rides again | date = November 1995 | volume = 11 | issue = 11 | pages = 30β31 | first1 = Brian | last1 = Arnold | first2 = Guy | last2 = McCarthy }} </ref> this version didn't get updated, not even with System 7 support, and Pascal developers were left out on their own to port MacApp 2.0 to the PowerPC.<ref name=mt1995_11 /><ref name=mt1996_02>{{cite magazine | magazine = [[MacTech]] | pages = 25β32 | url = https://archive.org/details/eu_MacTech-1996-02_OCR/page/n26/mode/1up | title = MacApp 2 for PowerPC in Object Pascal | date = February 1996 | first = Brian | last = Arnold | volume = 12 | issue = 2 }}</ref> ===C++ versions=== By this point, in the late 1980s, the market was moving towards [[C++]], and the beta version of Apple C++ compiler appeared in 1989, around the MacApp 2.0 release.<ref name=mw1089_04 /> At the same time, Apple was deep in the effort to release [[System 7]], which had a number of major new features. The decision was made to transition to an entirely new version of MacApp, 3.0, which would use C++ in place of Object Pascal.<ref name=mactech1991_02>{{cite magazine| first=Chris |last=Knepper |url=http://www.mactech.com/articles/frameworks/5_2/Approaching_MA_3.0_Knepper.html |title=Approaching MacApp 3.0 |magazine=[[MacTech]] |volume=5 |issue=2 |date=February 1991}}</ref> This move was subject to a long and heated debate between proponents of Object Pascal and C++ in the [[Usenet]] and other forums. Nevertheless, 3.0 managed to garner a reasonable following after its release in 1991, even though the developer suite, MPW, was growing outdated. Apple then downsized the entire developer tools group, leaving both MacApp and MPW understaffed. One of the reasons for this downsizing was Apple's long saga of attempting to introduce the "next great platform" for development, almost always in the form of a cross-platform system of some sort. Their first attempt was [[Bedrock (framework)|Bedrock]], a class library created in partnership with Symantec that ran on the Mac and Windows, which died a lingering death as both parties eventually gave up on working with the other. One of the reasons for their problems was the creation of [[OpenDoc]], which was itself developed into a cross-platform system that competed directly with Bedrock. There were some attempts to position Bedrock as an OpenDoc platform,<ref>{{cite magazine |first1=Kelley |last1=Damore |first2=Tom |last2=Quinlan |url=https://books.google.com/books?id=9zoEAAAAMBAJ&pg=PA8 |title=Bedrock not as solid as Apple originally planned |magazine=[[InfoWorld]] |volume=15 |issue=49 |date=December 6, 1993 |page=8}}</ref><ref>{{cite magazine |first=James |last=Daly |url=https://books.google.com/books?id=WESBpiNtNTEC&pg=PA69 |title=Apple, Symantec rethink role Bedrock will play |magazine=[[Computerworld]] |volume=27 |issue=51 |date=December 20, 1993 |page=69}}</ref> but nothing ever came of this. While these developments were taking place, MPW and MacApp were largely ignored. It was more important to put those developer resources into these new projects to help them reach the market sooner. But when Bedrock failed and OpenDoc found a lukewarm reception, the Mac was left with tools that were now almost a decade old and could not compete with the newer products from third parties. Through the early 1990s competing frameworks grew into real competitors to MacApp. First Symantec's [[Think Class Library|TCL]] garnered a following, but then Metrowerks' [[PowerPlant]] generally took over the entire market. ===Lingering death=== The core developers of MacApp continued to work on the system at a low activity level throughout the 1990s. When all of Apple's "official" cross-platform projects collapsed, in late 1996 the team announced that they would be providing a cross-platform version of MacApp. Soon after, Apple purchased [[NeXT]] and announced that [[OpenStep]] would be Apple's primary development platform moving forward, under the name [[Cocoa (software)|Cocoa]]. Cocoa was already cross-platform, at that time having already been ported to about six platforms, and was far more advanced than MacApp. This led to strong protests from existing Mac programmers protested that their programs were being sent to the "[[Classic Environment|penalty box]]", effectively being abandoned. At WWDC'98, [[Steve Jobs]] announced that the negative feedback about the move to Cocoa was being addressed through the introduction of the [[Carbon (API)|Carbon]] system. Carbon would allow existing Mac programs to run natively under the new operating system, after some conversion. Metrowerks announced they would be porting their PowerPlant framework to Carbon, but no similar announcement was made by Apple regarding MacApp. Through this period there remained a core of loyal MacApp users who grew increasingly frustrated at Apple's behaviour. By the late 1990s, during the introduction of Cocoa, this had grown to outright dismissal of the product. Things were so bad that a group of MacApp users went so far as to organize their own meeting at WWDC '98 under an assumed name, in order to avoid having Apple staffers refuse them a room to meet in. This ongoing support was noticed within Apple, and in late 1999 a "new" MacApp team, consisting of members who had worked on it all along, was tasked with releasing out a new version. Included was the new Apple Class Suites (ACS), a thinner layer of C++ wrappers for many of the new Mac OS features being introduced from OpenStep, and support for building in Project Builder. MacApp 3.0 Release XV was released<ref name=mt2001_02>{{cite magazine | magazine = [[MacTech]] | title = New Mac OS X Related Releases | first = | last = | date = February 2001 | url = https://archive.org/details/eu_MacTech-2001-02_OCR/page/n28/mode/1up | pages = 24 | volume = 17 | issue = 2 }} Mentions MacApp 15d3 with some of the features.</ref> on 28 August 2001 to the delight of many. However, in October the product was killed once again, this time forever, and support for existing versions of MacApp officially ended. The Carbon-compliant PowerPlant X did not ship until 2004, and today Cocoa is almost universal for both MacOS and iOS programming. ===MacApp today=== MacApp is being kept alive by a dedicated group of developers who have maintained and enhanced the framework since Apple stopped supporting it in 2001. MacApp has been updated to fully support Carbon Events, Universal Binaries, Unicode Text, MLTE control, DataBrowser control, FSRefs, XML parsing, Custom Controls, Composite Window, Drawer Window, HIView Window and Custom Windows. MacApp also has C++ wrapper classes for HIObject and HIView. Also the Pascal version, based mainly on MacApp-2, has been ported to Mac OS X and Xcode. It features long Unicode filenames and streamed documents with automatic byte-swapping. MacApp supports the [[Xcode]] IDE. In fact at [[Worldwide Developers Conference|WWDC 2005]], after Apple announced the transition to Intel CPUs, it took a single developer 48 hours to update MacApp and the MacApp example apps to support Universal Binaries.
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)