リッチなGUI OS Xフレームワーク?


6

WPFのようなグラフィカルアプリケーションのOS X開発では、どのようなことをお勧めしますか?

私の特定の背景はSmalltalk & Javaですが、現在は主にDHTML/.NET(ASP.NET/C#)で動作しています。

15

ココア。今までにない最高のアプリケーションフレームワークであると多くの人が考えています。言語はObjective-C、Javaの作成者に影響を与えたSmallTalkのような言語です。

クロスプラットフォームになりたいという特別なニーズがない限り、OS X開発用のCocoaには本当に妥当な代替手段はありません。


1

私はWPFが何であるか分かりませんが、OSXプラットフォームのほとんどの開発はObjective-CでCocoaで行われています。廃止予定のCarbon APIをJavaのような他の言語で使用することもできますが、OSXの新しいアプリケーションはObjective-Cで実際に開発する必要があります。 IDEとしてXCodeを使用してApple's guideから始めることができます。


2

ココアは、Mac OS Xで使用する主要なフレームワークです。これはAppleが使用するもので、ほとんどの新しい開発で使用されているもので、主に新しい機能が追加されています。

あなたがWPFから来ている場合、私はあなたがよく知っているココアのコンセプトのかなりを見つけるかもしれないと思います。 (Cocoaは少し古くなっているにもかかわらず)MVCを中心に構築されています。プロパティーの変更通知とバインディング、アニメーションのサポート、永続性とオブジェクトグラフ管理フレームワークなどがあります。

(また、あなたがタグに "マック" を追加したい場合があります。)


4

脇のXcodeツールの一部として含まれているInterface Builderをから、あなたもQT、GTK +、AWT & SWINGを(使用することができますあなたのSmalltalkバックグラウンド用)、Shoes(非常にクールなRuby GUIツールキット)、FXRuby(Ruby以上)、wxWidgets、XULRunnerなど、私は忘れてしまったでしょう。しかし、最もネイティブのようなアプリでは、Interface Builderが最善の策です。


2

Javaのバックグラウンドでは、廃止予定のCocoa-Javaブリッジでサイドトラッキングしないでください。 OS Xの歴史の早い段階で、AppleはCocoaライブラリのための(面倒な手持ちの)Javaインターフェイスを提供しました。 JavaとObjective-Cの意味の違いにより、Key-Valueバインディング(他にも多くの機能が組み込まれています)を含むCocoaの最も強力な機能の多くは非常に難しく、Objetive-CとJavaの機能の相違につながります。ブリッジの最終的な廃止。すべてのCocoa開発は、Objective-CまたはPythonやRubyなどの動的言語に対する多くの(自動的に生成された)ブリッジのうちの1つを使って行うのが最適です。

あなたのバックグラウンドがSmalltalkであれば、私はObjective-Cを1日か2日で拾うことができます。


0

以前のポスターとは別の言い方をすると、InterfaceBuilderでインターフェイスを設計してObjective-Cで操作していない場合、外観、感触、行為、 Macintoshアプリケーションのやり方で作業してください。そして、それはユーザーに痛感します。それは他のアプリと比較してユーザーにとって不愉快な経験になり、そのために別のアプリが必要になる可能性が高くなります。

アプリケーションがQTを使用していて、高速に移植したい場合は、QTのようなツールキットを使用できますが、新しいアプリケーション(または別のGUI)を作成する場合は、ObjCまたはObjC++を使用してCocoaで記述します。


0

PyObjcは、Pythonプログラミング言語とObjective-Cの間の橋渡しであり、Mac OS Xコンポーネント(Cocoaなど)のバインドも含まれます。


0

スモールトークの背景には、まっすぐなココアとObjective-Cをおすすめします。しかし、あなたが動的言語に傾いているなら、RubyCocoaはあなたがPythonよりも拾いやすいと思うRubyを使用させます。