現在、修士論文の一部として、モバイルデバイス用の新しいツールキットを設計しています。ツールキットに含める必要のある理論的な背景(研究、書籍、チュートリアルなど)があるかどうかを知りたいです。
直感的には、ボタン、入力フィールド、スライダー、スイッチなどがそこにあるはずです。しかし、なぜ?これらのことを論文の中で言及せずに書くだけでは不安になります。
私はあなたが何を求めているのかについて私が棒の右端を持っていることを願っています...私はここで少し口論をするところだからです!
ユーザーインターフェイスのさまざまな要素には特定の目的があり、それぞれの目的はユーザーが実行できる必要のあるタスク(通常は指を使用)に対応し、そのタスクを単純で簡単にします。これらは通常、ユーザーのエクスペリエンスやカルチャーに関する同様のコントロールの外観や親しみやすさを通じてアフォーダンスを提供します。
たとえば、ボタンを使用すると、ユーザーは簡単なタッチで1つのアクションを実行できます。あなたの心を読んだり、あなたのスピーチを(完全に、そして明確に)理解したりせずに、それはそれよりずっと単純になることはありません。
次はスイッチ/チェックボックス/トグルタイプのコントロールで、その目的は何かの状態を変更することです-通常、オンまたはオフのような2つのオプション間で。
次に、3つ以上のオプションが必要な制限付きの多肢選択要素があります。たとえば、ラジオグループ、コンボボックス、ドロップダウン、メニューなどのオプションが6つあります。もちろん、これらは基本的にボタン要素から構築されます-効率的にグループ化されます。
その後、通常は数字や単語で構成される非常に多くのオプションの1つを入力できるフィールドがあります。範囲内の数値の場合、スライダー、スピンボックスなどが適切です。テキストベースの場合は、1行または複数行の入力フィールドで有効になります。
ですから、私がここに行くところを確認できます。インターフェースのさまざまな要素により、1つのアクションから2つのアクションまで、さまざまなタイプの入力が可能になります。関連するタスクに応じて、入力のバリエーションは少数、多数、またはほぼ無限です。
これが、これらのフィールドが存在する理由です。これらのフィールドは、何十年にもわたって進化し、さまざまな個々の入力に対する最も単純なメカニズムになっています。もちろん、相互に組み合わせて使用すると複雑になる場合があります。また、コントロールが不自然に構築されたり、過度に設計されたり、単に誤用されたりする場合もあります。しかし、これらは「全体像」の設計上の問題であり、個々の制御の効率には影響しません。
より専門的なアプリケーション、複雑なインターフェース、または派手なインタラクティブな視覚化を構築するとき、インタラクションの分割不可能な各ポイントでの入力の複雑さに応じて、これらの基本的なUI構築ブロックを本質的に使用しています。
そして、それらはGUI設計の一部のAdamとEveから始まっただけではありません。非常に多くのGUI関連のメカニズムと同様に、コンピュータが登場するずっと前から、基本的な要素は現実世界の相互作用から変換されます。ボタン、ノブ、スイッチ、ダイヤル、ラチェット、レバーは、産業革命の開始以来、機械制御の主力でした。
これらは、ユーザーインターフェイス要素の定期的な表のようなものです。豊かなユーザーエクスペリエンスに命を吹き込むための不可分なビルディングブロック。 それはどれほどロマンチックですか!
最初のまとまりのあるコンピュータGUIはXero PARCで開発されました これの開発をかなりよく説明している本があります で、初期のGUIとその歴史の十分な基礎を提供します。最も包括的なのは、Adele Goldbergらによる「Smalltalk 80 The Language and It's Implementation」です。 (「Smalltalk 80 The Language」は、情報が少ない最新バージョンです。)
1980年にSmalltalkがリリースされた後 多数のGUIが登場し、進化しました 。前世代のGUIの使用で発見されたニーズを満たすGUI要素の発明と改良。新しい要素を作成するもう1つの原動力は、市場主導の「軍拡競争」でした。そこでは、新しい機能の作成が市場シェアの拡大を望んでいました。
全体としては、成功した要素が存続し、コピーされる一方で、あまり成功しなかった要素が古くなったという進化的なプロセスでした(パイメニューは、切り抜けられなかった要素の一種でした)。
元の質問については、「GUIツールキットには何を入力する必要がありますか?」答えは動く目標であることを理解する必要があります。 Apple それらが提供するiOS要素のドキュメント ですが、開発者が作成したカスタム要素が大量にあるため(高速移動するターゲット)、正確にはわかりませんあなたの調査に含めたいと思います。