[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
Re: Cocotron used for a real-world app, Markus Hitter, 2008/10/29
Message not availableRe: Cocotron used for a real-world app, Rolf Jansen, 2008/10/31
Re: Cocotron used for a real-world app,
Nicola Pero <=
- Re: Cocotron used for a real-world app, Markus Hitter, 2008/10/30
- Re: Cocotron used for a real-world app, Nicola Pero, 2008/10/30
- Re: Cocotron used for a real-world app, Truls Becken, 2008/10/30
- Re: Cocotron used for a real-world app, Nicolas Roard, 2008/10/30
- Re: Cocotron used for a real-world app, David Chisnall, 2008/10/30
- Re: Cocotron used for a real-world app, Nicolas Roard, 2008/10/30
Re: Cocotron used for a real-world app, Helge Hess, 2008/10/30
Re: Cocotron used for a real-world app, Nicola Pero, 2008/10/30
Re: Cocotron used for a real-world app, Stéphane Corthésy, 2008/10/31
Re: Cocotron used for a real-world app, Nicola Pero, 2008/10/31