Re: Cross-platform?
Re: Cross-platform?
- Subject: Re: Cross-platform?
- From: Gideon King <email@hidden>
- Date: Thu, 16 Feb 2006 22:55:37 +1000
We used GNUStep/ObjC for the back end, a thin layer of C++ glue code
and C#/.net front end for the Windows version of NovaMind www.nova-
mind.com. The same ObjC back end is used for the Mac version. Result:
very high level of code reuse and complete native experience on both
platforms.
The only real issues we had apart from the usual familiarization/
general design issues were to do with handling NSImages going back
and forth and being usable in Windows. Oh yes, and we are using
native text layout (actually we wrote our own for windows because the
normal windows font handling is appalling!), so the string layout
metrics were different. Apart from that, it has been a pretty smooth
ride. During the course of the project which started about 9 months
ago and is just now starting the roll out phases, GNUStep for Windows
has matured quite a bit, and it is now much easier to build and work
with than when we started. We have somewhere around 150,000 lines of
code in the cross-platform portion of the application, and it just
works.
When I started preparing for the port, I wanted to just use
Foundation and stay completely away from AppKit because I had heard
that it was unstable under GnuStep, but I quickly found that it was
pretty much impossible to do the things that I wanted to do, like
complete handling of NSAttributedStrings (which have things like
NSFonts, NSColors etc from AppKit in them), so had to add AppKit to
the mix, but it didn't cause any issues for the things we have done
with it.
So we have an example of a real world application that was
successfully ported, keeping the lovely Objective-C code for all the
internals and just putting a thin native layer on it to give the best
experience on both platforms.
The windows version of the application is just a newborn babe (first
release yesterday) and still needs performance tuning, but the issues
that we have looked at regarding performance were bottlenecks
elsewhere in our code - we haven't seen anything of serious concern
speed wise for our application on windows/GNUStep (yet). We don't
have anything that we are doing that is ultra-specially speed
critical, so YMMV.
Just thought this would be a good data point...
Gideon King
email@hidden
On 16/02/2006, at 9:31 PM, Markus Hitter wrote:
Am 16.02.2006 um 03:05 schrieb Andrei Tchijov:
If you concern about the fact that your GUI should look as close
as possible to "native" GUI look, then GNUStep is not the best
solution. Just take a look at this screenshot (http://
www.gnustep.org/images/full-screenshot1.png). It does not look
anything like Mac OS X.
This is a screenshot from a Linux or *BSD machine. On Mac OS X,
GNUstep (with the apple-apple-apple libcombo) uses the native
Foundation/AppKit and gives you a fully native user experience
accordingly. In fact, GNUstep on Mac OS X is very thin, mostly
consisting of a make based build system and a bunch of additions to
Foundation/AppKit to improve compatibility.
For an example, you might wan to check out GNUMail.app: <http://
www.collaboration-world.com/gnumail/>
That said, GNUstep is used and maintained mostly by professional
developers, so it lacks a three-clicks-to-get-a-working-app
experience.
Markus
- - - - - - - - - - - - - - - - - - -
Dipl. Ing. Markus Hitter
http://www.jump-ing.de/
_______________________________________________
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
_______________________________________________
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