Re: Cross platform development: Was: Deprecated methods in NSDocument
Re: Cross platform development: Was: Deprecated methods in NSDocument
- Subject: Re: Cross platform development: Was: Deprecated methods in NSDocument
- From: Erik Buck <email@hidden>
- Date: Thu, 24 Nov 2005 21:20:58 -0500
Some folks I know will groan because I am even posting in this
thread. My thoughts on the subject are so well known to so many...
For a mainstream desktop application (not a special purpose tool with
few users):
A) Java model with AWT or Swing GUI - This won't satisfy very many
people on any platform.
B) Java model with Cocoa GUI - This only works on Mac and is not well
supported.
C) Java model with Win32 or .Net GUI - This only works on Windows and
is not well supported.
D) C/C++ model with Carbon GUI - This only works on Mac and is IMHO a
hellish dev environment
E) C/C++ model with Cocoa GUI - This only works on Mac
F) C/C++ model with Win32 or .Net GUI - This only works on Windows
(is Mono ready yet?)
G) C/C++ model with wxWindows/xt or other cross platform GUI - This
won't satisfy very many people on any platform
H) C# model with .Net GUI - This only works on Windows (is Mono ready
yet?)
I) Objective-C/Foundation model with Cocoa/Appkit GUI - This only
works on Mac but is a fantastic dev environment
J) Objective-C/Foundation model with Win32 GUI - This only works on
Windows and is not well supported
K) TCL/Python/Ruby other script language model with hooks to native
GUI - This won't satisfy very many people on any platform.
Did I miss any viable options ?
Bottom line:
If we take away all options that are not well supported or won't
satisfy many people or have hellish dev environments, I think the
only option left is a C/C++ model with Cocoa GUI on Mac and
Win32/.Net GUI on Windows.
P.S. Obviously other people may determine what is a hellish dev
environment differently that I do and that may change the analysis of
the options. The big players like Adobe, Apple, and Microsoft all
use C/C++ model with Carbon on Mac and Win32 on Windows. Maybee they
know what they are doing irrespective of legacy code bases?
History:
The precursor to Cocoa, Openstep, was deployed on Windows before it
was ever deployed on a Mac. Openstep was/is a very nice solution for
cross platform development. You could use Interface Builder, Project
Builder, EOModeler, D'OLE, PDO, etc. and deploy for Openstep Mach
68K, Openstep Mach x86, Openstep Solaris, Openstep for HPUX/Pa RISC,
and Openstep Enterprise for Windows NT/2000.
There is/was a difference of opinion about how "native" an Openstep
application felt on each platform. From my perspective, Microsoft
tried so hard to copy NeXTstep (the precursor to Openstep) when they
built Windows 95 and Windows NT that Openstep applications felt more
native than former Windows 3.1 applications felt. My companies
products were much more widely deployed on Windows NT than any other
platform, and we never had a single complaint about the products'
integration with the platform. In fact, we provided some components
of our Openstep products as ActiveX components so they could be
embedded in MS Word, Excel, etc.
A couple of years after Apple bought NeXT, Apple refused to sell more
deployment licenses for Openstep at any price and reneged on their
often repeated commitments to provide no or low cost Windows licenses
of "Yellow Box".
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Cocoa-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden