[GRASS5] sockets question

strobe anarkhos anarkhos at mac.com
Fri Mar 16 05:50:31 EST 2001


At 8:18 AM +0100 3/16/01, Andrea Aime wrote:
>Strobe,
>excuse my curiosity, but what programming language are you using, and
>what kind of libraries? MVC is usually implemented using OO languages
>(C++, Java and so on). There already are free GIS user interfaces, why
>not try to reuse something already available? (take a look at
>www.freegis.org)

Everything I have seen thus far doesn't use the MVC methodology or the features I'm describing.

If I were to create a model (or set of models or model hierarchy) for the GRASS library I would use Core Foundation which is part of Darwin (and thus open source and free). It's been ported to many other platforms (it's highly portable). Here's an overview:

http://developer.apple.com/techpubs/macosx/CoreFoundation/Overview/CFOverview/index.html

Core Foundation provides a method to define objects in a language neutral manner. In fact OS X supports C, Objective-C, and Java interfaces for the same objects meaning programs written in C, ObjC, and Java on the same machine have access to the same objects. It's really quite awesome.

Of course "Cocoa Foundation" (which is pretty much identical to GNUStep Foundation and OpenStep Foundation) has a few advantages in being a more flexible language than say Java. But that doesn't matter, you're always limited by the language you use, what's neat about Core Foundation is they didn't cripple Foundation when they added interfaces for C and Java which are relatively inflexible languages.

I don't know if Core Foundation has been ported to Windows, although it shouldn't be difficult.

The command line 'controller' class would also be written in Core Foundation and be highly portable.

The view class I'm already working on and uses AppKit which is the same API as GNUStep's AppKit. You can write a different view class of course using C or C++ (which can access Core Foundation which has a C interface) if you want, but AppKit has graphics abstraction and isn't tied to a specific display server like display postscript or X11 or whatever. It accomplishes this using NSBezierPath which draws complex graphics in an abstract manner. 

One caveat is I have never used GNUStep so I don't know how fast it renders paths. 

Anyway I hope I answered your question.


---------------------------------------- 
If you want to unsubscribe from GRASS Development Team mailing list write to:
minordomo at geog.uni-hannover.de with
subject 'unsubscribe grass5'



More information about the grass-dev mailing list