GNUSTE 배우기 : NextSTEP 개발 플랫폼의 무료 대안

폭로: 귀하의 지원은 사이트 운영을 유지하는 데 도움이됩니다! 이 페이지에서 권장하는 일부 서비스에 대한 추천 수수료가 발생합니다.


GNUstep은 무료이며 오픈 소스 응용 프로그램 플랫폼으로서 Apple의 Cocoa 플랫폼과 매우 유사하며 동일한 제품 계보에서 시작됩니다. GNUstep은 실제로 Cocoa보다 이전 버전이지만, Cocoa의 인기로 인해 GNUstep은 일종의 오픈 소스 Cocoa clone 역할을합니다..

GNUstep의 역사

Steve Jobs가 Apple을 떠난 후 그의 새로운 회사 인 NeXT Computers는 새로운 응용 프로그램 및 개발 플랫폼 (및 그 기반이되는 새로운 운영 체제)을 개발했습니다..

이 언어는 NeXT가 언어 창립자에 의해 설립 된 회사 인 StepStone으로부터 라이센스를 부여한 C의 객체 지향 슈퍼 세트 인 Objective-C로 작성되었습니다..

NeXTSTEP이라고하는이 응용 프로그램 및 개발 플랫폼은 결국 Apple의 Cocoa 및 GNUstep의 개발로 이어졌습니다. NeXT의 제품에서 GNUstep으로의 경로는 몇 년이 걸리며 몇 가지 관련 기사가 포함됩니다..

Objective-C가 자유 언어가 됨

Objective-C는 C 코드로 처리 된 다음 C로 컴파일되었으므로 C 컴파일러에 의존했습니다. 최소한의 개발자 번거 로움없이 Unix 플랫폼의 개발자가 Objective-C를 사용할 수있게하려면 Objective-C 전처리 기가 GCC 인 GNU C 컴파일러에 연결해야했습니다..

GNU의 리차드 스톨만 (Richard Stallman)은 GCC를 통합하면서 언어를 독점적으로 유지하려는 초기 계획을 세운 후에 언어가 GPL 라이센스가 필요하다고 결정했다. StepStone에 동의하고 Objective-C는 자유 언어가되었습니다..

그러나 Objective-C를 유용하게 만든 런타임은 보류되었고 독점적이었습니다. 여러 다른 개발자들이 Objective-C 런타임의 오픈 소스 대체 작업을 수행했으며 현재 사용중인 개발자는 1993 년 Kresten Krab Thorup에 의해 개발되었습니다..

NeXTSTEP의 무료 구현

1991 년 Stanford Linear Accelerator Center의 개발자 인 Paul Kunz는 다른 플랫폼에서 NeXTSTEP 플랫폼 용으로 작성된 소프트웨어 인 HippoDraw를 실행할 수 있기를 원했습니다..

그는 애플리케이션 자체를 이식하는 대신 NeXTSTEP의 사용자 인터페이스 API를 모방 한 객체 라이브러리를 개발했습니다. 이를 통해 응용 프로그램 자체에서 한 줄의 코드를 변경하지 않고도 HippoDraw를 실행할 수있었습니다..

1993 년 Andrew McCallum은 GNU Objective-C 용 Collection Library를 발표했는데,이 라이브러리는 또 다른 핵심 NeXTSTEP 객체 라이브러리를 모방했습니다..

넥스트 스텝 오픈

1993 년 NeXT는 Sun Microsystems와 협력하여 Solaris 운영 체제와 호환되는 NeXTSTEP 플랫폼 (사용자 인터페이스 및 프로그래밍 API)의 “최상위 계층”버전을 만들기 시작했습니다..

당연히이 작업의 대부분은 하드웨어 및 운영 체제에 긴밀하게 통합 된 NeXTSTEP의 부품을 제거하는 것이 었습니다..

또한 플랫폼의 개발 API를 개선하고 재 설계하여이를 잘 정의 된 “프레임 워크”로 나누었습니다.

이 작업으로 OpenStep 표준 (공개 사양으로 공개)이 공개되었고 OPENSTEP 플랫폼 (OpenStep의 독점 구현)이 개발되었습니다..

OPENSTEP은 NeXTSTEP을 대체했으며이 제품 계보의 첫 번째 버전으로, Cocoa 및 GNUstep의 선구자로 분명히 인식됩니다..

이 버전은 핵심 Foundation 및 AppKit 프레임 워크와 NS 접두사 클래스 제품군을 도입 한 버전입니다..

OpenStep은 GNU 구현을 얻습니다

OpenStep 표준이 게시 된 후 Andrew McCallum, Paul Kunz 및 GNU의 다른 사람들은 표준과 일치하도록 Objective-C 라이브러리를 다시 작성했습니다..

이러한 노력은 당연히“GNUstep”이라는 이름으로 불 렸습니다. 일부는 NeXT가 전체 프로젝트를 자유 소프트웨어 재단 (Free Software Foundation)에 넘길 것이라고 희망했던 1991 년 초에 비공식적으로 제안되었습니다..

향후 몇 년 동안이 프로젝트는 OpenStep 표준의 완전 호환, 무료 및 오픈 소스 구현으로 확장되었습니다. 사양을 완전히 구현 한 첫 번째 버전은 1998 년에 왔으며 공식 1.0.0 릴리스는 2001 년에있었습니다..

코코아 : OPENSTEP의 다음 단계

Apple은 NeXT Computers를 구입하고 1996 년 Steve Jobs를 다시 채용했습니다. OPENSTEP 플랫폼은 새로운 Mac 운영 체제에 통합되어 Cocoa로 이름이 변경되었습니다..

Cocoa는 특히 Mac이 Mac OS에서 OS X로 이동하고 Cocoa가 iOS 용 Cocoa Touch를 포함하도록 확장됨에 따라 수십 년 동안 크게 바뀌 었습니다..

Cocoa가 OpenStep 사양에서 멀어지면 GNUstep도 그로부터 멀어졌습니다. 개발자들은 이제 단순히 코코아의 구현으로 간주합니다. OpenStep과의 역사적 연관성 만 있습니다..

오늘 GNUstep

GNUstep은 무료 오픈 소스 Cocoa 구현입니다. 코코아보다 약간 뒤떨어져 있지만 개발 팀의 의도는 GNUstep을 가능한 한 코코아와 동기화하는 것입니다..

점은 무엇인가?

Cocoa는 Mac OS X 및 iOS 시스템과 밀접한 관련이있는 독점적 인 응용 프로그램 플랫폼입니다. 왜 누군가가 이것의 오픈 소스 버전을 갖고 싶습니까? GNUstep이 계속 존재하는 이유?

가장 큰 이유 중 하나는 응용 프로그램 개발자가 OS X 또는 iOS 용으로 설계 할 수 있기 때문입니다. 여기에서 앱을 Unix, Linux, Windows, BSD 및 Solaris로 이식 할 수 있습니다. 따라서 GNUstep은 플랫폼 간 개발 환경을 제공합니다.

이는 Java Virtual Machine 또는 Flash의 많은 장점을 제공합니다. 그러나 오버 헤드는 상당히 적습니다. 또한 일부는 전체 아키텍처가 더 우수하다고 주장합니다..

Cocoa의 초기 개발을 목표로하는 것도 의미가 있습니다. App Store의 까다로운 요구 사항을 바로 처리하기 때문입니다. 그러면 다른 환경으로 쉽게 포팅 할 수 있습니다.

또한 많은 개발자들이 단순히 플랫폼을 좋아합니다. Apple은 Cocoa의 디자인에 대해 많은 생각과 노력을 기울였으며 새로운 응용 프로그램을 구축하기 위해 플랫폼을 사용할 수있는 것과 같은 Linux 및 Unix 환경을 위해 개발하는 많은 사람들.

GNUstep은 운영 체제 배포판으로 롤업하여 Apple이 Cocoa를 통합하는 방식과 긴밀하게 통합 할 수 있습니다. 이런 식으로 사용할 필요는 없지만 가능합니다. 이와 같이 통합되면 GNUstep을 사용하여 데스크탑 환경에 전원을 공급할 수 있습니다.

개발 언어

GNUstep의 주요 개발 언어는 Objective-C입니다. GNUstep 자체는 대부분의 응용 프로그램과 마찬가지로 Objective-C로 작성됩니다. 소수의 다른 언어 (특히 Java 및 Ruby)로 작성된 코드를 실행할 수 있지만 Objective-C는 실제로 main () 이벤트입니다..

이 글을 쓰는 시점에서 GNUstep은 Apple의 새로운 Swift 프로그래밍 언어를 지원하지 않습니다. 애플은 최근에 언어를 오픈 소스로 발표했으며 GNUstep은 가능한 빨리 언어를 지원할 계획이다.

GNUstep 자료

  • 공식 GNUstep 사이트.

  • 학습 및 참조

    • GNUstep 프로그래밍 미니 튜토리얼

    • GNUstep 튜토리얼

    • GNUstep 위키

    • GNUstep 라이브러리

    • Heron ‘s Perch : GNUstep의 최고 관리자가 운영하는 인기 블로그

    • 비디오 : GNUstep을 사용하는 Windows 7의 Objective-C.

  • 도구

    • Étoilé : GNUstep을 기반으로하는 크로스 플랫폼 데스크탑 환경

    • GNUstep 응용 프로그램 프로젝트 : GNUstep 작업 공간 경험을 향상시키는 도구.

요약

GNUstep은 다양한 플랫폼에서 응용 프로그램을 만들려는 코더를위한 훌륭한 개발 플랫폼을 제공합니다. GNUstep에 대한 정보는 제한되어 있지만 Objective-C와 Cocoa를 살펴보면 이에 대해 더 많이 배울 수 있습니다..

추가 자료 및 자료

코딩 및 개발자 리소스와 관련된 프로그래밍 가이드, 자습서 및 인포 그래픽이 더 있습니다.

  • Objective-C 리소스 : 시작하고 Objective-C 프로그래밍의 고급 영역으로 이동.

  • Cocoa and Cocoa Touch 소개 : Mac OS X 및 iOS 용 응용 프로그램을 만들기위한 밀접한 관련 API를 배우십시오.

  • Swift 소개 및 자료 : Cocoa (및 간접적으로 GNUstep)를 염두에두고 특별히 설계된 새로운 언어.

어떤 코드를 배워야합니까?
어떤 코드를 배워야합니까?

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me