Help: Advice on cross-platform developing tools. 
Author Message
 Help: Advice on cross-platform developing tools.

Hi there,
I am a Macintosh shareware programmer. I currently use the PowerPlant
C++ class library for the Mac (by Metrowerks). I need to target Mac OS
X, Mac OS 8-9, and Win32. I have no experience with native Win32 or
Mac OS X programming. I plan to write utilities (e.g file cataloger,
HTML helper etc..).  I would like to hear from programmers about any
real-world experience with X-platform developing. I have access
(through academic licenses or ownership) of CodeWarrior Pro 5,
RealBasic 3.2 and Visual Studio 6 . I see several approaches:

1) Use RealBasic for the UI since it targets all 3 platforms (OS X,
Mac classic, Win32), and  then use plugins to extend the language.
Pros: single code base, easy to learn, lightweight. Cons:  slower?,
limited access to underlying OS, not mainstream tool especially for
Win32. Does it scale well to large projects?

2) Use PowerPlant for Mac OS and Mac OS X (Carbon), and Visual C++ for
Win32.Pros: "Professional" standard tools , full access to OS. Cons:
steep learning curve for VC++, must develop Win32 on PC (my PC is a
laptop), separate code bases.

2b) as above, but ProjectBuilder/Cocoa for Mac OS X: pros: free tools
!!, will look great on OS X. Cons: THREE code bases!

3) Use Cross platform C++ framework (CPLAT, whisper, Transplant) with
codewarrior. Pros: single code base. Cons: don't know of real-world
examples of using above, still somewhat hard to learn.

4) Java for all three. Cons: No native compilers, need to learn new
language. Pros: Get to learn new "hot" language, single code base?,
deploys to other OS's.

I am leaning mostly towards realbasic, since with plugins I will be
forced to separate my code into independent modules, that I can later
use in VC++/CodeWarrior if I outgrow RB.

Advice, especially from people who have experience with the above, is
really appreciated.

Thanks
Tony Makhlouf



Mon, 17 Nov 2003 20:39:12 GMT  
 Help: Advice on cross-platform developing tools.

Quote:
> 4) Java for all three. Cons: No native compilers, need to learn new
> language. Pros: Get to learn new "hot" language, single code base?,
> deploys to other OS's.

Whatever you do, STAY AWAY FROM JAVA! It will make your life miserable...

Alex.



Mon, 17 Nov 2003 23:24:27 GMT  
 Help: Advice on cross-platform developing tools.
Don't listen to people who don't supply details.

Java may or may not make your life miserable.

I've done Dirty Java Programming on Win32, Linux and Mac
w/o any issues at all other than the obvious performance issues associated
with a Java VM.

Yes, you may need to base you work off the least common denominator which
would be the JVM on the mac more than likely.

Also, you should consider how the JVMs are behaving onder OSX.
There may be the stickiness that has this first response so negative on Java.

Quote:

> > 4) Java for all three. Cons: No native compilers, need to learn new
> > language. Pros: Get to learn new "hot" language, single code base?,
> > deploys to other OS's.

> Whatever you do, STAY AWAY FROM JAVA! It will make your life miserable...

> Alex.



Tue, 18 Nov 2003 00:06:38 GMT  
 Help: Advice on cross-platform developing tools.
I have done a lot of cross platform development.  Choosing the right
tools can be tough, and usually requires some forward thinking.  For
example, you mention Windows and Mac - what about Linux?  Yes, Mac OS
X is Unix under the covers, but if you only write to Carbon on the Mac
(and I mean Carbon for file access, network access - using it for UI
is a given), then it won't port to Linux at all.  So, assuming you
want to use Carbon on the Mac (for 8, 9 and X), and want to support
Linux, you have 3 platforms to deal with.

I have never used RealBasic, or the CPLAT, etc, frameworks.  Working
on commercial apps, I have usually developed a low-level abstraction
layer for Mac, Windows, and Unix.  I then build a partial abstraction
layer on MFC and Powerplant and Motif.  This gives me highly portable
code, but with all the power and flexibility of Powerplant/MFC.  But I
think this is probably overkill for shareware.

Java is a possibility, but since MacOS 9 only supports JDK 1.1, I
don't recommend it (unless you drop support for 9).  At least I have
no interest in writing for Java 1.1, when 1.3 is out, and much better.

I like C++, so I personally would not use RealBasic (and I want to
support Unix).

So I would lean towards CPLAT (or something similar), and use
CodeWarrior to compile both Win and Mac on your Mac, with remote
debugging to your laptop, assuming you don't want to write your own
abstraction layers.  If you don't care about Mac OS 9, Java would be a
real possibility.

Hope this helps,
Brett

Quote:

> Hi there,
> I am a Macintosh shareware programmer. I currently use the PowerPlant
> C++ class library for the Mac (by Metrowerks). I need to target Mac OS
> X, Mac OS 8-9, and Win32. I have no experience with native Win32 or
> Mac OS X programming. I plan to write utilities (e.g file cataloger,
> HTML helper etc..).  I would like to hear from programmers about any
> real-world experience with X-platform developing. I have access
> (through academic licenses or ownership) of CodeWarrior Pro 5,
> RealBasic 3.2 and Visual Studio 6 . I see several approaches:

> 1) Use RealBasic for the UI since it targets all 3 platforms (OS X,
> Mac classic, Win32), and  then use plugins to extend the language.
> Pros: single code base, easy to learn, lightweight. Cons:  slower?,
> limited access to underlying OS, not mainstream tool especially for
> Win32. Does it scale well to large projects?

> 2) Use PowerPlant for Mac OS and Mac OS X (Carbon), and Visual C++ for
> Win32.Pros: "Professional" standard tools , full access to OS. Cons:
> steep learning curve for VC++, must develop Win32 on PC (my PC is a
> laptop), separate code bases.

> 2b) as above, but ProjectBuilder/Cocoa for Mac OS X: pros: free tools
> !!, will look great on OS X. Cons: THREE code bases!

> 3) Use Cross platform C++ framework (CPLAT, whisper, Transplant) with
> codewarrior. Pros: single code base. Cons: don't know of real-world
> examples of using above, still somewhat hard to learn.

> 4) Java for all three. Cons: No native compilers, need to learn new
> language. Pros: Get to learn new "hot" language, single code base?,
> deploys to other OS's.

> I am leaning mostly towards realbasic, since with plugins I will be
> forced to separate my code into independent modules, that I can later
> use in VC++/CodeWarrior if I outgrow RB.

> Advice, especially from people who have experience with the above, is
> really appreciated.

> Thanks
> Tony Makhlouf



Tue, 18 Nov 2003 01:24:09 GMT  
 Help: Advice on cross-platform developing tools.
I think jdk 1.1 is good enough for doing GUIs and
abstracting some file system stuff.

Using 1.1 just means you may have to download swing separately
or something, although I'm not quite sure of that. I'm using Swing on OS 8.6 w/o any catches. Don't recall if it was
part of MRJ or not.

Some carefully written abstraction layers will go a long way if you want to get down and dirty as Brett has advocated,
and use C++ MFC/PowerPlant. I'd be worried about trying to match objects for objects when doing that sort of thing. But
if you need performace, Brett's way is a good way.

Quote:

> I have done a lot of cross platform development.  Choosing the right
> tools can be tough, and usually requires some forward thinking.  For
> example, you mention Windows and Mac - what about Linux?  Yes, Mac OS
> X is Unix under the covers, but if you only write to Carbon on the Mac
> (and I mean Carbon for file access, network access - using it for UI
> is a given), then it won't port to Linux at all.  So, assuming you
> want to use Carbon on the Mac (for 8, 9 and X), and want to support
> Linux, you have 3 platforms to deal with.

> I have never used RealBasic, or the CPLAT, etc, frameworks.  Working
> on commercial apps, I have usually developed a low-level abstraction
> layer for Mac, Windows, and Unix.  I then build a partial abstraction
> layer on MFC and Powerplant and Motif.  This gives me highly portable
> code, but with all the power and flexibility of Powerplant/MFC.  But I
> think this is probably overkill for shareware.

> Java is a possibility, but since MacOS 9 only supports JDK 1.1, I
> don't recommend it (unless you drop support for 9).  At least I have
> no interest in writing for Java 1.1, when 1.3 is out, and much better.

> I like C++, so I personally would not use RealBasic (and I want to
> support Unix).

> So I would lean towards CPLAT (or something similar), and use
> CodeWarrior to compile both Win and Mac on your Mac, with remote
> debugging to your laptop, assuming you don't want to write your own
> abstraction layers.  If you don't care about Mac OS 9, Java would be a
> real possibility.

> Hope this helps,
> Brett


> > Hi there,
> > I am a Macintosh shareware programmer. I currently use the PowerPlant
> > C++ class library for the Mac (by Metrowerks). I need to target Mac OS
> > X, Mac OS 8-9, and Win32. I have no experience with native Win32 or
> > Mac OS X programming. I plan to write utilities (e.g file cataloger,
> > HTML helper etc..).  I would like to hear from programmers about any
> > real-world experience with X-platform developing. I have access
> > (through academic licenses or ownership) of CodeWarrior Pro 5,
> > RealBasic 3.2 and Visual Studio 6 . I see several approaches:

> > 1) Use RealBasic for the UI since it targets all 3 platforms (OS X,
> > Mac classic, Win32), and  then use plugins to extend the language.
> > Pros: single code base, easy to learn, lightweight. Cons:  slower?,
> > limited access to underlying OS, not mainstream tool especially for
> > Win32. Does it scale well to large projects?

> > 2) Use PowerPlant for Mac OS and Mac OS X (Carbon), and Visual C++ for
> > Win32.Pros: "Professional" standard tools , full access to OS. Cons:
> > steep learning curve for VC++, must develop Win32 on PC (my PC is a
> > laptop), separate code bases.

> > 2b) as above, but ProjectBuilder/Cocoa for Mac OS X: pros: free tools
> > !!, will look great on OS X. Cons: THREE code bases!

> > 3) Use Cross platform C++ framework (CPLAT, whisper, Transplant) with
> > codewarrior. Pros: single code base. Cons: don't know of real-world
> > examples of using above, still somewhat hard to learn.

> > 4) Java for all three. Cons: No native compilers, need to learn new
> > language. Pros: Get to learn new "hot" language, single code base?,
> > deploys to other OS's.

> > I am leaning mostly towards realbasic, since with plugins I will be
> > forced to separate my code into independent modules, that I can later
> > use in VC++/CodeWarrior if I outgrow RB.

> > Advice, especially from people who have experience with the above, is
> > really appreciated.

> > Thanks
> > Tony Makhlouf



Tue, 18 Nov 2003 02:53:35 GMT  
 Help: Advice on cross-platform developing tools.
If you want to dabble in Java w/o much commitment, you could use JMK (java
make) to do the command line build control on all platforms, but leave the
coding itself to C/C++ MFC/PowerPlant or any other "manly" approach.

GMAKE , unix make, and DMake, they can all be replaced with JMK as an
exercise in learning Java w/o any penalty at all. JMK can be used to
control fairly complicated build trees. There's no VPATH, but other thann
that ... it's a lot like GMAKE , but with slightly different functions,
and you can write your own plugin functions for doing list and variable
manipulration and path syntax conversions.



Tue, 18 Nov 2003 03:03:21 GMT  
 Help: Advice on cross-platform developing tools.

Quote:

> > 4) Java for all three. Cons: No native compilers, need to learn new
> > language. Pros: Get to learn new "hot" language, single code base?,
> > deploys to other OS's.

> Whatever you do, STAY AWAY FROM JAVA! It will make your life miserable...

I think that's overstating it a bit. Java was designed - and very well,
I might add - to be suitable for a specific family of projects. When it
became hot, a lot of people looked to it as a panacea, but it's not
that and it wasn't intended to be. If you use it for what it was
designed for, it's a great tool. If you use it for something outside
its design goals it can suck. Or you might get lucky. Like most tools.

G



Tue, 18 Nov 2003 05:01:34 GMT  
 
 [ 12 post ] 

 Relevant Pages 

1. IDE for developing cross-platform GUI Windows/Linux/Mac apps

2. Advice on cross platform Open GL

3. Cross-platform GUI tools?

4. Need help: cross-platform problems with balloon help and adjustable panes

5. Cross platform, or platform independent fortran 90 compilers?

6. Q: Cross platform rexx help needed.

7. Cross-platform help system for Tk app

8. Cross Reference Tool ** HELP

9. Help : Building gnat tools upon a cross gcc ?

10. Developing "Quicken" clone -- advice wanted

11. Developing a free Y2K multi-platform solution

12. Which platform should we develop on first?

 

 
Powered by phpBB® Forum Software