In article <13gt3ni4lntm141@[EMAIL PROTECTED]
>,
"Chris Shearer Cooper" <chrisnews@[EMAIL PROTECTED]
> wrote:
> I'm a C++/Windows developer at a small (well, tiny) company, and I've
been
> asked to explore what it would take to create an application that could
be
> built for both Windows (XP + Vista) and Mac.
>
> I've never done any Mac programming, so I was hoping people could send
me
> suggestions for books, web sites, tools, etc. that talk about ways to
> accomplish this.
<http://developer.apple.com/>
should be your first stop. From there, you
will find
<http://developer.apple.com/do***entation/****ting/Windows-date.html>
> The application has no UI except for an icon that lives in
> the system tray on Windows (which would be the ... what? ... on Mac),
That depends on what your tool exactly is doing. Apple has a lot of
things that can appear at the right edge of the menu bar (BlueTooth
status, sound volume, Air****t status, etc), and there are ways to stuff
your own menu there (but, as far as I know, no officially sup****ted way).
Alternatives might be
- an application that shows its status in its dock icon
- a preferences plugin
- an application that shows a small,
optionally floating and/or transparent window
- an application that registers a global hotkey
- any combination of the above
From the information you gave I can not even guess what's best for your
program.
Opinion: I use Windows at work for hours each day, and can not think of
anything that lives in the system tray that Microsoft did not provide by
default that I would miss if it wasn't there. I understand that
companies want to fight for my attention, but that does not mean I have
to like that.
> so that makes things easier.
In my book, that makes it harder. There is no 100% match for the System
Tray, so you may have to choose a whole different solution for your
application.
> 1) Have two totally separate codebases, one for Windows, one for Mac.
Could be the best idea, if all or almost all of the code would be
platform specific, anyways. I can not tell that from the information you
gave.
> 2) Have some code be Windows and Mac specific, and then the core
> functionality be shared code.
That is the normal thing to do, but, depending on what your tool does,
the amount of shared code might be so small that this is not worth the
trouble.
> 3) Buy a product like QT
I do not know QT, but would doubt that QT would help at all in creating
that system tray icon-like thing. I also would expect that whatever else
this thing does would not contain much UI stuff.
In some cases, the other QT (QuickTime) might be an option for
cross-platform development, but again, you do not give sufficient info
whether that would be a realistic option.
> Management has said that if QT is worth it, they'll spring for it, but I
> don't know enough about it to know if (QT + my learning curve on QT) <
(my
> learning curve on Mac + time to sup****t multiple code bases).
In general, you should check that whatever you create does not only look
like a Mac product, but also feels like it (and do check that both on
Tiger and on Leopard, due out any day now; I would not bother sup****ting
anything earlier than 10.4)
Opinion: I have my doubts that QT can pull that off (hm, I just
downloaded qt-mac-opensource-4.3.2.dmg and looked at a few sample
applications (I also saw a 'SysTray' example, but could not discover
that it actually did anything on my Mac). That did not change my
opinion. Examples:
- The hideous green off its installer window
- Text fields aren't real Mac text fields:
- no standard font panel
- services do not work
- highlight color is way too saturated
Overall, for me, a tool would have to be extremely useful for it to
counteract these shortcomings. I do not think that, in this respect, I
am that excentric for a Mac user.
Reinder


|