12

私はツールを書くときはWindowsプログラミングのバックグラウンドを持っていますが、過去1年間はCarbonとCocoaを使用してプログラミングを行ってきました。私は、UIプログラミングから身を隠して、Macを紹介しました。私は基本的に、ビューでOpenGLコードをワッピングしてから、プラットフォームに依存しないOpenGLC++コードを通常どおり使用して快適ゾーンにとどまっています。

しかし、今度は、より洗練されたアプリケーションの1つをMacOSに移植し始めたいと思います。

通常、私は標準のVisual Studioドッキング可能MDIアプローチを使用します。これは優れていますが、非常にWindowsに似ています。しばらくの間、主にMacを使用していたので、この種の方法がMacUIに使用されることはあまりありません。残念ながら、Xcodeでさえドラッグアンドドロップ/ドッキング可能なビューのアイデアをサポートしていません。スプリッターパネルを備えたドッキングビューが表示されますが、それだけです。

Visual Studioのアプローチに最も近いのは、PhotoshopCS4です。これは非常に優れています。

では、これに関する一般的なコンセンサスは何ですか?私が見たことのない同じことを達成するためのもっとMacのような方法はありますか?そうでない場合は、Cocoaでウィンドウマネージャーを自分で作成できるので、すばらしいAPIのように見えるものを最終的に学ぶことができます。

QTやその他のクロスプラットフォームライブラリは使用したくないことに注意してください。重要なのは、MacアプリをMacアプリのように見せ、WindowsアプリをWindowsアプリのように見せたいということです。私はいつもクロスプラットフォームライブラリがこの効果を失う傾向があることに気づきます。そして、派手なCocoaトランジションとアニメーションを備えたネイティブMac UIを見ると、私はいつも笑顔になります。ココアを学ぶのもいい言い訳です。

そうは言っても、これを行うためのオープンソースのCocoaライブラリがあれば、私はそれについて知りたいです!他の誰かがこれをどのように達成し、Cocoaの学習曲線をスムーズにするのに役立つかを知りたいです。

乾杯、

シェーン

更新:重要なポイントについて言及するのを忘れました。私はプラグインをサポートしています。プラグインは、さまざまなプラグイン固有の情報を表示するための独自のUIを持つことができます。ドッキングをサポートしていない場合、どのプラグインが読み込まれるか、UIがどこにあるかわかりません。具体的には、UIを変更できない場合、プラグインビューアーキテクチャをサポートするにはどうすればよいですか?プラグインビューはどこに配置しますか?

4

4 に答える 4

10

Windowsのバックグラウンドから来て、ドッキングウィンドウが必要だと感じますが、それはアプリにとって本当に不可欠ですか?Appleの哲学(私の意見では)は、デザイナーはユーザーよりも物事がどのように見え、どのように機能するかをよく知っているということです。たとえば、iTunesは非常に洗練されたアプリですが、Appleは一貫性を保ちたいので、UIを変更したり、スキンを変更したりすることはできません。フルビュー、ミニプレーヤー、およびいくつかの異なる表示オプションを提供しますが、ソースリストを別のウィンドウに移動したり、他の位置にドッキングしたりすることはできません。彼らはそれが左側にあるべきだと思っているので、そこにとどまります...

「MacアプリをMacアプリのように見せたい」とおっしゃっていましたが、ご指摘のとおり、Macアプリにはドッキングウィンドウがない傾向があります。したがって、独自のドッキングウィンドウを実装することは、おそらく間違った方向への一歩です;)

于 2010-02-13T01:33:19.417 に答える
2

ケンの答えに+1。

ユーザーの観点からは、Adobe CSやEclipseのようにアプリに不可欠なものでない限り、すべてをできるだけ簡潔にし、さまざまなオプションや表示を邪魔にならないようにして、ドキュメントに集中できるようにします。

Macユーザーの場合、パネルの再配置を利用する「ユーザースキル」を持っている人は、ほとんどの場合、代わりにホットキーバインディングを選択し、そのレベルの「スキル」を持っていない人は、混乱するだけだと思います。 。

できるだけシンプルにすることをお勧めします。

于 2010-02-13T01:40:43.543 に答える
2

多くのMacアプリに共通していることの1つは、すべてのクロムを非表示にしてコンテンツに集中できることです。これが、多くのウィンドウの右上隅にある「tictac」ツールバーコントロールの背後にあるポイントです。多くのドッキングUIの重大な弱点は、ドッキングされたパネルがコンテンツを覆い隠す可能性があるため、ウィンドウが画面の大部分を占めることを期待していることです。ドッキングされたパネルが折りたたみ可能であっても、それらによって残されたスペースは、多くの場合、無駄になり、空白で埋められます。したがって、ドッキングパネルをインターフェイスに組み込む場合は、ほとんどの場合、ドッキングパネルが表示されることを期待する必要があります。たとえば、iTunesのソースリストは常に表示されるように明確に設計されていますが、プレイリストをダブルクリックして新しいウィンドウで開くことができます。

さまざまなMacコントロールに慣れるために、クロスプラットフォームUIを備えていないいくつかのアプリで本格的な作業を試してみることをお勧めします。たとえば、iWorkアプリ、Interface Builder、プレビューなどです。コントロールが表示される場所とその理由(ツールバー、下部バー、インスペクター、ソースリスト/サイドバー、IBのライブラリやフォントおよびカラーパネルなどのパネル、コンテキストHUD)に注意してください。メニューバーもお忘れなく。コントロールの感触(応答性、モダリティ、サイジング、グループ化、一貫性)を理解してください。味を開発してみてください。すべてが完璧というわけではありません。何かをからかう場合は、iCalを試してみてください。

コントロールには「1つのサイズですべてに対応」するものはないことに注意してください。これは、ドッキングUIで問題になる可能性があります。ワークフローについて考えることが重要です。コントロールがどの程度一般的に使用されるか、直接操作に置き換えることができるかどうか、その状態を視覚的に示す必要があるかどうか、必要に応じてキーボードとマウスから操作できるかどうかなどです。コントロールの配置と動作によって、ユーザーがより効率的に作業できるようになる方法を理解してください。

他の点では適切なアプリケーションでのコントロールの配置と動作の良い例と悪い例の簡単な例として、OmniGraffleとKeynoteの画像マスキングを比較してください。OmniGraffleでは、これは画像インスペクターを使用します。最初にラベルのないボタン(「ナチュラルサイズ」)をクリックして適切なコントロールを有効にし、次に画像のサムネイルを使用して、または画像のサムネイルを使用してサイズと位置を忠実に調整します。フィールドにパーセンテージを入力します。フレームのサイズを直接変更しようとすると、奇妙で​​直感に反する方法で動作します。

基調講演では、マスキングは適切な名前のメニュー項目またはツールバー項目から始まり、マスクされた画像をクリックした瞬間にポップアップするHUDを使用し、マスキングしている画像の範囲の適切な表示を含む直接操作を可能にします。マスクされた画像をドラッグしている間、ガイドに従います。上級ユーザーは、画像をダブルクリックしてマスクの編集を切り替えたり、ハンドルを使用してサイズを変更したりするだけで、HUDを完全に無視できます。いくつかの注意点がありますが、見やすいはずです(たとえば、「マスクの編集」モードの状態は、画像からだけでなく、HUDに表示される必要があります。マスクしている画像の外側の境界線をより効果的に使用する必要があります)。 Keynoteは、インスペクターを使用しないこともあり、この点で大幅に優れています。

とはいえ、膨大な数のオプションがあり、標準のタブ付きインスペクターレイアウトが機能しない場合は、OmniGroupのOmniInspectorフレームワークを確認してください。それを永久に使用してみてください。うまくいけば、今のグラフィックスと同じようにUIにこだわる方法を理解できるでしょう:-)

于 2010-02-13T03:11:18.953 に答える
1

(スローモーションで走り、パニックになります)Nnnnnoooooooo !!!!!

:-)真剣に、ケンの優れた回答への返信で述べたように、OSXUIに「Windowsism」を強制しようとすることは間違いなく悪い考えです。私の意見では、Windows UIの最大の問題は、サードパーティの開発者が、一貫性があり、確立された規則に従うのではなく、UIを表示する新しい一貫性のない方法を発明していることです。Macユーザーにとって、それはひどいアプリケーションの兆候です。それには理由があります。

私はあなたがあなたのことを再考することをお勧めしますUI MacOSを念頭に置いてゼロからアプリを実装します。仕事がうまくできていれば、アーキテクチャとモデル(プラットフォーム固有の実装はありません)は、どのプラットフォームにも明確に変換できるはずです。

UIに関しては、Macを1年間使用しているので、「標準」についてかなり良い考えを持っているはずです。疑問がある場合は、提示する必要があるものと、それをどのように行うかについての考えを具体的に詳述した質問を投稿することをお勧めします(または、わからない場合はどのように質問するか)。

明らかにそうではないのに、Windowsで実行されているかのようにアプリを強制的に動作させて、醜いスティックでアプリを叩かないでください。これは、Macユーザーにとってのアプリの死のキスです。

于 2010-02-13T02:23:13.263 に答える