Developer Guides

From GNUstepWiki

(Difference between revisions)
Revision as of 18:05, 4 September 2006
Madleser (Talk | contribs)
put stub notice at top of section
← Previous diff
Revision as of 18:14, 4 September 2006
Madleser (Talk | contribs)
added "Introduction to GNUstep (Foundation) Programming"
Next diff →
Line 4: Line 4:
{{Stub}} {{Stub}}
 +
 +=== [http://www.gnustep.org/resources/documentation/Developer/Base/ProgrammingManual/manual_toc.html Introduction to GNUstep (Foundation) Programming] ===
 +
 +The aim of this manual is to introduce you to the Objective-C language and the GNUstep development environment, in particular the Base library. The manual is organised to give you a tutorial introduction to the language and APIs, by using examples whenever possible, rather than providing a lengthy abstract description.
 +
 +While Objective-C is not a difficult language to learn or use, some of the terms may be unfamiliar, especially to those that have not programmed using an object-oriented programming language before. Whenever possible, concepts will be explained in simple terms rather than in more advanced programming terms, and comparisons to other languages will be used to aid in illustration.
=== [[Writing Makefiles]] === === [[Writing Makefiles]] ===

Revision as of 18:14, 4 September 2006

This page is intended as a collection of guides for developers.

Contents

Introductory Articles on GNUstep Development

This article or section is a stub (i.e., in need of additional material).
You can help us by expanding it


Introduction to GNUstep (Foundation) Programming

The aim of this manual is to introduce you to the Objective-C language and the GNUstep development environment, in particular the Base library. The manual is organised to give you a tutorial introduction to the language and APIs, by using examples whenever possible, rather than providing a lengthy abstract description.

While Objective-C is not a difficult language to learn or use, some of the terms may be unfamiliar, especially to those that have not programmed using an object-oriented programming language before. Whenever possible, concepts will be explained in simple terms rather than in more advanced programming terms, and comparisons to other languages will be used to aid in illustration.

Writing Makefiles

The Makefile package is a system of make commands that is designed to encapsulate all the complex details of building and installing various types of projects from libraries to applications to documentation. This frees the developer to focus on the details of their particular project. Only a fairly simple main makefile need to be written which specifies the type of project and files involved in the project.

Sample GNUstep Programs

This isn't really an article but rather a collection of small "codified guides" for the pragmatic programmer who wants to explore GNUstep by looking at and messing around with example code. This is best done while reading about basic concepts of OpenStep or Cocoa with the API documentation (Foundation, AppKit) open in the background.

General

Coding for Portability

Writing code that will compile and then run on different platforms can be surprisingly easy. This guide describes some straight-forward steps to take to make your program easy to port to new platforms.

Using Property Lists

A regular issue that programmers face is storing structured configuration information, and reading it back. GNUstep has a standard mechanism that can be used for this task, amongst others: Property Lists.

Graphical Applications

Document-based Application Design

One of the most common use-patterns of applications on modern platforms is that of document-based applications --- applications which can have several active user-controlled contexts. Some familar examples might be a word processor where the user may have multiple document windows concurrently, or a web browser which allows a user to have a number of different browser windows open at the same time. This guide provides information and tips on how to code this style of application.