discuss-gnustep
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Cocotron used for a real-world app


From: Nicola Pero
Subject: Re: Cocotron used for a real-world app
Date: Thu, 30 Oct 2008 10:09:31 +0000


There's no reason any company porting to Windows should ever choose Cocotron over us. We're more complete.
If we had the ability to integrate with Xcode, as Cocotron does

If I were a developer developing a Cocoa application on Xcode, and wanting to port it to Windows
and/or GNU/Linux/Solaris/*BSD, I don't think I would cross-compile. ;-)

I would rather:

1. install a virtual machine software in my Apple. One of those were you can run another OS in a window and can easily pass files from the Apple to the other OS via shared folders etc

2. install Windows (and/or GNU/Linux/Solaris/*BSD/...) in the virtual machine

3. install GNUstep in the virtual machine. For Windows, that just means running an installer.

4. add a GNUmakefile to your Xcode project ... no big deal since you just need to list all
of your source code files in the GNUmakefile and you're done

5. copy the source code to the virtual machine via a shared folder or stuff like that

 6. move to the virtual machine and type 'make'

7. watch your Objective-C Cocoa code being compiled into native Windows/GNU/Linux/Solaris/BSD/whatever
code

8. run immediately the native Windows/GNU/... program on the actual OS you're porting to and see how it works

9. if something's not really looking that good, go back to Xcode, make your changes ...

10. copy the code to the virtual machine, type 'make' again and try again

I suppose someone good with Xcode and VMs would probably be able to automate step 10. so that you only need to click a button in Xcode to have the code copied to the VM and recompiled ... and even
the program started in the VM I guess (build-and-go) ? :-)

I mean, even if you cross-compile, is anyone really going to be developing a Windows application without trying it on Windows ? Obviously you'd install a virtual machine with Windows in it to test your application on Windows. There are so many things to try out - eg, just file names or file paths or how the thing start or how it looks or what it does. But then why cross-compiling at all ? You can
just compile in your Windows virtual machine using GNUstep. :-)

Advantages over Cocootron's cross-compiling solution:

1. real cross-platform portability. If you're porting to other platforms, why stop to Windows only! Once your code works with GNUstep, GNUstep allows you to run your software on Windows, but also on all Unix OSes such as GNU/Linux (any Linux distribution you want!), Solaris, OpenBSD, etc. :-)

2. you easily can run your native code in a native debugger. You may never need it, but the time you really need it because your Windows port is segfaulting in some weird way, being able to use a debugger is
a huge bonus ;-)

3. no cross-compilation is involved; meaning that a big chunk of complications in the linking steps is removed. Linking DLLs on Windows is hard enough if you do it natively on the Windows box itself; you probably don't need the additional complication of cross- compilation. The reduced complexity means if you get in trouble with the DLLs you're more likely to be able to solve the problem. :-)

4. GNUstep is lot more complete in terms of API. A much larger subset of the Cocoa API is available. You don't have to spend time reimplementing APIs that already exist in GNUstep. :-)

5. Massive support - GNUstep is a big project with a large number of people willing to help. You
won't be left alone.  We're here to help. :-)

6. GNUstep-base (aka GNUstep's implementation of Foundation) is superb. 10 years or so of constant development means it's not only complete, but it's being optimized and reoptimized,
tested and retested, written and rewritten a lot of times.  It's *fast*.

7. GNUstep is a very long-term project to provide a free, cross- platform, state-of-the-art Objective-C development framework. It's been here for many, many years and is here to stay in the very long-term; no matter what Apple, Microsoft or whoever else decide to do with their OS or languages or development environments, GNUstep will be here to support your future cross-platform Objective-C development needs.
It's happened before. ;-)

Disadvantages over Cocootron:

1. you do have to learn a bit about GNUmakefiles, and if you add a new source file to Xcode, you will
have to add it to your GNUmakefile (that could be automated too though)

2. you do have to get your hands dirty with Windows/GNU/Linux/... - ie, you have to install it and try things out on the platform you're porting to. I personally doubt you can ever do a successful port to a new platform without trying your program out on the platform regularly!

Thanks




reply via email to

[Prev in Thread] Current Thread [Next in Thread]