11

私は視覚障害のある大学生で、ユーザー インターフェース デザインに焦点を当てたプログラミング クラスの入門を受けています。このクラスは、完全にアクセスできない Processing を使用しています。ドラッグ アンド ドロップを使用せずに GUI を作成できる言語を探しています。うまくいけば、コントロールの位置をピクセル単位で指定する必要がなく、ほとんどのレイアウトを実行できるほど賢くなります。

Perl、Java、C/C++、c#、および HTML を知っています。HTA アプリケーションの作成を検討していました。私の唯一の要件は、言語が MS Windows で動作する必要があり、基礎となるツールキットとして SWING や GTK を使用してはならないということです。

4

9 に答える 9

3

私は xaml が良い選択だと思います:

  • ピクセル操作は必要ありません
  • コード ビハインドのアイテム機能
  • 後で制御するために変更するピクセルを追加できます
  • 使用方法に関するドキュメントがたくさんあります

言語が必要な理由を教えていただければ、より良い提案ができるかもしれません。

于 2009-01-20T04:37:36.610 に答える
2

盲目のプログラマーとして話す:

  • C# + WinForms: コードを手動で作成してレイアウト マネージャーを使用するか、頭の中でサイズを計算するか、JAWS スクリーン リーダーを使用している場合は、WinForms デザイナーで役立つスクリプトを使用できます。
  • C# + WPF: ここでは XML で UI を定義しますが、理解するのはより複雑です。これは非常に優れたソリューションであるため、これを確認してください。現時点での WPF のもう 1 つの問題は、すべてのスクリーン リーダーがこの新しいテクノロジをサポートしているわけではないということです。
  • www.EmpowermentZone.com の Jamal Mazrui は、「Layout By Code」と呼ばれるものを作成しましたが、私はこれを経験したことがありません。
  • HTML+Javascript はいいと思いますが、コースで許可されるとは思えません。
  • WXWidgets: このクロスプラットフォームの多言語 UI ツールキットの経験はあまりありませんが、レイアウト マネージャーが含まれているため、私の知っている盲目のプログラマー数人が使用していると思います。
  • 最後に、Win32 リソース スクリプトを手動で設計し、頭の中でサイズを計算していました (レイアウト マネージャーは使用しません)。このルートを利用したい場合、これは確かに達成可能です。

要約すると、WPF は優れていますが、スクリーン リーダーがこの種のアプリで動作することを確認してください。次善の策は、おそらく WinForms です。Layout By Code が好きならそれを使ってください。しかし、これがあなたが雇用したいスキルであるなら、それを覚えておいてください。

于 2009-01-20T13:51:51.890 に答える
1

codeplexでこのプロジェクトをチェックしてください。それはあなたを助けるかもしれません(processing&javaの代わりとして) http://bling.codeplex.com/

lingは、MicrosoftのWPF / .NETで画像、アニメーション、インタラクション、および視覚化を簡単にプログラミングするためのC#ベースのライブラリです。Blingは、豊富なUIデザインのアイデアのラピッドプロトタイピングを支援するために、デザインテクノロジスト、つまり、プログラミングを行うことがあるデザイナーを対象としています。学生、芸術家、研究者、愛好家も、アイデアや視覚化をすばやく表現するためのツールとしてBlingが役立つことに気付くでしょう。BlingのAPIと構造は、本番コードの注意深いプログラミングとは対照的に、使い捨てコードの高速プログラミング用に最適化されています。

リッチUIのラピッドプロトタイピングを支援する次の機能としてブリンブリン。

* Declarative constraints that maintain dynamic relationships in the UI without the need for complex event handling. For example, button.Width = 100 - slider.Value causes button to shrink as the slider thumb is moved to the right, or grow as it is moved to the left. Constraints have many benefits: they allow rich custom layouts to be expressed with very little code, they are easy animate, and they support UIs with lots of dynamic behavior.
* Simplified animation with one line of code. For example, button.Left.Animate.Duration(500).To = label.Right will cause button to move to the right of label in 500 milliseconds.
* Pixel shader effects without the need to write HLSL code or boilerplate code! For example, canvas.CustomEffect = (input, uv) => new ColorBl(new Point3DBl(1,1,1) - input[uv].ScRGB, input[uv].ScA); defines and installs a pixel shader on a canvas that inverts the canvas's colors. Pixel shading in Bling takes advantage of your graphics card to create rich, pixel-level effects.
* Support for multi-pass bitmap effects such as diffuse lighting.
* An experimental UI physics engine for integrating physics into user interfaces! The physics supported by Bling is flexible, controllable, and easy to program.
* Support for 2.5D lighting.
* A rich library of geometry routines; e.g., finding where two lines intersect, the base of a triangle, the area of triangle, or a point on Bezier curve. These routines are compatible with all of Bling's features; e.g., they can be used in express constraints, pixel shaders, or physical constraints. Bling also provides a rich API for manipulating angles in both degrees and radians.
* And many smaller things; e.g., a frame-based background animation manager and slide presentation system.
* As a lightweight wrapper around WPF, Bling code is completely compatible with conventional WPF code written in C#, XAML, or other .NET languages.

Blingは、ラピッドプロトタイピングの設計を支援するためにSeanMcDirmidとその友人によって作成されたオープンソースプロジェクトです。Blingを使用して生産性を向上させ、他のWPFUIデザインプロトタイプ作成者と共有したいと考えています。

于 2009-06-17T10:34:16.643 に答える
1

XAML を見てください。これは、最新の Windows と Web UI の作成者の両方にとって良いスタートになると思います。

于 2009-01-20T03:57:16.067 に答える
1

Tcl/Tk はまさにあなたが望むことを行います。パックおよびグリッドレイアウト マネージャーは、ウィジェットの論理的な相対配置に基づいています。

Tk の「ネイティブ」言語は Tcl ですが、他の多くの言語には Tk バインディングがあります。

label .l -text "this is a label"
button .b -text 'quit' -command "exit"
pack .l .b
于 2009-01-20T03:58:05.940 に答える
0

JavaScript と html を使用できます。javascript への処理のポートがあるため、クラスでカバーするものに対して十分に強力であることがわかります。html がどのように見えるかをまったく知らなくても、html を作成できます。実際、これは html を作成するための推奨される方法です。

JavaScript の主な欠点は、JavaScript 自体ではなく、ブラウザーの DOM にあります。これは、html 要素を制御するためのインターフェイスです。ただし、jquery、mootools、dojo などのライブラリーを使用すると、これらの問題のほとんどを処理できます。

アクセシビリティについては、WAI ARIAオペラの WAI ARIA のイントロをご覧ください。

WAI ARIA は、スクリーン リーダーを使いこなしながらリッチな JavaScript アプリケーションを構築する方法です。とても良いですね。Web スタックを他のプログラミング スタックでアクセスできるようにするためにこれ以上の労力と情熱が注がれたのを見たことがありません。

于 2009-01-20T04:49:27.630 に答える
0

私はおそらくC#を使用してみてください。ドラッグ アンド ドロップを使用しなくても、Windows の一般的なコントロールなどへの適度に使いやすいインターフェイスを備えています。通常どおりデザイナーとコードを使用しないでください。

于 2009-01-20T03:58:19.963 に答える
0

私は Java でプログラミングしませんが、Java がプログラムによる UI の作成を提供し、いくつかの素晴らしいレイアウト管理コンポーネント (SWING を必要としない Java にネイティブ) を提供することを知っています。私が最初に Layout Manager に触れたのは、古き良き時代の X11 と X Toolkit (Motif、OpenLook、HP Open View を覚えている人はいますか?) でしたが、Java は同様のテクノロジーを採用しているようです。

ウィンドウ、ダイアログ、およびメニューはすべて、単純なレイアウト マネージャーから作成できます。

于 2009-01-20T04:04:44.680 に答える
0

私自身が目撃されており、アクセシビリティについて監査されたものや、目の不自由なユーザーが頻繁にアクセスしたものにあまり密接に取り組んだことがないため、私の答えはそれほど完全ではないと思います. しかし、私の最初の本能は、C#、PHP、または ColdFusion のような HTML を生成するある種の動的 Web サーバー アーキテクチャは、制御位置をピクセル単位で指定する必要なく、ほとんどのレイアウトを処理するという記述に適合すると言うことです。CSS を介して制御位置をピクセル単位で指定することは確かに可能ですが、必須ではありません。また、HTML にもアクセシビリティの標準が明確に定義されていることは知っていますが、他の種類のソフトウェアのアクセシビリティ標準がどのような状況にあるのかはわかりません。

于 2009-01-20T04:06:19.793 に答える