WPF에서 가능한 그래픽 응용 프로그램의 OS X 개발에 대한 권장 사항은 무엇입니까?풍부한 GUI OS X 프레임 워크?
내 특정 배경은 Smalltalk & Java이지만 현재 주로 DHTML/.NET (ASP.NET/C#)에서 작동합니다.
WPF에서 가능한 그래픽 응용 프로그램의 OS X 개발에 대한 권장 사항은 무엇입니까?풍부한 GUI OS X 프레임 워크?
내 특정 배경은 Smalltalk & Java이지만 현재 주로 DHTML/.NET (ASP.NET/C#)에서 작동합니다.
코코아. 많은 사람들이 지금까지 최고의 애플리케이션 프레임 워크라고 생각합니다. 언어는 Objective-C, Java의 작성자에게 영향을 준 SmallTalk와 유사한 언어입니다.
크로스 플랫폼이되기를 원하는 것처럼 특별한 요구가없는 한 실제로 OS X 개발을위한 코코아 대안은 없습니다.
WPF가 무엇인지 모르겠지만 OSX 플랫폼의 대부분의 개발은 Objective-C에서 Cocoa로 수행됩니다. Java와 같은 다른 언어와 함께 폐기 된 Carbon API를 사용할 수 있지만 OSX의 새로운 응용 프로그램은 실제로 Objective-C에서 개발해야합니다. IDE로 Xcode를 사용하여 Apple's guide으로 시작할 수 있습니다.
코코아는 Mac OS X에서 사용하는 기본 프레임 워크입니다. Apple이 사용하는 것으로, 대부분의 새로운 개발에서 사용되는 것으로 새로운 기능이 주로 추가 된 곳입니다.
WPF에서 오신다면, 익숙한 코코아 개념을 꽤 많이 발견 할 것 같아요. (코코아가 조금 더 오래 되었음에도 불구하고) MVC를 중심으로 구축되었으며, 속성 변경 알림 및 바인딩, 애니메이션 지원, 지속성 및 객체 그래프 관리 프레임 워크 등이 있습니다.
(또한, 태그에 "맥"을 추가 할 수 있습니다.)
Xcode의 도구의 일부로 포함되어 인터페이스 빌더에서 제외, 당신은 또한 QT, GTK +, AWT & SWING을 (사용할 수 있습니다 Tk, Squeak (Smalltalk 배경), Shoes (매우 멋진 Ruby GUI 툴킷), FXRuby (Ruby 추가), wxWidgets, XULRunner 및 기타 잊어 버린 것 같습니다. 그러나 가장 기본적인 응용 프로그램의 경우 인터페이스 빌더가 최선의 방법입니다.
Java 배경을 사용하면 더 이상 사용되지 않는 Cocoa-Java 브리징에서 사이드 트랙이 발생하지 않도록하십시오. OS X 역사의 초기에, 애플은 코코아 라이브러리를위한 손쉬운 자바 인터페이스를 제공했다. Java와 Objective-C 사이의 의미상의 차이로 인해 (다른 많은 기능이 빌드 된) Key-value 바인딩을 포함하여 Cocoa의 가장 강력한 기능 중 많은 부분이 매우 어려워서 Objetive-C와 Java 기능의 차이가 발생합니다. 다리의 최후의 비추천. 모든 코코아 개발은 Objective-C 또는 Python이나 Ruby와 같은 동적 언어에 대한 많은 (자동 생성 된) 브리지 중 하나를 사용하는 것이 가장 좋습니다.
배경을 smalltalk로 사용하면 1-2 일 내에 Objective-C를 선택할 수 있습니다.
이전 포스터와 다른 방식으로 말하자면 InterfaceBuilder에서 인터페이스를 디자인하고 Objective-C로 조작하지 않으면 모양, 느낌, 행동 등의 응용 프로그램을 사용하지 않을 것입니다. 또는 매킨토시 응용 프로그램과 같은 방식으로 작동해야하며, 사용자에게 아픈 엄지 손가락처럼 튀어 나오게됩니다. 그것은 다른 애플 리케이션에 비해 사용자를위한 불쾌한 경험이 될 것이고, 아마 그것 때문에 다른 응용 프로그램을 원할 것입니다.
QT와 같은 툴킷은 이미 QT를 사용하고 있고 빨리 포팅하고 싶지만 새로운 애플리케이션 (또는 별도의 GUI)을 작성하는 경우 ObjC 또는 ObjC++를 사용하여 Cocoa로 작성하십시오.
코코아를 포함한 Mac OS X 구성 요소의 바인딩을 포함하여 Python 프로그래밍 언어와 Objective-C 사이의 다리 인 PyObjc을 살펴볼 수 있습니다.
스몰 토크 배경으로 스트레이트 코코아와 Objective-C를 권하고 싶습니다. 그러나 동적 인 언어에 익숙하다면 RubyCocoa을 사용하면 Python보다 쉽게 찾을 수 있다고 생각되는 Ruby를 사용할 수 있습니다.