문제

WPF에서 가능한 것과 같은 그래픽 응용 프로그램의 OS X 개발에 대해 무엇을 권장하시겠습니까?

내 구체적인 배경은 Smalltalk 및 Java에 있지만 현재는 주로 DHTML/.NET(ASP.NET/C#)에서 작업합니다.

도움이 되었습니까?

해결책

코코아.많은 사람들이 최고의 애플리케이션 프레임워크로 간주합니다.언어는 Java 제작자에게 영감을 준 SmallTalk와 유사한 언어인 Objective-C입니다.

실제로 크로스 플랫폼을 원하는 것과 같은 특별한 요구 사항이 없는 한 OS X 개발을 위해 Cocoa를 대체할 합리적인 대안은 없습니다.

다른 팁

Xcode 도구의 일부로 포함된 Interface Builder 외에도 QT, GTK+, AWT & SWING(Java 배경용), Tk, Squeak(Smalltalk 배경용), Shoes(매우 멋진 Ruby GUI 도구 키트)를 사용할 수 있습니다. ), FXRuby(추가 Ruby), wxWidgets, XULRunner 및 기타 잊어버렸을 것입니다.그러나 가장 네이티브와 유사한 앱의 경우 Interface Builder가 최선의 선택입니다.

Cocoa는 Mac OS X에서 사용되는 기본 프레임워크입니다.Apple이 사용하는 것과 대부분의 새로운 개발이 사용하는 것, 그리고 주로 새로운 기능이 추가되는 곳입니다.

WPF 출신이라면 Cocoa의 개념 중 상당수가 익숙할 것입니다.(Cocoa가 약간 오래되었다는 사실에도 불구하고) 완전히 MVC를 중심으로 구축되었으며 속성 변경 알림 및 바인딩, 애니메이션 지원, 지속성 및 객체 그래프 관리 프레임워크 등이 있습니다.

(또한 태그에 "mac"을 추가할 수도 있습니다.)

귀하의 Java 배경 지식이 있으면 이제 더 이상 사용되지 않는 Cocoa-Java 브리지로 인해 곁길로 빠지지 마십시오.OS X 역사 초기에 Apple은 Cocoa 라이브러리를 위한 (수작업으로 유지 관리하는) Java 인터페이스를 제공했습니다.Java와 Objective-C 사이의 의미적 차이로 인해 키-값 바인딩(다른 많은 기능이 구축됨)을 포함하여 Cocoa의 가장 강력한 기능 중 다수는 매우 어렵습니다. 이는 Objetive-C와 Java 기능의 차이로 이어지며 브릿지의 최종 지원 중단.모든 Cocoa 개발은 Objective-C 또는 Python이나 Ruby와 같은 동적 언어에 대한 많은(자동 생성) 브리지 중 하나를 사용하여 수행하는 것이 가장 좋습니다.

당신의 잡담 경력을 바탕으로 하루나 이틀 안에 Objective-C를 익힐 수 있을 것으로 예상합니다.

WPF가 무엇인지는 잘 모르겠지만 OSX 플랫폼 개발은 대부분 Objective-C와 Cocoa에서 이루어집니다.더 이상 사용되지 않는 Carbon API를 Java와 같은 다른 언어와 함께 사용할 수 있지만 OSX용 새 애플리케이션은 실제로 Objective-C에서 개발되어야 합니다.당신은 시작할 수 있습니다 애플의 가이드 Xcode를 IDE로 사용하세요.

이전 포스터와 다르게 표현하자면 다음과 같습니다.InterfaceBuilder에서 인터페이스를 디자인하지 않고 Objective-C로 조작하지 않는다면 Macintosh 응용 프로그램처럼 보이지도, 느껴지지도, 동작하지도, 작동하지도 않는 응용 프로그램이 되어 눈에 띄게 될 것입니다. 사용자에게 아픈 엄지 손가락처럼.이는 다른 앱에 비해 사용자에게 불쾌한 경험이 될 것이며, 이로 인해 다른 애플리케이션을 원할 가능성이 높습니다.

애플리케이션이 이미 QT를 사용하고 있고 이를 빠르게 이식하려는 경우 QT와 같은 툴킷이 허용되지만, 새 애플리케이션(또는 별도의 GUI)을 작성하는 경우 ObjC 또는 ObjC++를 사용하여 Cocoa에서 작성하세요.

당신은 한 번 볼 수도 있습니다 PyObjc 이는 Cocoa를 포함한 Mac OS X 구성 요소에 대한 바인딩을 포함하여 Python 프로그래밍 언어와 Objective-C 사이의 다리입니다.

스몰토크 배경이 있으면 Cocoa와 Objective-C를 추천합니다.그러나 동적 언어 쪽으로 기울고 있다면 루비코코아 Python보다 더 쉽게 선택할 수 있는 Ruby를 사용할 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top