TweetFollow Us on Twitter

Feb 99 Online

Volume Number: 15 (1999)
Issue Number: 2
Column Tag: MacTech Online

Specialty Frameworks

by Jeff Clites <online@mactech.com>

Last September we took a look at MacZoop, a medium-sized, general-purpose framework designed as a tool for those learning to program the Macintosh in C++. This month we are going to look at several smaller frameworks and shells, some general but lightweight and some designed to fulfill a specific purpose.

Moof

Moof (which stands for The Minimal Object-Oriented Framework, and is also the sound made by the famous dogcow) is a tiny C++ framework for Mac applications, written by Joe Strout. It consists of only five files (2 source and 3 header). Because of its size, it can serve as a non-intimidating introduction to the way frameworks work in general and as a reference source for some standard bits of Macintosh code. It would be a good place for beginners to get their feet wet. Moof can also be enhanced using the author's pane classes, which are self-contained and framework-neutral, and can be used with Moof, PowerPlant, MacZoop, with another framework, or by themselves.

Moof
http://www.strout.net/info/coding/macdev/intro.html

YAAF

YAAF (Yet Another Application Framework) is a cross-platform C++ framework from The PandaWave, supporting programming for the Macintosh, Windows 95 and Windows NT, and X Windows. It is freeware, released under the GPL Library License, which allows you to sell applications built using YAAF (check the license for the specific terms). According to its web site, "YAAF provides a basic core framework for working with windows, views, menus, and controls in a portable fashion." The most interesting thing about YAAF is that it is used by its authors to produce all of their software, including the commercial BugLink bug-tracking application.

YAAF
http://www.pandawave.com/yaaf/index.html

CPLAT

CPLAT is another cross-platform C++ framework, supporting both Macintosh and Windows development. Based on its web site, it supports a wide range of user interface elements. CPLAT is not free, although it is low-cost and is priced based on the number of developers - there is no licensing fee for the applications you build.

CPLAT
http://ksoft.net/CPLAT.html

MADE

MADE (Macintosh Application Development Essentials) is a shareware C++ code collection from Sig Software and it forms the basis of several of their products. Not a complete framework per se, its goal is to ease the drudgery of writing the low-level code needed for Mac applications and to help the developer deal with the more tricky aspects, rather than to handle all of the higher-level and user interface issues. Notably, MADE includes code to help with the bug-hunting (or bug-avoiding) process, including support for assertions and memory trashing, with the goal of forcing bugs to manifest themselves reproducibly and as early as possible, rather than laying dormant until encountered by unsuspecting users. (These features were inspired by Steve Maguire's book Writing Solid Code, by the way.)

MADE
http://www.sigsoftware.com/made/

DropShell

DropShell is a small, free shell for writing "droplet" applications-programs which do most of their work by performing some action on items dropped onto their icon in the Finder. Written in C by Leonard Rosenthol, Marshall Clow, and Stephan Somogyi, the shell provides all of the code needed to run the application and handle the necessary AppleEvents-all you have to do is add the code to process the files as they are handed to you by the shell, which can optionally omit folders or recurse through them. It will even manage a splash-screen for you, on the theory that it's good to give users visual feedback that your application is running. It's really very handy.

DropShell
http://www.lazerware.com/software.html

DropUNIX

DropUNIX is an adaptation of the above-described DropShell. It's raison d'être is to provide programmers with a quick and easy way to port UNIX and DOS command-line applications to the Mac. Essentially, it takes the dropped files and passes them to a modified main() as though their paths were passed on the command line. It's a simple idea, but it can save you a lot of time and effort.

DropUNIX
http://www.ZenSpider.com/ZSS/Products/DropUNIX/

ZDropletApp

For readers who are using the MacZoop framework, M. Uli Kusterer has written ZDropletApp. It functions almost exactly like DropShell, but it is based on MacZoop and is intended to give users of that framework a quick and easy way to create a droplet application. Uli has several other MacZoop classes here, including an extensive set of pane classes to help you build sophisticated user interfaces.

Uli's MacZoop Classes
http://www.weblayout.com/witness/ZoopClasses.shtml

Cream

Cream is the creation of Marco Piovanelli, author of the immensely popular WASTE text editing library. It is unique in that it is a lightweight C++ framework whose goal is to help you create scriptable applications that comply with the Apple Event Object Model (AEOM). It replaces Apple's Object Support Library, and lets you handle AppleEvents in a manner which fits very naturally with the C++ object model. It even purports to simplify "whose clause" resolution, which can be a nightmare. Check it out and make your applications scriptable-or Cal Simone will come after you.

Cream
http://www.merzwaren.com/cream/index.html

AppeWin

If you've ever wanted to create system-wide floating windows or Faceless Background-Only applications, then look no further-AppeWin by Matt Slot will show you all you need to know, including all of the nastiness necessary to get color floating windows under previous OS versions. It's useful for its stated purpose, but also for demonstrating a number of sophisticated techniques, including creating a jGNEFilter and using the Drag Manager.

AppeWin
http://www.AmbrosiaSW.com/~fprefect/

CMM Plugins

Contextual Menu Manager plugins were a great addition to MacOS 8. They are useful and easy to write, and they give you an excuse to use the SOM Objects mechanism which was orphaned when OpenDoc left town. They can also force you to keep up your AppleEvent skills, since AEs are the best way to boss around a variety of applications, including the Finder. Trygve Isaacson of Bombay Digital has written a widely-used CMM plug-in framework to make this process even easier. If you are a PowerPlant user, then you should also check out David Thoreau Catmull's CCMArea, which is a set of C++ classes for enhancing PowerPlant's support for contextual menus within your application.

CMM Plug-In Framework
http://www.bombaydigital.com/pages/software/cmm_plugins/framework.shtml
CCMArea
http://www.kagi.com/dathorc/ccmarea.html

These and oceans of other links are available from the MacTech Online web pages at www.mactech.com/online/.

 

Community Search:
MacTech Search:

Software Updates via MacUpdate

Dropbox 193.4.5594 - Cloud backup and sy...
Dropbox is a file hosting service that provides cloud storage, file synchronization, personal cloud, and client software. It is a modern workspace that allows you to get to all of your files, manage... Read more
Google Chrome 122.0.6261.57 - Modern and...
Google Chrome is a Web browser by Google, created to be a modern platform for Web pages and applications. It utilizes very fast loading of Web pages and has a V8 engine, which is a custom built... Read more
Skype 8.113.0.210 - Voice-over-internet...
Skype is a telecommunications app that provides HD video calls, instant messaging, calling to any phone number or landline, and Skype for Business for productive cooperation on the projects. This... Read more
Tor Browser 13.0.10 - Anonymize Web brow...
Using Tor Browser you can protect yourself against tracking, surveillance, and censorship. Tor was originally designed, implemented, and deployed as a third-generation onion-routing project of the U.... Read more
Deeper 3.0.4 - Enable hidden features in...
Deeper is a personalization utility for macOS which allows you to enable and disable the hidden functions of the Finder, Dock, QuickTime, Safari, iTunes, login window, Spotlight, and many of Apple's... Read more
OnyX 4.5.5 - Maintenance and optimizatio...
OnyX is a multifunction utility that you can use to verify the startup disk and the structure of its system files, to run miscellaneous maintenance and cleaning tasks, to configure parameters in the... Read more

Latest Forum Discussions

See All

Zenless Zone Zero opens entries for its...
miHoYo, aka HoYoverse, has become such a big name in mobile gaming that it's hard to believe that arguably their flagship title, Genshin Impact, is only three and a half years old. Now, they continue the road to the next title in their world, with... | Read more »
Live, Playdate, Live! – The TouchArcade...
In this week’s episode of The TouchArcade Show we kick things off by talking about all the games I splurged on during the recent Playdate Catalog one-year anniversary sale, including the new Lucas Pope jam Mars After Midnight. We haven’t played any... | Read more »
TouchArcade Game of the Week: ‘Vroomies’
So here’s a thing: Vroomies from developer Alex Taber aka Unordered Games is the Game of the Week! Except… Vroomies came out an entire month ago. It wasn’t on my radar until this week, which is why I included it in our weekly new games round-up, but... | Read more »
SwitchArcade Round-Up: ‘MLB The Show 24’...
Hello gentle readers, and welcome to the SwitchArcade Round-Up for March 15th, 2024. We’re closing out the week with a bunch of new games, with Sony’s baseball franchise MLB The Show up to bat yet again. There are several other interesting games to... | Read more »
Steam Deck Weekly: WWE 2K24 and Summerho...
Welcome to this week’s edition of the Steam Deck Weekly. The busy season has begun with games we’ve been looking forward to playing including Dragon’s Dogma 2, Horizon Forbidden West Complete Edition, and also console exclusives like Rise of the... | Read more »
Steam Spring Sale 2024 – The 10 Best Ste...
The Steam Spring Sale 2024 began last night, and while it isn’t as big of a deal as say the Steam Winter Sale, you may as well take advantage of it to save money on some games you were planning to buy. I obviously recommend checking out your own... | Read more »
New ‘SaGa Emerald Beyond’ Gameplay Showc...
Last month, Square Enix posted a Let’s Play video featuring SaGa Localization Director Neil Broadley who showcased the worlds, companions, and more from the upcoming and highly-anticipated RPG SaGa Emerald Beyond. | Read more »
Choose Your Side in the Latest ‘Marvel S...
Last month, Marvel Snap (Free) held its very first “imbalance" event in honor of Valentine’s Day. For a limited time, certain well-known couples were given special boosts when conditions were right. It must have gone over well, because we’ve got a... | Read more »
Warframe welcomes the arrival of a new s...
As a Warframe player one of the best things about it launching on iOS, despite it being arguably the best way to play the game if you have a controller, is that I can now be paid to talk about it. To whit, we are gearing up to receive the first... | Read more »
Apple Arcade Weekly Round-Up: Updates an...
Following the new releases earlier in the month and April 2024’s games being revealed by Apple, this week has seen some notable game updates and events go live for Apple Arcade. What The Golf? has an April Fool’s Day celebration event going live “... | Read more »

Price Scanner via MacPrices.net

Apple Education is offering $100 discounts on...
If you’re a student, teacher, or staff member at any educational institution, you can use your .edu email address when ordering at Apple Education to take $100 off the price of a new M3 MacBook Air.... Read more
Apple Watch Ultra 2 with Blood Oxygen feature...
Best Buy is offering Apple Watch Ultra 2 models for $50 off MSRP on their online store this week. Sale prices available for online orders only, in-store prices may vary. Order online, and choose... Read more
New promo at Sams Club: Apple HomePods for $2...
Sams Club has Apple HomePods on sale for $259 through March 31, 2024. Their price is $40 off Apple’s MSRP, and both Space Gray and White colors are available. Sale price is for online orders only, in... Read more
Get Apple’s 2nd generation Apple Pencil for $...
Apple’s Pencil (2nd generation) works with the 12″ iPad Pro (3rd, 4th, 5th, and 6th generation), 11″ iPad Pro (1st, 2nd, 3rd, and 4th generation), iPad Air (4th and 5th generation), and iPad mini (... Read more
10th generation Apple iPads on sale for $100...
Best Buy has Apple’s 10th-generation WiFi iPads back on sale for $100 off MSRP on their online store, starting at only $349. With the discount, Best Buy’s prices are the lowest currently available... Read more
iPad Airs on sale again starting at $449 on B...
Best Buy has 10.9″ M1 WiFi iPad Airs on record-low sale prices again for $150 off Apple’s MSRP, starting at $449. Sale prices for online orders only, in-store price may vary. Order online, and choose... Read more
Best Buy is blowing out clearance 13-inch M1...
Best Buy is blowing out clearance Apple 13″ M1 MacBook Airs this weekend for only $649.99, or $350 off Apple’s original MSRP. Sale prices for online orders only, in-store prices may vary. Order... Read more
Low price alert! You can now get a 13-inch M1...
Walmart has, for the first time, begun offering new Apple MacBooks for sale on their online store, albeit clearance previous-generation models. They now have the 13″ M1 MacBook Air (8GB RAM, 256GB... Read more
Best Apple MacBook deal this weekend: Get the...
Apple has 13″ M2 MacBook Airs available for only $849 today in their Certified Refurbished store. These are the cheapest M2-powered MacBooks for sale at Apple. Apple’s one-year warranty is included,... Read more
New 15-inch M3 MacBook Air (Midnight) on sale...
Amazon has the new 15″ M3 MacBook Air (8GB RAM/256GB SSD/Midnight) in stock and on sale today for $1249.99 including free shipping. Their price is $50 off MSRP, and it’s the lowest price currently... Read more

Jobs Board

Early Preschool Teacher - Glenda Drive/ *Appl...
Early Preschool Teacher - Glenda Drive/ Apple ValleyTeacher Share by Email Share on LinkedIn Share on Twitter Read more
Senior Software Engineer - *Apple* Fundamen...
…center of Microsoft's efforts to empower our users to do more. The Apple Fundamentals team focused on defining and improving the end-to-end developer experience in Read more
Relationship Banker *Apple* Valley Main - W...
…Alcohol Policy to learn more. **Company:** WELLS FARGO BANK **Req Number:** R-350696 **Updated:** Mon Mar 11 00:00:00 UTC 2024 **Location:** APPLE VALLEY,California Read more
Medical Assistant - Surgical Oncology- *Apple...
Medical Assistant - Surgical Oncology- Apple Hill WellSpan Medical Group, York, PA | Nursing | Nursing Support | FTE: 1 | Regular | Tracking Code: 200555 Apply Now Read more
Early Preschool Teacher - Glenda Drive/ *Appl...
Early Preschool Teacher - Glenda Drive/ Apple ValleyTeacher Share by Email Share on LinkedIn Share on Twitter Read more
All contents are Copyright 1984-2011 by Xplain Corporation. All rights reserved. Theme designed by Icreon.