코코아가 Objective-C의 주요 플랫폼 인 것으로 보입니다. GCC (Xcode에서 사용)는 Objective-C를 지원하므로 다양한 플랫폼에서 사용할 수 있어야합니다.Objective-C는 코코아없이 사용됩니까?
Objective-C를 사용하지만 Cocoa (또는 오픈 소스 사촌 GNUStep)를 사용하지 않는 주목할만한 크로스 플랫폼 프로젝트가 있습니까? 애플 생태계 밖에서 실제로 사용됩니까?
코코아가 Objective-C의 주요 플랫폼 인 것으로 보입니다. GCC (Xcode에서 사용)는 Objective-C를 지원하므로 다양한 플랫폼에서 사용할 수 있어야합니다.Objective-C는 코코아없이 사용됩니까?
Objective-C를 사용하지만 Cocoa (또는 오픈 소스 사촌 GNUStep)를 사용하지 않는 주목할만한 크로스 플랫폼 프로젝트가 있습니까? 애플 생태계 밖에서 실제로 사용됩니까?
Objective-C 역시 과학 및 금융 서비스 커뮤니티에서 널리 사용되었습니다. 대다수의 Objective-C 기반 응용 프로그램이 은행 업무에 배치되어 있으며, 주로 거래 분석에 사용됩니다. 친구는 거의 백만 줄의 Objective-C 기반 분석 및 거래 엔진을 사용하여 자신 만의 클래스 계층 구조를 처음부터 작성했습니다.
한순간에 인기있는 Linux 창 관리자 중 한 명이 Objective-C로 작성되었습니다. 그것은 몇 년 전이었고 더 이상 그렇지 않을 수도 있습니다.
LLVM compiler도 블록을 완전히 지원하는 것을 포함하여 Objective-C를 컴파일합니다. 그것은 또한 아주 휴대 가능합니다.
David Stes의 Portable Object Compiler도 있습니다. Objective-C를 C로 컴파일하고 StepStone의 원래 ICPak 클래스 계층 구조에 직접적으로 기반한 클래스 계층 구조를 사용합니다.
네, 물론 있습니다. 내 머리 꼭대기에서 생각할 수있는 것은 코코 트론입니다. Windows에 AppKit을 이식하려는 노력. 그 외에
은, 오브젝티브 C는 GCC가 실행됩니다 모든 플랫폼에서 사용할 수 있습니다. 앞서 언급했듯이 GNUStep은 꽤 좋은 노력을하지만, OS X 또는 iPhone의 코코아에서 사용할 수있는 풍부한 프레임 워크를 보유하지는 못합니다.Objective-C가 코코아, GNUstep 또는 Cocotron 또는 과 같은 API가없는 경우에 사용하는 것이 좋습니다.
대답은 기본적으로 없습니다. Cocoa (또는 GNUstep 등)와 같은 API가 없으면 Objective-C는별로 유용하지 않습니다. 예를 들어 NSObject가 없으면 retain
과 release
은 존재하지 않습니다. 이러한 API에는 매우 중요한 기능이 많이 내장되어 있으므로 Obj-C를 사용하지 않으면 아무런 의미가 없습니다.
확인. 그게 내가 찾고 있던 대답이야! 고맙습니다. 매우 중요한 'NSObject'가 API가 아닌 언어로 정의되어 있다는 사실을 잊어 버렸습니다 ('NS'가 그것을 버릴 것이라고 생각했을 것입니다 ...).) FYI Obj-C와 함께 곧바로 C 프로젝트를 정리할 생각 이었기 때문에 내가 묻고 있었던 이유는 그 질문에 나를 이끌었다. – Joe
Objective-C 런타임 (Mac OS X과 GNU 런타임에서 오래된 것)은'NSObject'와 공통된 많은 메소드를 가진'Object'라는 객체를 정의합니다. 그것은 release/retain을 포함하고 있지 않지만 Cocoa와는 독립적 인 독자적인 프레임 워크를 시작하기에 충분합니다. – dreamlax
나는 당신의 말로는 분명히 말할 수 없지만, 명확성을 위해서 GNUStep은 크로스 플랫폼이라는 것을 알고 있습니까? "GNUstep은 현재 http://www.gnustep.org/에서 인용 한 Unix (GNU/Linux 및 GNU/HURD, Solaris, NetBSD, OpenBSD, FreeBSD, Darwin) 및 Windows를 인용합니다. –
예, 이해했습니다. 나는 분명히 할 것이다. Obj-C가 Cocoa 나 GNUStep 같은 라이브러리/프레임 워크와 만 상호 작용하기보다는 범용 언어 (예 : C 또는 C++와 같은 종류의 컨텍스트)로 사용되는지 여부를 묻습니다. – Joe