Re: GNUStep, OpenStep, NextStep, Cocoa port?

2008-03-08 Thread Gregory John Casamento
Jiva/William,

"Their goal on the visuals are to reproduce the NeXT environment which today 
looks very dated and does not at all integrate well with gnome or kde. Even on 
windows it has  the NeXT look and feel. "

We realize that it's somewhat dated and are working on updating the look.

Theming is very high on the list of things for the GNUstep team to tackle in 
the coming year.  While GNUstep is focused on the API, other projects, such as 
Etoile, are focused on created a comprehensive environment based on GNUstep.
The Etoile project provides a theme engine known as Camealon which can be used 
to make GNUstep's look very modern.

The project is here: 
http://www.etoile-project.org/etoile/mediawiki/index.php?title=Main_Page

As you can see, from the screenshots there, the look of GNUstep when using the 
their theme engine is very modern.   We still need to work on some additional 
issues to make it blend a little better with the native system.   We're not 
finished with this effort, so there is more to come.

"I often wish Apple took more interest in spreading Cocoa to other  platforms. 
Releasing the 2.0 changes is great but only a small part of that."

I think we're all well aware that the probability of something like Cocoa for 
Windows being released is quite low.   Also, I would argue that it would very 
likely have a similar problem, just look at Safari on Windows, it fails to 
blend and looks like a Mac OS X application. 

My advice is that, if you would like to port your application to GNUstep from 
Cocoa, then please keep in contact with us on the gnustep development mailing 
lists and let us know what difficulties you face during the port, we're ready 
to help you.  Our goal is to provide a first class development environment for 
as many platforms as possible.

The GNUstep wiki page is here: http://wiki.gnustep.org/index.php/Main_Page
And a page specifically regarding portability is here: 
http://wiki.gnustep.org/index.php/Writing_portable_code
The GNUstep IRC channel on irc.freenode.net is #gnustep and #gnustep-dev, feel 
free to stop by.

I hope this helps.

Sincerely,

Gregory Casamento -- Principal Consultant - OLC, Inc 
# GNUstep Chief Maintainer

- Original Message 
From: Jiva DeVoe <[EMAIL PROTECTED]>
To: William Zumwalt <[EMAIL PROTECTED]>
Cc: Cocoa-Dev 
Sent: Saturday, March 8, 2008 11:43:37 AM
Subject: Re: GNUStep, OpenStep, NextStep, Cocoa port?

I've done a lot of looking into this. The results are:

If its a command line app that uses foundation only, its very easy. In  
fact I'd go so far as to say GNUstep is a viable Objective C version  
of the C++ standard library in terms of portability. Note: apple is  
even working on releasing the Objective-C 2.0 features to gcc in the  
coming year.

The GUI side is not quite so rosy a picture though. While its possible  
to load cocoa nibs directly in GNUstep and thus probably the  
portability issue is still not so bad, this means your app will really  
only integrate well into the GNUstep environment aesthetically. This  
environment is different from all the Linux desktop environments and  
users either like it or not. Their goal on the visuals are to  
reproduce the NeXT environment which today looks very dated and does  
not at all integrate well with gnome or kde. Even on windows it has  
the NeXT look and feel. The GUI I think also probably is current maybe  
to jaguar, and does not support bindings I think.

So depending on how forgiving your users are, this is a definite  
maybe. On the other hand, its open source, and if you have the  
resources to contribute to it to make cocoa apps more portable that  
can be great too.

I often wish Apple took more interest in spreading Cocoa to other  
platforms. Releasing the 2.0 changes is great but only a small part of  
that.

I'd love to be able to tell fresh college students to learn objective- 
c because it will help them work on any platform.

--
Jiva DeVoe
http://www.random-ideas.net

On Mar 8, 2008, at 12:20 AM, "William Zumwalt" <[EMAIL PROTECTED]>  
wrote:

> Anyone have any experience trying to port a Cocoa XCode app to  
> linux? Are
> the GnuStep or OpenStep libs compatible w/ Cocoa's NextStep? I'd  
> really like
> to try this if it will work and wondering if anyone else has done  
> the same.
> It's not a simple command line app in obj-c, but rather, uses Cocoa  
> and was
> developed on Tiger, haven't made the move to Leopard yet.
>
> Any help, advice much appreciated.
> ___
>
> Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)
>
> Please do not post admin requests or moderator comments to the list.
> Contact the moderators at cocoa-dev-admins(at)lists.apple.com
>
> Help/Unsubscribe/Update your Subscription:
> http://lists.apple.com/mailman/options/cocoa-dev/jiva%40devoesquared.com
>
> This email sent to [EMAIL PROTECTED]
>
___

Cocoa-dev mailing list (Cocoa-dev@lists.app

Re: GNUStep, OpenStep, NextStep, Cocoa port?

2008-03-08 Thread Gregory John Casamento
Kirk,

"IMNTBHO, OpenStep/GnuStep are not useful means for achieving cross- 
platform GUI applications, at least not if the platforms are OS-X and  
Win32."

A number of companies mentioned on our wiki are using GNUstep in production 
environments.  I don't currently know of any companies that are using Cocotron 
in such a way.  Nib support is very complete on GNUstep, I'm not sure about 
Cocotron, but when I last tried it, some of the guis I created didn't look 
quite correct on Windows, if they loaded at all.   With GNUstep you would be 
able to edit the nib or change it into the alternate gorm format to make 
changes specific to the target platform.

Cocotron provides a way to build your application on Mac OS X without having to 
have a windows machine since it provides the toolchain.  Granted it would be 
useful for GNUstep to have a tool chain that works on a Mac so that you could 
compile your applications using Xcode, but you will need to test the results on 
the target platform anyway due to the shortcomings in nib loading stated above 
and as illustrated on Cocotron's own discussion list, which means you'll need 
the deployment platform to be available in any case.   Is there any advantage 
to this approach then?   Why not build on the target platform?

"OTOH, Cocotron,  while  
spottily incomplete, is Doing It Right. Cocotron is a "clean room"  
genuinely open-source (no GPL/LGPL/etc -- _true_ open source)  
recreation of the Cocoa API, (roughly circa Panther/Tiger, so far)  
from scratch."

GNUstep is also "clean room" and "from scratch."  Also, please keep in mind 
that about 70%-80% of all "open source" software is licensed under the GPL and 
the LGPL.   GNUstep is "Free Software" but, at this point, I don't think this 
is the appropriate place for a license flamewar.   

"Downside? So far, Cocotron doesn't have a complete Win32 NSThread  
implementation, although that is, AFAIK, in work. Where threading is  
required to provide Foundation/Appkit functionality it has been done  
by direct invocation of the W32 threading mechanism."

GNUstep doesn't have this issue our NSThread implementation works fine on all 
platforms we deploy to.   GNUstep currently supports compiling on FreeBSD, 
NetBSD, OpenBSD, Linux, Solaris, Windows, etc etc etc. With Cocotron, you 
only get win32 as far as I'm aware.

GNUstep is more than just the Cocoa API, it also has a clone of EOF (GDL) as 
well as WebObjects (GSWeb).  Cocotron doesn't provide these.   Additionally, 
GNUstep has an implementation of CoreData and the DataBuilder application, see 
here: http://www.nongnu.org/gscoredata/

It is important to remember that the two projects have different aims. 
Cocotron's purpose appears to be to create a tool-chain that lets youtarget 
win32 on under Xcode, while GNUstep's purpose is to provide anAPI and 
development environment that allows developers to createapplications on a wide 
array of different platforms using the CocoaAPI.   They are not competing 
projects.

Later, 

Gregory Casamento -- Principal Consultant - OLC, Inc 
# GNUstep Chief Maintainer

- Original Message 
From: Kirk Kerekes <[EMAIL PROTECTED]>
To: [EMAIL PROTECTED]
Cc: cocoadev cocoadev 
Sent: Saturday, March 8, 2008 10:16:25 PM
Subject: Re: GNUStep, OpenStep, NextStep, Cocoa port?

IMNTBHO, OpenStep/GnuStep are not useful means for achieving cross- 
platform GUI applications, at least not if the platforms are OS-X and  
Win32.

Anyone who would disagree should point two out.

OTOH, Cocotron,  while  
spottily incomplete, is Doing It Right. Cocotron is a "clean room"  
genuinely open-source (no GPL/LGPL/etc -- _true_ open source)  
recreation of the Cocoa API, (roughly circa Panther/Tiger, so far)  
from scratch.

Cocotron is developed on Macs, in Cocoa, using XCode. (As such, I  
would argue that it is on-topic for this forum.)

It has Foundation variants that work fairly seamlessly across Win32,  
Linux and 'nixes.

And a Win32 Appkit that can do the fairly amazing trick of delivering  
a standard Win32 native GUI app using UNMODIFIED Mac Cocoa code.

Really. Ugly menus-in-the-windows and all. Built on a Mac using XCode,  
as an alternate target to a Mac target.

Obviously, Cocotron is no threat to Apple because:

1. It produces standard ugly W32 apps -- it isn't "OS-X on a PC" in  
any way, shape or form.
2. It requires a Mac to do development.
3. It lets Cocoa developers leverage their skills into the W32  
marketplace, particularly for in-house specialized app
   development. Then the inevitable moment comes when it becomes  
obvious that the Mac version is faster,
better looking and more reliable...

I have written several OS-X/Win32 apps using Cocotron, and it is  
amazing what one can accomplish. I am tending to push Cocotron's  
envelope -- using socket-based cross-platform IPC, using "multimedia",  
writing