Article View: comp.sys.mac.programmer.codewarrior
Article #469Re: Looking for cross-platform best practices
From: cmiller
Date: Thu, 17 Mar 2005 16:45
Date: Thu, 17 Mar 2005 16:45
118 lines
6512 bytes
6512 bytes
Here's my experience with cross-platform Java and C++.... My personal experience is that Java is *excellent* for developing cross-platform code quickly and robustly, because of it's excellent set of libraries and tools, and excellent cross-platform support. The achillies heel is the dependency on the java runtime environment, which you must be careful in coding to not be too dependent on a partiular JRE version. But that is true for all cross-platform coding, don't be too dependent on one particular OS version, or OS-specific feature or toolkit of any kind. I think Java meets all of your requirements, although "strongly adhere to each platforms standard interface" is slightly harder since java (e.g. Swing) favors consistency cross-platform. But still, the overall quality and consistency and support for Java programming is excellent. Meanwhile, I am a cross-platform C++ programmer (see my latest product, www.tinkerplots.com). The of the 5 cross-platform C++ commercial desktop apps I have worked on, 3 of them used a home-grown cross-platform framework to code to muliple OSes, 1 used a MacOS API emulator to link into to run on Windows, and one used a commercial cross-platform framework (long time ago so I'm not sure it still exists). These cross-platform frameworks come and go, since cross-platform tools are very hard to generalize, and thus hard for anyone to make $$ by selling them. I would look at Trolltech's "QT" (http://www.trolltech.com/products/qt/index.html), although they do not list Codewarrior support (they list GCC for MacOS compiler). C++ will give you more control, at the expense of more programing work for any given end result, and more work to keep cross-platform compatibility. Java will give you ease of compatibility and speed of coding, at the expense of needing more skill in when it comes to optimizing time-critical sections. It's the basic lower level / higher level language tradeoff. Java is unmatched in my book, for being both mainstream and widespread, yet easy to get fast, good quality results. I've always thought there should be a codewarrior.crossplatform list, since this is what I do, and appreciate Codewarrior the most for. Generally the most long-lived and useful computer applications are cross-platform, but support for cross-platform programming is generally terrible. It's just too easy for any one programmer or tool developer to learn only one OS or programming system, and too hard us learn multiple OSes/languages/systems. Those of us who have successfully escaped these limitations are happy indeed to float between systems and help advance the cause of cross-platform standards. Good luck and let us know what you come up with. In general, every development environment has specific applications, specific strengths and weaknesses. Hard to generalize. I suggest you write a sample cross-platform application in Java/CW and C++/CW for Mac+Win compare from your own experience. CDM Chris McFarling wrote: > I'm a part time web programmer (ASP,VBScript,Javascript,SQL) looking to > transition into traditional application development. I've got some ideas for > programs that I'd like to write so I'm currenly studying up on C++. As I > think ahead to a time that I'm proficient enough to start actully creating > applications, there are some requirements that I'd like to be able to > fullfill. Here's what I'm looking for: > > - Optimum approach to writing an app that will run on Windows and OS X (i.e. > least amount of code, fewest number of tools) > - Not JAVA based > - GUI interface that strongly adhears to each platforms standard interface > guidelines while maintaining consistency accross platforms > - Database integration - both client/server architecture and dektop databse > implementations > - Ability to display image files (possibly large ones) on screen > - As fast as possible (responsiveness to user, computational speed, etc) > - Take full advantage of platform specific technologies (AppleScript, etc) > > I have several years as an end user on both platforms so I know the ins and > outs of each (from a user standpoint). I've also used enough crappy software > in my time to know what sets a good app apart from a sloppy one. As I move > ahead I'd like to start gathering the neccessary tools for my needs so I can > start getting intimately familiar with what I'll be using. From reading > through the threads on here, it's obvious that there are several approaches > to cross platform programming. Is there a defacto standard for doing this > type of thing though? > > Ideally, I envision a solution in which all development is done on a single > platform and compiled for both from that platform. From what I've read it > seems that CodeWarrior Development Tools for Mac OS and Windows can > accomplish this. I know RealBasic takes this approach too, although I'm > assuming that RealBasic won't meet the requirement of being "as fast a s > possible". Then there's XCode and Interface Builder and yada yada yada. I > figure the best place to sort it all out is on a newsgroup such as this > where I can get some feedback from people who have been-there-done-that > already. > > Thanks for any feedback. > > Chris M
Technical Details
Message-ID:
<1111077927.980394.217470@f14g2000cwb.googlegroups.com>Path:
arc1-ca.pugleaf.net!g2news1.google.com!postnews.google.com!f14g2000cwb.googlegroups.com!not-for-mailReferences:
<4XKGd.7822$nt.593@fed1read06>Show Full Headers
Complete Article Headers
X-Google-Thread: f635e,3b32242fe52324ef X-Google-Thread: fd047,3b32242fe52324ef X-Google-Thread: 10bcce,3b32242fe52324ef X-Google-Attributes: gidf635e,gidfd047,gid10bcce,public X-Google-Language: ENGLISH,ASCII-7-bit Path: arc1-ca.pugleaf.net!g2news1.google.com!postnews.google.com!f14g2000cwb.googlegroups.com!not-for-mail From: cmiller@srri.umass.edu Newsgroups: comp.sys.mac.programmer.codewarrior,codewarrior.windows,codewarrior.mac Subject: Re: Looking for cross-platform best practices Date: 17 Mar 2005 08:45:28 -0800 Organization: http://groups.google.com Lines: 119 Message-ID: <1111077927.980394.217470@f14g2000cwb.googlegroups.com> References: <4XKGd.7822$nt.593@fed1read06> NNTP-Posting-Host: 128.119.50.139 Mime-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" X-Trace: posting.google.com 1111077932 24201 127.0.0.1 (17 Mar 2005 16:45:32 GMT) X-Complaints-To: groups-abuse@google.com NNTP-Posting-Date: Thu, 17 Mar 2005 16:45:32 +0000 (UTC) User-Agent: G2/0.2 Complaints-To: groups-abuse@google.com Injection-Info: f14g2000cwb.googlegroups.com; posting-host=128.119.50.139; posting-account=SIhfhA0AAAA7AclWyN8aTjv29q3V_tfR