Macworld Dev Tools Roundup
Volume Number: 14
Issue Number: 4
Column Tag: Tools Of The Trade
Macworld Developer Tools Roundup
by Michael Rutman, independent consultant
What's new on the tools for developers
Macworld and the Developers' Needs
It's always good to see new products at Macworld, and this year was no exception. This
year, there were some concerns about whether there would be any new or exciting
things in the developer tools market. The tool developers pleasantly surprised
everyone by showing a whole slew of new tools as well as new versions of old tools.
A few companies canceled their products claiming lack of sales, but other companies
quickly jumped into the void. The new companies have gone far beyond what the old
companies ever tried to accomplish. Most likely, those companies that are now gone
actually lost sales to competition rather than a shrinking Macintosh market.
Developer Tools
The core developer's package these days is Metrowerks CodeWarrior. Metrowerks is
now shipping CodeWarrior Pro 2.0, as well as a large number of subsidiary products,
such as SourceSafe and Latitude. CodeWarrior is their main development IDE with
their compilers, and for most Macintosh developers, CodeWarrior Pro 2.0 is a must
buy. Their other products are not as vital, but several of them are very useful.
SourceSafe is a cross-platform source control system. It integrates with
CodeWarrior, and is supposed to be easy to use. Metrowerks started with Microsoft's
source code, and they have been bringing it to the Macintosh for several years, giving
it stability and a Macintosh user experience.
Latitude is a library for porting Macintosh applications to Rhapsody. For developers
with an existing code base that want to live in a Rhapsody world, Latitude is a must buy
product. Metrowerks is using Latitude to port their IDE to Rhapsody, so Latitude is
getting a major workout.
In addition to Macintosh tools, Metrowerks also provides development environments
for creating applications on other platforms, such as BeOS, PalmPilot, and embedded
controllers. I've been told there are now 10 back ends for the Metrowerks IDE.
In addition to Metrowerks IDE, another must buy tool is Resorcerer from
Mathemaesthetics. Resorcerer is the prime resource-editing tool. For many years,
ResEdit, being free, was the premier tool. With Resorcerer 2.0's new features, and
ResEdit's lack of support, most developers will now switch over to Resorcerer, despite
its very high price. At $256 a copy, Resorcerer is currently one of the most
expensive developer tools on the market.
Resorcerer has always been a resource editor, but done with the Macintosh look and
feel. Creating an ALRT (alert) resource didn't just create a resource, it created the
entire family of resources alerts need (actb, ALRT, DITL, DLGX, ictb). Each resource
created is linked together, and all of them can be edited graphically. Non-graphical
resources, such as string lists, are edited using a template. New templates are easy to
use, and ResEdit templates can be imported.
Resorcerer 2.0 goes beyond resources and includes the ability to edit any type of file
as a container. Originally planned for Copland, Resorcerer moves away from the
resource fork nature of Macintosh files, and instead treats all forks like a container
that can hold resources. At first, this may sound like a move away from where its
power is, but in reality, it extends the usefulness of the tool. It is now possible to put
resources in the data fork. As strange as this sounds, there have been many programs
I've worked on where we have embedded resource-like information in the data fork.
With Resorcerer's template ability, we would have been able to edit this information
graphically.
Another nice product shown was AppMaker version 9. AppMaker's followers will
swear by it and refuse to use any interface-creating tool. AppMaker is a bit like
Metrowerks' Constructor in that both create the user interface's applications display.
Where they differ is in both their power and their ease of use. The easiest way to
describe AppMaker is to compare it to Constructor and show where AppMaker shines.
The biggest failing of Constructor is that its ppob holds only half the information
needed to create an interface. Custom views need to be coded in a source file, and if
there is any disagreement between the code and the ppob, the window won't display
correctly. Furthermore, controls have to be hooked up to actions programmatically.
There is no way to test an interface without writing code.
With AppMaker, when an interface is done, source files are generated to produce the
desired user interface. The source files produced can be Pascal, C, C++, PowerPlant,
and others. The source generated includes all the code for creating and hooking up
views, including custom views. This automation prevents many errors that creep into
CodeWarrior projects that use Constructor.
Another nice feature of AppMaker is its separation of user interface and back end.
AppMaker creates source files that control the user interface, and creates stub files to
talk to the source files created. With this model, a change in the UI does not break the
underlying code. This model also helps prevent the proliferation of objects that do
nothing more than tell PowerPlant which window is being loaded.
The demo of AppMaker was a Fahrenheit to Celsius converter. It consisted of a window
with 2 text fields, a slider, and a thermometer. Using the inspector in AppMaker,
controls were hooked up, formulas were created, and everything was done. Four lines
of code, selecting create code, a compile, and it worked. No interaction with the source
files was necessary at all. When asked how hard it would be to programmatically
change the values, I was told that all the variables have public assessor methods, and
calling those will change the values everywhere.
The next type of developer tool everybody has need for is an installer. The installer
market has been going through a shakeup over the last few years with large numbers
of companies going from Aladdin's InstallerMaker to MindVision's Vise. Both Aladdin
and MindVision have new versions, and both respond to fundamental needs of their
customers. A comparison between the two products is always tricky, but both offer
limited versions on their web site to allow everyone a chance to see for themselves.
Aladdin's biggest customer problem was speed and ease of use. Earlier versions of
InstallerMaker could not hold up in a comparison against Vise, and InstallerMaker
sales suffered for it. InstallerMaker uses the tried and true Stuffit Engine to get good
compression reducing the size of the packages for installation. The new version of
InstallerMaker adds installing from ftp sites, uninstalling, time-limited demos, and
updater files. Overall, it looks like Aladdin is finally responding to MindVision's
growing market share.
In the last year or two, MindVision grabbed the lead with a clearly superior product.
Their latest version capitalized on their lead to add a slew of new features. Vise now
has hierarchical packages, multiple targets from a single script, custom layout, better
drag and drop support, better billboard support, web installer, and many other new
features. Vise 5.0 has an improved user interface that many developers will find even
easier to use.
Another must have tool is Bare Bones software's BBEdit 4.5. BBEdit has always been a
useful tool, and it just gets better. Many Unix users show off the power of emacs and
say the Macintosh is just a toy. I can always respond by launching BBEdit and saying
emacs is just a kludge. BBEdit is the text editing tool for the Macintosh that puts any
other text editor on any other platform to shame. If I started listing all the features of
BBEdit now, I would not finish before they came out with a new version with even
more features in it. Not only is BBEdit a powerful and useful tool, its relatively cheap
price makes it a must buy product.
Altura software has a new version of ObjectMaster. ObjectMaster understands C++,
Objective-C, and Java objects, and allows browsing the objects. While other editors,
such as Metrowerks and BBEdit, allow some class browsing, ObjectMaster is built
around it. A large number of features make ObjectMaster a very useful tool to have
around. ObjectMaster does not support compiling a program, but will seemlessly talk
to most IDE's, including Metrowerks and MPW. Altura has done a good job of creating a
development environment where you code like you design.
The last developer tool is a different type of "tool". Developer Depot, however, is
genuinely a useful tool to have in that they have all the developer tools for sale at a
good price. In addition, they help sponsor the pavilions and advertising for other
developer tools. For a developer wanting to buy one or more of the products I've
described, Developer Depot is a must contact company. MacTech also has a CD with all
of its issue through May 1997 fully indexed. Anyone who has let their subscriptions
lapse for a year or two, should pick up the CD and see what they missed.
Rhapsody Development Tools
There were a few Rhapsody development tools at the show, but the only one I found
useful for Macintosh developers right now is Joy. There are other useful and cool
Rhapsody tools coming soon, but Joy was shown at Macworld. The demo of Joy is
overwhelming, and a full review would be hard pressed to do this product justice, but I
believe that Joy takes development tools to a new level.
Basically, Joy is a command line interface, which can be added to your application. The
technology behind the command line relies on Rhapsody's dynamic method dispatch
mechanism. Any object can be accessed, and any method can be called. As everything is
done at run-time, any method with any parameters can be called on any object in any
application linked to Joy.
While an interactive command line to an application is a powerful tool, the creators of
Joy have gone way beyond what I've described. Hopefully, at a later time, we can
present a full review of Joy to our readers.
Other Tools Developers Would Find Useful
While developers will use most productivity software, there are some products, such
as product management software, that are of interest to developers even though they
are not developer-only tools. Walking the show floor, I found quite a few new products
that many developers will find a useful addition.
One of the current dilemmas facing Macintosh programmers today is cross-platform
connectivity. AppleShare is a great tool for transferring files between Macintoshes,
but when Windows machines are involved, something extra is needed. Two products
resolve this, Miramar's PC MacLan, and Dave. Both products allow file transfer and
printing between the platforms, but they do it from the opposite sides. Dave is
installed on the Macintosh and runs on the Macintosh talking Windows. MacLan installs
on a Windows machine with Macintosh clients talking their own language. Depending on
your situation, either product may be more appropriate. As a Macintosh user, I found
MacLan difficult to install, but I'm sure that anyone who knows Windows would find it
easy.
Dave, on the other hand, installs and acts like a Macintosh program should. Without
reading any installation directions, I installed Dave, and in the Apple Menu, there was
a DAVE Access menu item, exactly like I expected. Opening it told me that I had not
configured NetBIOS, and told me where to go to configure NetBIOS. From the NetBIOS
control panel, as I moved the mouse around, each field was described below; a kind of
contextual help that made configuring easy. The only down side to Dave was my needing
to go to the Windows machine and set up domains and stuff.
Another useful tool I saw was PageCharmer. PageCharmer is a set of useful Java
widgets ready for customization and insertion into a web site. Most developers I know
have a web site, and making a cool web site can drain hundreds of hours. There are
many web page creation tools, from DreamWeaver to BBEdit, but PageCharmer isn't
for creating web pages, it's for adding the widgets to make a page look nice. It has a
very nice interface, and customizing buttons and maps was very enjoyable.
While not a tool, I did look at the Contour mouse. The Contour mouse is molded to fit the
hand, and different size mice are available. As I suffer from a bit of RSI, I am always
looking for new ergonomic devices. The mouse has a different feel from the trackball
and normal mice. I don't feel the need to grip it as hard as a normal mouse, but I do feel
it a bit more in the elbow. I haven't had the mouse long enough to know if it works
better or not, but I suspect that it will help my wrist, where I need it most. The mouse
does have two drawbacks, and both of those are only relevant if you share a machine.
The mouse, being sized and molded, will only fit my middle-sized right hand. If my
wife, who is left-handed and has a smaller hand, wants to use my machine, she will
have trouble.
Conclusions
Quite a number of new and updated products were all over the show floor. A lot of good
hard work has gone into making developers' lives easy. For those that could not attend
the show, I hope I've been able to bring you just a taste of the tools that can make your
programming easier.
______________________________
Michael Rutman is an independent software developer for Macintosh and NeXTSTEP.
While working at Software Ventures, he lead the development of Snatcher and
MicroPhone Pro for NeXTSTEP. He also worked on the MicroPhone Pro for Macintosh
product line. To contact Michael Rutman send mail to moose@manicmoose.com.