ドラッグアンドドロップなしでユーザーインターフェイスをすばやく作成するのに最適な言語ですか? [閉まっている]

StackOverflow https://stackoverflow.com/questions/460085

  •  19-08-2019
  •  | 
  •  

質問

私は盲目の大学生で、ユーザーインターフェイスの設計に焦点を当てたプログラミングクラスの紹介をしています。クラスは、完全にアクセスできないProcessingを使用しています。ドラッグアンドドロップなしでGUIを作成できる言語を探しており、ピクセル単位で制御位置を指定せずにレイアウトのほとんどを実行できるように十分にスマートであることが望まれます。

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

役に立ちましたか?

解決

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

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

要約すると、WPFは便利ですが、スクリーンリーダーがこの種のアプリで動作することを確認してください。次に最適な選択肢はおそらくWinFormsです。 Layout By Codeが気に入ったらそれを使用しますが、もしこれが仕事に必要なスキルなら、それを覚えておいてください。

他のヒント

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

  • ピクセル操作は不要です
  • コードビハインドのアイテム機能
  • コントロールに変更するピクセルを追加できます 後で
  • に関する多くのドキュメントがあります 使い方

たぶん、あなたがより良い提案をするためにあなたが言語を必要とするもののアイデアを私たちに与えれば。

XAMLを見てください。現代のWindowsとWeb UIの両方のクリエーターにとって良いスタートになると思います。

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

<!> quot; native <!> quot; Tkの言語はTclです。他の多くの言語にはTkバインディングがあります。

label .l -text "this is a label"
button .b -text 'quit' -command "exit"
pack .l .b

codeplexでこのプロジェクトをチェックしてください。それはあなたを助けるかもしれません(処理<!> amp; 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は、Sean McDirmidとその友人によって作成されたオープンソースプロジェクトで、ラピッドプロトタイピングの設計を支援します。 Blingを使用して生産性を高め、他のWPF UIデザインプロトタイプと共有したいと考えています。

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

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

Windows、ダイアログ、メニューはすべてシンプルなレイアウトマネージャーから作成できます。

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

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

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

アクセシビリティについては、 WAI ARIA もご覧くださいオペラのWAI ARIAの紹介 .a

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

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top