GNUstep
1.1、OpenStep

1994年,NeXT Computer, Inc发布了NEXTSTEP操作系统的API, 这个API被称作OpenStep

OpenStep只是一个API,并没有实现,NeXT Computer, Inc允许第三方实现。

OpenStep规范:http://www.gnustep.org/resources/OpenStepSpec/OpenStepSpec.html

OpenStep Wikihttps://en.wanweibaike.com/wiki-OpenStep

1.2、GNUstep

1995年,FSF开始了GNUstep计划,实现一个开源的实现版本,但是速度缓慢。

1997年,NeXT Computer, IncApple, Inc收购,增加了商业限制条款, 这促使FSF加快了GNUstep的开发。

GNUstep官网:http://www.gnustep.org

需要注意的是:OpenStep规范中只有FoundationKitAppKit, 不包含UIKit部分,所以,使用GNUstep可不能开发iOS应用, 我们学习GNUstep的目的是要明白:作为一种语言,Objective-C开发不止能在macOS上使用Xcode进行, 其实在WindowsGNU/Linux系统上也是可以的,这对于那些没有macOS系统环境的同学,但又想学习Objective-C语言的语法和FoundationKitAppKit两个框架非常好。

GNUstep包含四个主要部分:

  • GNUstep Make
    提供类似Makefile的功能,称为GNUmakefile,比Makefile简单很多。
  • GNUstep Base
    FoundationKit,处理非图形界面的部分, 如字串、档桉、网路、基本资料结构、多行绪等。
  • GNUstep GUI
    AppKit,处理图形界面部分。
  • GNUstep Back
    提供与操作系统相关的后端处理,提供GNUstep GUI有关绘图及字型的功能。

GNUstep使Objective-C能在多数流行平台上开发和运行。

GNUstep支持GNU/LinuxGNU/HurdSolarisNetBSDOpenBSDFreeBSDDarwinWindows等多种操作系统,而且是自由使用。

1.3、ProjectCenter

ProjectCenterGNUstep提供给我们的开发Objective-CIDE

为啥叫ProjectCenter呢?因为Xcode的前身叫做ProjectBuilder,所以取了一个类似的名字。

你可以用它开发Objective-C,当然你也可以使用其他工具,比如VimSublime TextEclipse等。

1.4、搭建GNUstep开发环境