gnustepwebsite

Developer

Communication

In addition to the options in Community, there are also some developer-specific channels for communication.

The primary communication method for GNUstep is the mailing lists.

Every second Saturday we hold an open Jitsi meeting at 15:30 - 18:30 UTC. TODO Use our calendar invite to set a reminder in your local time zone.

APIs

Our APIs are split into three main libraries:

More details on the architecture of GNUstep can be found in About.

Objective-C

The preferred programming language, and what our libraries are written in, is Objective-C. Other programming languages can be used to create the logic code for apps, but the UI code must be implemented in Objective-C.

A strict superset of C, Objective-C simply adds object-oriented programming concepts on top of C. Though the syntax may appear foreign at first, it’s easy to learn since it’s so small. The way that it reads shows off one its strengths: self-documenting code. It is mature and stable, not changing frequently; so you can rest assured that the software you write with it won’t be high maintenance and will stand the test of time.

To use Objective-C 2.0 features such as ARC (Automatic Reference Counting), blocks, and fast enumeration, use Clang as your compiler. For maximum portability, compile using GCC.

Resources

One of the best ways to learn is to read a book.

If you don’t quite have the time to read a book, videos can be a quick way to get into the topic.

If you have the basics down, articles can help deepen your understanding.

Beginner

If you’re new to programming, K. N. King’s C Programming: A Modern Approach is a good introduction with exercises to help reinforce the concepts. If you have experience with programming, but not C, The C Programming Language by Brian W. Kernighan and Dennis M. Ritchie is the classic text on C.

Objective-C is a mature, stable language with many existing materials available. Almost any Objective-C or Cocoa (Foundation or AppKit) resource can be applied to GNUstep. Notable exceptions include TODO.

Books

Videos

Articles

Intermediate

Books

Videos

Articles

Advanced

Videos

Developer API Reference

Since our official API reference documentation is not yet complete, a good starting point is a web archive of Apple’s Mac Developer Library or the current archive for Foundation and AppKit.