| OpenStep specification 10 years birthday |
Posted 19 Oct 2004 at 16:54 UTC by tarzeau ![]() |
10 the Magic Number
Today, the OpenStep API celebrates its 10th anniversary. What started out as a joint adventure of NeXT and SUN to define an application development standard that would run on all machines, making "write once compile everywhere" a reality, is still unfolding within the vivid and active community of GNUstep, old NeXT and Apple lovers.
The magic 10 appears in GNUstep's current 1.10.x release and in Apple's MacOS X "Cocoa" release. Programmers worldwide can develop their programs on Mac OS, Linux, the BSDs, Solaris, and with a couple of hurdles -- even on Windows. This solid and well-defined standard is reaching out to the world of software development, slowly but surely.
Program your applications in days or weeks, rather than years or never. Use the advanced API of a development framework that hasn't needed significant modification for 10 years, because it rocks, is stable and just works.
Read more about it at GNUstep.
Try a GNUstep live CD.
I am a developer new to Cocoa, after years of C++/X11 experience. I've come to appreciate the advantages of dynamic method binding, and the stability (and simplicity) of the Objective-C programming language. And although Cocoa's interface builder is tricky to wrap your head around, it certainly makes it worth the effort.But now I wonder if the code I'm developing, and to a lesser degree the experience I'm accruing, is stuck in MacOS X. I've read rumors about efforts by the GNUStep team to keep up with new Cocoa features (reminiscent of Stallman single-handedly keeping Symbolics in step with Lisp Machines International). But does anyone have practical experience in going back and forth between the two environments?
And it's not the build environments I'm concerned about. Xcode (Project Builder) is ok, but I'd have no heartburn chucking it for good ol' makefiles. More importantly are the nibs portable (the NeXT Interface Builder files)?
Actually, writing portable code between Cocoa and GNUstep is not that hard. Of course, it only accounts for OpenStep -- obviously if you're using Quicktime for example, it will be a bit harder ;-)
But for a classic OpenStep/Cocoa app, it's mostly a question of writing a GNUstep makefile (which are, btw, extremely easy to write :-) (well actually you also can use ProjectBuilder, an IDE, but i'm too used to thoses nice makefiles ;-) and recompiling your application. Hm. Well, in fact, you also need to redo your nib :-/
It's not that annoying, as there is Gorm, an equivalent of InterfaceBuilder, so redoing your nib won't be very long (at least you don't have to do your UI using code ;-) . But it's still annoying. There is some hope for the future, as it's now possible to save xml nibs on Cocoa, and there is thus some effort to automagically load a Cocoa nib on GNUstep -- but that's not done yet.
You also have the possibility of using Renaissance, an XML framework for describing your UI, that works on GNUstep and OSX (so you write one XML file and it works on both platform). But that's not really an option if you already have nibs imho, and if you prefer IB like myself... ;-)
Ah, last thing, some widgets doesn't exist yet in the GNUstep implementation (the search widget or the NSDrawer), and some new things introduced recently in Cocoa aren't here too (most visibaly, the new binding thing)
But all in all, it's not really difficult to have a crossplatform app.
Just come in to drop a quick note that I will never like NSDrawer! :)
FOAF updates: Trust rankings are now exported, making the data available to other users and websites. An external FOAF URI has been added, allowing users to link to an additional FOAF file.
Keep up with the latest Advogato features by reading the Advogato status blog.
If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!