Domain: gnustep.it
Stories and comments across the archive that link to gnustep.it.
Comments · 28
-
Re:Already there
Free as in beer, not as in speech. The article lists a number of alternatives with varying degrees of maturity and practical utility...
For example, I'm not going to install KDE on Windows just to read PDFs, and if I'm going to recommend an alternative PDF reader to one of my Average Joe friends, customers or relatives I'm not going to have them download one without an installer or from a website whose name has nothing to do with the product (MuPDF) that looks like it was designed circa 1997. Appearance is everything, you know, which is something that I think has greatly contributed to Firefox's success: both the product and the website look smooth, classy and refined.
-
Re:FreeBSD Java 6 on LeopardNope, someone would have to write a peer in Cocoa for each AWT component.
[Disclaimer: I haven't owned a Mac since the 68k days, my casual interest is solely as a developer wishing to deploy to 1.6 for education.]
The task is theoretically doable for a Cocoa developer but a non-trivial task requiring many man hours. But most Cocoa developers would be in paid employment writing innovative OS X applications, so it's doubtful sufficient numbers would volunteer their time supporting 'the enemy' - i.e. a rival (complimentary?) platform in Java.
This is the problem with writing a cleanroom Cocoa AWT. OS X is a minority platform with relatively few developers fluent in Cocoa and objective-C and further and few companies who would see the business case for such a port.
Were someone to sponsor the work, they might design a Java/Cocoa integration layer that was flexible enough to bind to both AWT and SWT (the eclipse toolkit). The eclipse folks based their SWT on Carbon which will need replacing as time goes by, particularly with the SWT/AWT integration issues of mixing Cocoa and Carbon in the same application.
Luckily a free software binding for Java exists already, it's called Jigs. Perhaps this would be a starting point than coding in raw objective-C/JNI.
-
Re:Windowmaker
Windowmaker + GWorkspace and other GNUStep apps, then.
http://www.gnustep.it/enrico/gworkspace/ -
Nesting and Abstraction
I've built a lot of web pages, and this has made me realize that it's incredibly quick and easy to whip up GUIs with HTML. The experience was much better than with the GUI builders I had used, and certainly beat coding GUIs by hand.
Of course, HTML is not intended as a language for describing native GUIs, so it has some limitations there. Fortunately, there is a variety of XML formats for describing real GUIs.
What makes XML so great for describing GUIs is that it's so good at describing nested objects. If you think about it, that's exactly what GUIs are: you've got your windows, with a bunch of widgets in it, one of which is a scrollable area with more widgets in it, etc. This is naturally described by an XML tree that contains all these widgets, with some attributes used for connecting them to the application; e.g. ids to allow the application to reference widgets, and embedded code to let the GUI respond to events (e.g. HTML's onclick).
Where many XML GUI languages fall short is in that they don't provide methods for building new abstractions. If you have a lot of subtrees that are all very similar (say, a frame, a title, a content window, and a hide and a show button), you'll completely have to code each of them in full. Any programming language worth its salt will provide a way to abstract over this (functions!), but I think the realization that XML GUI descriptions (and HTML documents!) are programs hasn't fully set in yet.
Next time I'm coding a GUI, I'll be generating the XML from a proper programming language. I've had good results with Lisp before... -
Re:it's not either/or
Java doesn't integrate well with any of them.
Not everyone cares about that.(1) WindowMaker isn't a desktop environment. (2) Whatever native libraries a WindowMaker application should use, Mono can use easily, while Java cannot.
WindowMaker by itself is not a desktop environment, it's just a window manager, that is true. But it is often used with GNUstep, which is a desktop environment. And by the way, Java can be used with GNUstep quite easily: http://www.gnustep.it/jigs/
I use the Java-GNUstep bridge quite a bit, actually. It's been fairly mature for quite some time. Can you provide a link that shows me how Mono can be used with GNUstep?
Sorry, but there are plenty of Linux users running Java desktop apps (for example, Azureus, Eclipse, NetBeans). In fact, I'd be willing to bet that there are more Linux users running Java apps than Mono apps. -
Since most people seem to have missed the joke...
...and are involved in a flame war, why don't we start a constructive thread?
You GNUStep users out there: How do you configure your desktop? I've noticed that GWorkspace and Window Maker like to compete for how they manage virtual desktops.
Also, I'm not sure what application I should be using as a dock? Window Maker? Something written in GNUStep?
GNUStep seems like it's just about ready to start seeing some early adopter use, though I agree that the UI could use some spit and polish. How is work on Camaelon coming?
Also, does anyone know if Gorm is supporting Renaissance yet? It would be lovely to be able to target user interfaces for both Mac OS X and GNUStep. Maybe Gorm could be used as a drop-in replacement for Interface Builder when one wants to make a cross-platform app supporting GNUStep and OS X Cocoa?
-Peter -
Re:Vista Development
Every platform has buttons and listboxes; no other platform has a Xaml equivalent yet
*cough*Renaissance*cough*
-
Re:One STeP Beyond
If you really want to, you can program the GUI entirely from source code. You can see an example of how to do that in the old GNUstep tutorials that date from before Gorm (in particular, take a look at Your First Steps in GNUstep GUI Programming Part 1 and Part 2). That said, I have no idea why you'd want to do this. Gorm's interfaces are just XML files, and are therefore still fully modifyable from text. If you want something more human-readable, take a look at Renaissance.
-
Re:One STeP Beyond
If you really want to, you can program the GUI entirely from source code. You can see an example of how to do that in the old GNUstep tutorials that date from before Gorm (in particular, take a look at Your First Steps in GNUstep GUI Programming Part 1 and Part 2). That said, I have no idea why you'd want to do this. Gorm's interfaces are just XML files, and are therefore still fully modifyable from text. If you want something more human-readable, take a look at Renaissance.
-
Re:One STeP Beyond
If you really want to, you can program the GUI entirely from source code. You can see an example of how to do that in the old GNUstep tutorials that date from before Gorm (in particular, take a look at Your First Steps in GNUstep GUI Programming Part 1 and Part 2). That said, I have no idea why you'd want to do this. Gorm's interfaces are just XML files, and are therefore still fully modifyable from text. If you want something more human-readable, take a look at Renaissance.
-
Re:WOOOPS Mis-Clicked. The question actually is:Cocoa is a set of object-oriented frameworks. GNUstep is a portable LGPL'd implementation of the same frameworks. So yes: you can take your source code and build it with GNUstep on UNIX systems. There are some caveats (some things aren't supported--mostly for IP reasons) and some things simply have to be done differently (Makefiles, GUIs). But it works.
One very promising framework is Renaissance. It's an XML-based format for describing user interfaces. It builds the interface at runtime, just like a NIB file does. But it has autolayout and is crossplatform.
-
Re:Dashboard
``Actually Macs are a developers dream.''
Oh, yes, I very much agree.
``What they have done now is to make it even easier for ordinary people to write little applets.''
Well, what's easier than designing an interface with Interface Builder, and putting in some Objective-C code to tie it together? Certainly not writing HTML and JavaScript...
``If you are kid learning to program I can't think of a better platform for you to learn on.''
Again, same point. Why is HTML+JavaScript _better_ than Interface Builder + Objective C? Last I checked, Cocoa/ObjC was a lot cleaner than DOM/JavaScript.
As an added benefit, Objective C can use all the system has to offer, rather than some subset of it.
If you really want to describe your user interfaces in XML (like me), you can always use Renaissance. This makes your apps work on GNUStep, too, meaning they can run on Linux, BSD and even Windows systems. -
Re:Good linux mapping software
-
Re:Same for GnuStep it seems...Can I ask, if you're running it on Linux, what distribution?
I've used RedHat and Gentoo. I'm not sure who maintains the Debian packages (or even *if* they're maintained). I always build from CVS since it's usually stable and there are often improvements and additions.
If you're going to do development with it, you might consider trying Renaissance. You describe your user interface in XML and it's portable to other platforms, languages, or themes. There's no GUI builder for it yet, however.
If you have any trouble, feel free to ask for help: jhclouse -at- juno -dot- com. You can also ask questions on the mailing list.
-
Re:Differences from first editionI've been playing with GNUstep happily for quite some time now. And one thing you absolutely *have* to see (if you haven't already) is Renaissance. You define your GUI with an XML document (including targets, actions, and outlets) and it's automagically laid out on both OS X and GNUstep. This not only makes porting much easier, it will also make it much easier for your GUIs to adapt to foreign languages, the upcoming GNUstep theme support, and different end-user fonts.
It's still in development, and there isn't a graphical builder for it yet, but it's very promising.
-
I'm so sick of this: Cocoa IS PORTABLE!It's called GNUstep. And yes, there are applications that build cleanly on both platforms. GNUMail.app, for example. There's also a project called Renaissance that allows you to craft your interface with XML, avoiding even issues with Apple's proprietary
.NIB files.There are also clones of NeXT/Apple's InterfaceBuilder and ProjectBuilder and a host of end user applications. GNUstep builds on Linux and other UNIX systems. The Foundation classes work fine on Windows and there's serious work to perfect the GUI classes on Windows as well.
-
Re:NextStep, Mac OS X, Konfabulator
NIB files are XML files.
No they're not. The objects in a NIB are stored in a binary format that's known only to Apple. That's why GNUStep's AppKit can't read them directly, requiring you to use nibtool first, to convert them to format it can read.
Perhaps you were thinking of Renaissance? It provides a means of describing a GUI in XML. It works on both Mac OS X and GNUStep, but it's not from Apple and doesn't use NIBs. -
Re:Does Cocoa (and this book) relate to GNUStep?I know that GNUStep is implemented in Obj-C, but would this book be useful for learning Obj-C and the GNUStep interface?
I haven't read it but judging from the title and review, I don't think it will do you much good right now. It appears to be talking about some of Apple's own custom frameworks and lower level UNIX stuff. Somebody on the GNUstep list mentioned recently that they're interested in cloning Rendezvous but it's still just vapor.
Now, Aaron Hillegass' previous book, Cocoa Programming for Mac OS X, is VERY good and will mostly stand you in good stead with GNUstep. It's a great introduction to OpenStep/Cocoa/GNUstep concepts. Combined with the documentation on the GNUstep site, the docs over at Apple and asking questions on the GNUstep mailing lists, you'll be fine.
would I gain any cross-platform Linux-Mac OS X benefits
the GNUstep frameworks and Apple's Cocoa are both based on the OpenStep API, so they're mostly source-compatible. There are some pitfalls and considerations that you'll need to know about before you start on any ambitious programs, however. I'd suggest just becoming familiar with Cocoa and/or GNUstep first, then try writing a simple little app and porting it. There's a very cool project underway called Renaissance that will make portable UI design much easier. I can say that it's easier to design/build on Linux/GNUstep and then move to OS X rather than the other way around.
GNUmail is an example of a great portable OS X/Linux/BSD success story. Nice app.
Hope this helps. Drop on by the GNUstep discussion list some time and say hi. Always nice to know who's interested in the project.
-
Re:The full announcement....
-
Re:The full announcement....
-
GNUstep + 3DKit
You should take a look on GNUstep + 3DKit
...
GNUstep (url) is an OpenStep implementation. It aims to be multiplatform (even if for now it's mostly linux/bsd based... under Windows it's alpha state), and as Mac OS X is also an OpenStep implementation, it's really easy to write GNUstep apps and port them to Mac OS X (in fact most time you only have to create a new project in ProjectBuilder, add your files, redo you nib with InterfaceBuilder, and voila, it's done). Take a look at GNUMail for an example of a GNUstep/MacOSX program.
Big advantage of GNUstep is the OpenStep framework (Foundation and AppKit), which is really powerfull and easy to use, along with RAD GUI builder (Gorm on GNUstep, InterfaceBuilder on Cocoa); You could program in Objective C or Java (But Objective C is nicer imho), or even in ruby/smalltalk .. ;)
It should be easy to add scripting to your application with StepTalk (url) and AppTalk (url), and 3DKit is a framework for creating 3D Scenes (url) ...
If you want some tutorials, check this site -
Re:GNUStep versus GNOME/KDE?
I've been wondering the same thing for a really long time. It seems like GNUStep could be fantastic for The GNU World, but they seem continuously resource-strapped and unable to get public attention. I really don't know what gives, but i think the best possible answer, you've already said:
I believe the biggest problem for GNUStep is that few people use Objective C. That is a big speedbump to people adapting their legacy code.
You really probably have hit on about 90% of the problem right there. We will just have to see what happens with this and projects like it-- i mean, it looks very promising, but then you have to compare it with Cocoa, where objects written in Objective C and Java (and now, due to third-party efforts, i think even Perl and Python are 100% supported) can interact with each other and the OS APIs seamlessly and without any fuss.
Come to think of it, ProjectBuilder, the thing that links all those Java and Objective C thingies together when you're coding for Cocoa, supposedly is just a front-end to the GCC. Supposedly all the backend stuff is open-source utilities that are part of Darwin. Hm. Is Apple's Objc-java bridge open-source or no? If it's part of the closed-source Cocoa stuff, how does that work out? (And won't even cocoa services run in Darwin as long as you stay in the Foundation and don't touch the AppKit where all the GUI stuff lives? What about if wrote that service in Java?) If it's open-source, then why hasn't GNUStep integrated it yet? Why haven't they integrated the Perl/Python bridges to Objc? Is this just the whole continous GNUStep-limited-resources problem, or what? Isn't there some thing going on where GNUStep doesn't use objc_msgsend(), it just pretends to? Is that a problem here?
I dunno. I really think if more people could get over their intense fear of the [square brackets]; they would fall in love with NeXTStep :) The ability to write in multiple languages would at least make people feel more secure about the thing..
I keep meaning to try to port a couple of the open-source Mac OS X apps, probably one of the excellent GPLed AIM clients, to Linux using GNUStep as a proof-of-concept, or something, but i keep not getting around to this. Hopefully i'll be able to give it a try in a couple weeks, after the mononucleosis gets a little better :(
Does anyone know if the InterfaceBuilder analogue in GNUStep is anywhere near as good as Apple's? The whole nib-file concept is i think the most brilliant and useful thing about Cocoa.. eh. -
Re:Try pwm
For a more heavy-duty WM, I recommend WindowMaker over GNOME or KDE. WindowMaker is fairly light-weight, and has a much cleaner appearance and feel. Another nice feature about WindowMaker is that it has a lot of the nice Apps that you see in OSX, like the mail program and the column-file navigator. Better, its easy to port an OSX program to WindowMaker if you have the source, as its based on OpenStep.
Window Maker is what I'm currently running at home. I used to use AfterStep, but got fed up with it for various reasons.
Contrary to what dh003i says, it is strictly a window manager - it doesn't have any applications associated with it, except for WPrefs.app). The applications like Mail.app (well, it's called GNUMail.app) and the "column-file navigator" (called GWorkspace.app) are part of GNUstep, not Window Maker. -
Re:Also confused about Java
GNUstep has Java bindings. It's called JIGS and has been around for quite awhile. The API is extremely similar to Cocoa's Java binding; the biggest difference is the package name. Try it out and please help contribute to GNUstep if you would like to see it get wider adoption.
-
Re:History repeats itselfThis creates a wonderful opportunity. Instead of aiming for 'end users', Linux desktops should aim at amateur developers who want a free and simple workbench for writing the kinds of applications that made Windows 3.1 rule the world.
You are talking about GNUstep. For many years, the OpenStep API and development tools have been far superior to *anything* else in the Windows or UNIX world. The GNUstep project has already got usable alpha clones of the NeXT development tools that are a joy to work with. Take a look at this mail client developed quickly with GNUstep tools. It runs on GNUstep platforms and Mac OS X.
The GNUstep project is actively tracking the additions made to Cocoa (what Apple decided to call OpenStep after buying NeXT).
GNUstep frameworks and applications will build on most UNIXes, on Mac OS X (obviously), and win32 platforms. Support for the GUI backend is Alpha on win32 but is progressing.
GNUstep has a database framework much like NeXT's Enterprise Object Framework and a web development system much like WebObjects. Also available is a 3D framework, music and sound frameworks, a networking framework, an email framework, and others.
Like Apple, you can write your applications in Objective C or Java. Unlike Apple, the GNUstep project provides several other language options: Ruby, Guile, and other scripting languages by way of StepTalk.
-
GNUStep is UGLY
GNUStep is not popular for one reason. It is damn ugly. I guess when it gets aqua then it will look like the annoying over sugary OSX apps but I'm not sure that is really an improvement over Qt or GTK since you can make those look like whatever you want. The only good thing about this project is that we may see big time apps from adobe and other companies finally being ported to linux. Check out some of their "And (did I mention this already?) it looks good" (from GNUStep Info) screenshots.
-
Re:What's the best filemanger?
Xterm is the best filemanager.
:)If, however, you were wanting something graphical, the most promising one IMOP is in GWorkspace - although it definately still needs some work. KDE and Gnome both have been horribly disappointing to me, although obviously some people like them. Personally, if I wanted MS Windows on my computer I'd just pull out my CD and reinstall it *shrug*.
"That old saw about the early bird just goes to show that the worm should have stayed in bed." -
Re:Article ignores Nextstep UsersWhat can I say, except "Amen"? Have you had a look at GNUstep? We're cloning PB and IB (CVS). Things are kind of slow going right now, but I'm going to finish the IB palettes over Christmas break.
We also have a Workspace.app and some other applications.