SlideShare a Scribd company logo
 
Server Applications “Server Applications” =  programs with no GUI In GNUstep, server applications are based on  GNUstep-base.   GNUstep-base is the most complete and  extensively polished and tested part  of GNUstep ... …  but is  little known to the public. People often identify GNUstep only with the GUI framework/development environment.
Objective-C it is a  programming language
it is a strict  superset of C it  is  C with some new additional constructs
C code compiles as Objective-C code
C libraries can be linked and used natively from Objective-C it  adds Object-Oriented features to C Defining classes
Implementing methods
Instantiating classes and objects
Invoking class and object methods
Protocols, categories, selectors, forwarding
Why is Objective-C so special ? It is compatible with C libraries
Is is a simple extension of C
It is a  hybrid  between C and Smalltalk It can be  as fast as raw C  if you avoid the object-oriented extensions
It can be  as high-level and flexible as Smalltalk  if you use the object-oriented extensions
It allows experienced programmers to mix different programming styles in the same program It is  extremely flexible
Powerful “ Foundation ” class library
Why use Objective-C for Server Applications ? Very fast.   You can freely mix it with C and even assembler if you need.
High-level language.  Organize your server code using high-level, object-orientated design patterns.
Powerful Foundation library  (GNUstep-base).  The API originates from OpenStep and the implementation has been polished for 13+ years.
OpenStep API - Foundation Kit (1994) Foundation Kit Non-graphical classes Root classes : NSObject, NSProxy
Basic data classes : NSString, NSNumber, NSData, NSNull
Collection classes : NSArray, NSDictionary, NSSet
Execution control classes : NSRunLoop, NSTimer, NSThread, NSLock
I/O classes : NSTask, NSFileHandle
Notification classes:  NSNotification, NSDistributedNotification
Serialization classes:  NSArchiver, NSCoder
Resource management classes:  NSBundle, NSUserDefaults
Distributed Objects Classes:  NSConnection, NSPort
And many more... Application Foundation Kit Application Kit Operating System OS Graphical System Objective-C Runtime
GNUstep-base Application GNUstep Base GNUstep GUI Operating System (Any!) Graphical System  (Any!) GNU Objective-C  Runtime GNUstep Back
Server Applications – what do you need ? gcc-objc Objective-C compiler
Objective-C runtime gnustep-make Official GNUstep Building System
Makefile library that automatically takes care of configuring and building on different platforms gnustep-base OpenStep Foundation Kit implementation

More Related Content

Building Server Applications Using Objective C And Gn Ustep