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

PDF
Debugging Python with gdb
PDF
Large-scaled Deploy Over 100 Servers in 3 Minutes
PDF
JRuby with Java Code in Data Processing World
PDF
How DSL works on Ruby
PDF
parenscript-tutorial
ODP
NovaProva, a new generation unit test framework for C programs
PDF
The Parenscript Common Lisp to JavaScript compiler
PDF
The details of CI/CD environment for Ruby
Debugging Python with gdb
Large-scaled Deploy Over 100 Servers in 3 Minutes
JRuby with Java Code in Data Processing World
How DSL works on Ruby
parenscript-tutorial
NovaProva, a new generation unit test framework for C programs
The Parenscript Common Lisp to JavaScript compiler
The details of CI/CD environment for Ruby

What's hot (19)

PDF
Os Lamothe
PDF
Overlay & Libraries | Pebble Meetup Oct. 2014
PDF
E bpf and dynamic tracing for mariadb db as (mariadb day during fosdem 2020)
PPTX
Avro - More Than Just a Serialization Framework - CHUG - 20120416
PDF
Hijacking Ruby Syntax in Ruby (RubyConf 2018)
PDF
Apache Thrift
PPTX
Java Hates Linux. Deal With It.
PDF
Fluentd at HKOScon
PDF
Effizientere WordPress-Plugin-Entwicklung mit Softwaretests
PDF
Middleware as Code with mruby
PDF
Golang Performance : microbenchmarks, profilers, and a war story
PDF
System Programming and Administration
PDF
Installing & Configuring OpenLDAP (Hands On Lab)
PDF
Ninja Build: Simple Guide for Beginners
PDF
Fluentd v1.0 in a nutshell
PPTX
G rpc lection1
PDF
Modern Black Mages Fighting in the Real World
PPT
Lua vs python
PDF
Node.js essentials
Os Lamothe
Overlay & Libraries | Pebble Meetup Oct. 2014
E bpf and dynamic tracing for mariadb db as (mariadb day during fosdem 2020)
Avro - More Than Just a Serialization Framework - CHUG - 20120416
Hijacking Ruby Syntax in Ruby (RubyConf 2018)
Apache Thrift
Java Hates Linux. Deal With It.
Fluentd at HKOScon
Effizientere WordPress-Plugin-Entwicklung mit Softwaretests
Middleware as Code with mruby
Golang Performance : microbenchmarks, profilers, and a war story
System Programming and Administration
Installing & Configuring OpenLDAP (Hands On Lab)
Ninja Build: Simple Guide for Beginners
Fluentd v1.0 in a nutshell
G rpc lection1
Modern Black Mages Fighting in the Real World
Lua vs python
Node.js essentials
Ad

Similar to Building Server Applications Using Objective C And Gn Ustep (20)

ODP
Cross Platform Objective C Development Using Gn Ustep
PDF
Don't Fear the Platform
PDF
Cocoa programming for Mac OS X 2nd Edition Aaron Hillegass
PDF
Cocoa programming for Mac OS X 2nd Edition Aaron Hillegass
PPTX
iphone application development
PDF
Cocoa programming for Mac OS X 2nd Edition Aaron Hillegass
PDF
Cocoa programming for Mac OS X 2nd Edition Aaron Hillegass
PDF
F-Script
PDF
l-rubysocks-a4
PDF
l-rubysocks-a4
PDF
Genode Programming
PDF
Foss History
PDF
Cpp In Soa
PDF
Foss History
DOCX
Learning activity 3
PPT
Step talk
PPTX
Autotools pratical training
PDF
The Enterprise Strikes Back
PDF
JRuby: Pushing the Java Platform Further
PDF
Guadec2007 Gvfs
Cross Platform Objective C Development Using Gn Ustep
Don't Fear the Platform
Cocoa programming for Mac OS X 2nd Edition Aaron Hillegass
Cocoa programming for Mac OS X 2nd Edition Aaron Hillegass
iphone application development
Cocoa programming for Mac OS X 2nd Edition Aaron Hillegass
Cocoa programming for Mac OS X 2nd Edition Aaron Hillegass
F-Script
l-rubysocks-a4
l-rubysocks-a4
Genode Programming
Foss History
Cpp In Soa
Foss History
Learning activity 3
Step talk
Autotools pratical training
The Enterprise Strikes Back
JRuby: Pushing the Java Platform Further
Guadec2007 Gvfs
Ad

Recently uploaded (20)

PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
Network Security Unit 5.pdf for BCA BBA.
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PPT
Teaching material agriculture food technology
PDF
Approach and Philosophy of On baking technology
PDF
MIND Revenue Release Quarter 2 2025 Press Release
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PPTX
Big Data Technologies - Introduction.pptx
PDF
gpt5_lecture_notes_comprehensive_20250812015547.pdf
PDF
Electronic commerce courselecture one. Pdf
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PDF
Empathic Computing: Creating Shared Understanding
PDF
Assigned Numbers - 2025 - Bluetooth® Document
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
NewMind AI Weekly Chronicles - August'25-Week II
PPTX
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
Advanced methodologies resolving dimensionality complications for autism neur...
Network Security Unit 5.pdf for BCA BBA.
Chapter 3 Spatial Domain Image Processing.pdf
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
“AI and Expert System Decision Support & Business Intelligence Systems”
Teaching material agriculture food technology
Approach and Philosophy of On baking technology
MIND Revenue Release Quarter 2 2025 Press Release
Building Integrated photovoltaic BIPV_UPV.pdf
Big Data Technologies - Introduction.pptx
gpt5_lecture_notes_comprehensive_20250812015547.pdf
Electronic commerce courselecture one. Pdf
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
20250228 LYD VKU AI Blended-Learning.pptx
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
Empathic Computing: Creating Shared Understanding
Assigned Numbers - 2025 - Bluetooth® Document
Dropbox Q2 2025 Financial Results & Investor Presentation
NewMind AI Weekly Chronicles - August'25-Week II
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx

Building Server Applications Using Objective C And Gn Ustep