タグ付けされた質問 「ui」

ユーザーインターフェイス_エンドユーザー用に指定されたアプリケーションインターフェイス

5
エディターのダークカラースキームはなぜそんなに人気があるのですか?[閉まっている]
最近では、ほとんどすべての人がコードエディタで暗い配色を使用しています-明るい背景の暗い背景。ほとんどのWebベースのエディター(Githubなど)でも、暗い配色が使用されています。 正直なところ、利益は見当たりません。人間の目は、明るい背景で暗いテキストを読むのがはるかに優れています。また、明るい照明の環境では、白地に黒の配色が非常に効果的です。 私は現在、窓から太陽が差し込むオフィスに座っています。エディター(白い背景に濃い色のテキストを含むgVim)でテキストを読むことはできますが、Linuxコンソールでははるかに困難です。コンソールvimでテキストを編集することはほとんど不可能です。 全体は、特定のIDE /エディターのデフォルト設定によって開始された、奇妙な誇大広告のように思えます。しかし、多分私はただ奇妙だ..;) とにかく、なぜ誰もがこれらを使用していますか?

4
Model-View-Presenter実装の考え方
UIとモデルの間の適切なデカップリングを実装する方法を十分に理解しようとしていますが、行を分割する場所を正確に把握するのに苦労しています。 私はModel-View-Presenterを見てきましたが、それをどのように実装するのか正確にはわかりません。たとえば、私のビューには複数のダイアログがあります。 各ダイアログのインスタンスを持つViewクラスが必要ですか?その場合、ダイアログはプレゼンターとどのように対話する必要がありますか?すなわち。個々のダイアログがプレゼンターを介してモデルからデータを要求する必要がある場合、ダイアログはプレゼンターへの参照をどのように取得する必要がありますか?建設中に与えられたビューへの参照を介して? 私は多分ビューが静的なクラスであるべきだと思っていましたか?次に、GetViewダイアログとそこからプレゼンターを取得します... ビューとモデルの所有権を持つプレゼンターをセットアップすることを考えていました(ビューを持つプレゼンターとプレゼンターがモデルを持つのとは対照的に)、プレゼンターはビューのイベントのコールバックを登録しますが、それは多くのように見えますより結合された(または少なくとも言語に依存) 私がしようとしている: これを可能な限り分離する 理想的には、プレゼンター/モデルを他の言語のビューと結合することを可能にします(言語間で大量のことをやったことはありませんが、可能な限り、特にvoid(void)私ができる限り、少なくともC#アプリでC ++ライブラリ... コードを簡潔かつシンプルに保つ だから..相互作用をどのように処理すべきか提案はありますか?

18
開発チームは、コンシューマーアプリのパフォーマンスの低下をどのように防ぐことができますか?
以前に遅いソフトウェアの原因を尋ねたとき、受け取ったいくつかの回答は、それが社会的および管理上の問題であることを示唆していました: これは技術的な問題ではなく、マーケティングと管理の問題です。...結局のところ、製品マネージャーはユーザーが得ようとしているものの仕様を記述する責任があります。多くの問題が発生する可能性があります:プロダクトマネージャーが仕様にボタンレスポンスを配置できません...プログラマーはそれを補うことができません。— ボブ・マーフィー 人々は適切なサイズのアプリで作業します。動作すると、バグのようにパフォーマンスの問題が忍び込んでいきます。違いは-バグは「悪い」-彼らは「私を見つけて、私を直して」と叫ぶことです。パフォーマンスの問題はただそこにあり、悪化します。プログラマーは、「まあ、私のコードにパフォーマンスの問題はないだろう。むしろ、管理者は私に新しい/より大きい/速いマシンを購入する必要がある」と考えます。実際、開発者が定期的にパフォーマンスの問題を探しているだけの場合(実際には非常に簡単です)、単純にそれらを削除できます。— マイク・ダンレイビー それで、これが社会的な問題である場合、顧客に遅いソフトウェアを出荷することを避けるために、組織はどのような社会的メカニズムを導入できますか?
32 performance  ui 

6
JavascriptでUIを100%実行し、APIを介してデータを提供することをお勧めしますか?
私の主な仕事はHTMLアプリケーションの作成です。それは、編集可能なグリッドビュー、テキストボックス、ドロップダウンなど、多くの内部でCRUDタイプのアプリケーションを内部で使用することを意味します。現在、ASP.NET Webフォームを使用しています。あなたが必要なものを得るためにフープを飛び越えなければなりません。天井から垂れ下がって炎を放つフープ。 だから、すべてのUIをJavaScript側に移動することはおそらく良い考えだろうかと思っています。特にニーズに合わせて調整された強力な再利用可能なコントロールを開発し、サーバーとのみデータを交換します。はい、私は「コントロール」(別名「ウィジェット」)パラダイムが好きで、そのようなアプリケーションに非常に適しています。したがって、サーバー側では、現在のASPXマークアップと同様の基本的なレイアウトがまだありますが、クライアントに送信されるのは1回だけであり、Javascript部分が後続のすべてのUI更新を処理します。 問題は、私がこれをやったことがなく、誰もこれをしているのを見たことがないので、問題がどうなるかわかりません。特に、私は心配しています: まだパフォーマンス。ベンチマークでは、現在、ブラウザがAJAX更新後にページのほとんどを再レンダリングしようとするときに、主な遅延がクライアント側にあることが示されています。ASP.NET webformsで生成されたマークアップは、「web」という言葉に新しい意味を与えます。また、豊富なDevexpressコントロールは、その上に独自のJavascript複雑さのレイヤーを追加します。しかし、JavaScript側で必要なすべての変更を再計算し、更新する必要があるものだけを更新する方が速いでしょうか?いくつかの編集可能なグリッドビュー、多数のテキストボックス、それぞれに50万個のフィルター可能なアイテムが含まれるドロップダウンなどがあるフォームについて話していることに注意してください。 開発のしやすさ。Javascriptはもっと多くなり、おそらくページのHTMLマークアップと混ざります。それまたは何らかの種類の新しいビューエンジンを作成する必要があります。JavascriptのIntellisenseはC#コードよりもはるかに悪く、Javascriptの動的な性質のため、はるかに良くなることは期待できません。コーディングの慣行により少し改善できますが、それほど改善することはできません。また、ほとんどの開発者は主にC#開発者であるため、ある程度の学習曲線と最初の間違いがあります。 セキュリティ。多くのセキュリティチェックを2回(サーバー側とUI側)行う必要があり、データ処理サーバー側にはさらに多くのチェックを含める必要があります。現在、サーバー側でテキストボックスを読み取り専用に設定した場合、その値がクライアントのラウンドトリップを通じて変わらないことに依存できます。フレームワークには、それを保証するのに十分なコードが既にあります(ビューステートの暗号化により)。データのみのアプローチでは、すべてを手動で確認する必要があるため、難しくなります。一方、心配する必要があるのはデータだけなので、セキュリティホールを見つけるのは簡単です。 全体として、これは問題を解決するのか、それとも悪化させるのか?誰かがこれを試みたことがありますか?その結果はどうでしたか?この種の取り組みに役立つフレームワークはありますか(jQueryと道徳的な同等物は別として)?

3
プログラマーはどのようにUXスキルを向上させることができますか?[閉まっている]
閉まっている。この質問はトピック外です。現在、回答を受け付けていません。 この質問を改善したいですか? 質問を更新して、 Software Engineering Stack Exchangeのトピックになるようにします。 4年前に閉鎖されました。 プログラマーとしては非常に複雑な問題を解決できますが、ユーザーインターフェイスを設計する必要がある場合、それらを使いやすくすることに失敗する傾向があります。 小規模な企業では、デザイナーやUXの専門家を雇う余裕はなく、プログラマーはソフトウェアでほとんどすべてを行う必要があります。しかし、これらのインターフェイスはめったに直感的ではありません(古典的な例)。 何が問題ですか?開発者は、優れたユーザーエクスペリエンスを設計するスキルをどのように向上させることができますか?

2
宣言UIとは何ですか?
フレームワークに関するブログでこの用語が放り出されているのを見続けています。宣言型プログラミングと命令型プログラミングの違いを理解していますが、これは特にUIにどのように適用されますか?なぜ特別な用語があるように見えるのですか?これらの異なる「もの」ですか?もしそうなら、宣言的UIの代替手段は何ですか?なぜそれを使用したいのですか?
16 frameworks  ui 

2
JREライブラリーのクラスは、外部/非JREアセンブリーからの監視可能および/または非同期読み取りをサポートしていますか?
他のプラットフォームのネイティブフロントエンドがオブジェクトを観察し、Observableパターンを利用できるように、クロスプラットフォームライブラリ(JREなど)を実装してオブジェクト参照でスレッドセーフな方法で操作するにはどうすればよいですか? 少しの背景-ほとんどのフロントエンドフレームワークで使用されるデータバインディングの概念があります。C#およびJavaでは、これは、複数のコントロールまたは「オブザーバー」がサブスクライブする可能性がある変更が発生したときにイベントを発生させる機能をクラスに与えるObservableトレイトに関連しています。このように、オブザーバーはリソースをポーリング/読み取りし続ける必要がなく、更新を比較します。 時間の経過とともにデータのリストを変更する分析エンジンで作業したいと思います。分析の実行中に、フロントエンドがこれらのリストを監視できるようになると便利です。これには、フロントエンドが、クロスプラットフォームのライブラリで書かれたオブジェクトを分析エンジンに渡し、そのオブジェクトに対してスレッドセーフな読み取りを行えることが必要だと思われます。または、ライブラリが可観測性の契約を満たします。 古いUnixスタイルのCLIエンジンでこれを処理する方法は、stdin / stdout / stderrを使用し、定期的にエンジンに更新を送信させることです。これには、標準のオーバーヘッドと、可能な場合は避けたいテキスト解析が必要です。

7
パフォーマンスの問題と見なされるまでに画面が表示されるまでにどれくらい時間がかかりますか?
さまざまな画面を持つWindowsアプリケーションの開発に携わっています。そのうちの1つは、画面がロードされていることを示すスピナーやその他の表示なしで表示されるのに10秒かかります。私はこれを深刻なパフォーマンスの問題だと考えていますが、心配しているのは私だけだと思われます。 私は熱心ですか?画面が表示されるのを待つ許容時間はどれくらいですか?

8
日付に基づいてUI(または他の)機能をオンまたはオフにしますか?
ASP.NET 2.0で書かれたひどいシステムがあり、いくつかの機能を追加する必要があります。問題は、特定の製品には特定の日付以降に開始されたビジネスでオンにする必要がある(および他のサービスがオフになっている)UI機能があり、既存のビジネスではページが同じように表示される必要があることです。 私は本能的に日付ベースのJavaScript UIスイッチのアイデアと、古いビジネスと新しいビジネスのWebコントロールの混合が「だらしない」(より良い言葉が欲しいため) )。 時間ベースのUI機能を持つ慣行は広く受け入れられている慣行ですか?そうでない場合、その行動方針を追求する既知のリスクは何ですか?

1
CSSが変数と階層をネイティブにサポートしないのはなぜですか?
私はUI開発は初めてですが、CSSがどのように機能するかについて非常に不快に感じています。 私のユースケースは、特定のスタイルをdivページの特定の内部に適用したかったということです。 CSSの試行: div.class1 { font: normal 12px arial, helvetica, sans-serif; font-color: #f30; } div.class1 div.class2 { border: 1px solid #f30; } より少ない試み: @red: #f30; @font-family: arial, helvetica, sans-serif; div.class1 { font: normal 12px @font-family; font-color: @red; div.class2 { border: 1px solid @red; } それは繰り返すようにあなたを強制ので、CSSのバージョンでは、バグを誘発することができます#f30&div.class2あなたは階層変数の再利用を実現しようとするたびに。 私の質問: なぜCSSが物事を難しくしているのですか? LESSは特別なことは何もしません-明らかな改善を行い、CSSに変換するだけですか? そのような冗長なコーディングスタイルを促進するために、CSSはユーザーを動機づけたいと考えています。 CSSはLESSと同じであると強く信じています。確かに、CSSで物事がそのように行われる理由の明らかな利点を見落としています。これはレガシーな問題だと思っていましたが、CSS3でこれを解決しようとする試みが見られなかったときは驚きました。 …
11 coding-style  css  ui  css3 

1
関数型言語のUIパターン
ClojureScriptをいじり始めたいのですが、いくつかの点に困惑しています。私の問題は、機能的に作業しようとするときに、ユーザーの対話から生じる状態の変化に対処するための良い方法です。 いくつか例を挙げましょう。ブラウザーで実行されるアプリケーションを念頭に置いていますが、問題はより一般的だと思います。もちろん、何かが変化します-少なくともDOMです。しかし、不変のデータ構造で動作するように残りのコードを整理する方法を見つけたいと思います。 1)イベントをDOMオブジェクトに添付したいとします。これは主に機能的な方法で行うのは難しくありません。ノードを作成するときに、さまざまなイベントハンドラーでハッシュマップをアタッチします。ただし、イベントの委任を使用している場合を考えてください。次に、新しいノードを作成するときに、おそらく既に存在する親ノードにイベントハンドラーをアタッチできます。そのため、既存のノードに関連付けられているハッシュを変更する必要があります。 2)入力フィールド用のオートコンプリートモジュールを設計しているとします。ユーザーがキーを押すたびに、提案を得るためにサーバーを呼び出すことができます。これは簡単です。しかし、今それを少し最適化したいと思います。一致するすべての結果fooがわかっている場合は、一致するすべての結果を再度要求しても意味がありませんfoobar。前者をフィルタリングできます。そのため、何らかのキャッシュを作成する必要があります。このキャッシュは、ユーザーが以前に入力した単語のスーパーセットではない新しい単語を挿入するたびに更新されます。繰り返しますが、キャッシュをどのようにモデル化するのですか?最も合理的な方法は、単語を結果にマッピングするハッシュマップのようですが、変更可能である必要があります。 ユーザーの操作による変更を機能設計に組み込むのを容易にするいくつかのパターンを提案できますか?

6
リンクされた値が常に合計100%であるXパーセントスライダーを表示するUIのアルゴリズム
私が構築しているシステムには、0〜100のスケールを持つ一連のUIスライダー(数値は異なります)が含まれています。スライダーとは、ボリュームコントロールのように、要素をつかんで上下にドラッグするUIを意味します。それらは常に合計100になるようにアルゴリズムで接続されています。そのため、1つのスライダーが上に移動すると、他のスライダーはすべて下に移動し、最終的にゼロになります。1つが下に移動すると、他は上に移動します。常に合計は100でなければなりません。したがって、ここのスライダーにはさまざまな値がありますが、合計は100%です。 ----O------ 40 O---------- 0 --O-------- 20 --O-------- 20 --O-------- 20 最初のスライダーが40から70に上に移動した場合、他のスライダーは値を下に移動する必要があります(スライダーをドラッグするときに)。3つのスライダーは20から10に変更され、1つは低くできないためゼロのままでした。 -------O--- 70 O---------- 0 -O--------- 10 -O--------- 10 -O--------- 10 もちろん、スライダーが0または100に達すると、それ以上移動できなくなります。これは、私の頭が実際に痛むところです。したがって、スライダーが高くなると、他のスライダーは低くなりますが、スライダーのいずれかがゼロに達すると、まだゼロに達していない残りのスライダーだけが低く移動できます。 この質問は実装ではなくアルゴリズムに固有なので、ここで私はこれを尋ねています。FWIWプラットフォームはAndroid Javaですが、特に関係はありません。 最初の刺し傷で行ったアプローチは、移動したスライダーの変化率を計算することでした。次に、その変更を分割し、それを(他の方向に)他のスライダーの値に適用しました。ただし、問題は、パーセンテージと乗算を使用することにより、いずれかのスライダーがゼロになった場合、ゼロから再び増加させることはできないということです。その結果、個々のスライダーがゼロで動かなくなります。丸めの問題を回避するために0〜1,000,000の範囲のスライダーを使用しましたが、これは役立つようですが、すべてのシナリオを適切に処理するアルゴリズムをまだ作成していません。
11 algorithms  gui  ui 

1
GUI更新を管理するためのリアクティブプログラミングとMVVMパターン
リアクティブプログラミングとMVVMは、ドメインレイヤーをUIから分離する問題に対処できる2つのアプローチです。 MVVMは、UIコンポーネントにマップされたデータ構造であるビューモデルを定義することでこれを行います。UIはデータを表示し、ユーザーが発生したときにデータを更新する場合があります。 反応フレームワークは、データの一部が変更されたことをUIに通知するオブザーバブルのグラフを定義します リアクティブフレームワークは、主流のプラットフォーム(.netおよびjavaのRx、react.js)とより実験的な場所(haskellのFRP)の両方でマインドシェアを獲得しています。 私は主にangularでMVVMを使用しており、表現力に対するシンプルさの比率は非常に満足できるものだと思います。 リアクティブフレームワークは、mvvmが購入しない開発者に何を購入しますか? 本当に違いはありますか?たとえば、knockout.jsはmvvmフレームワークとしてアドバタイズされますが、そのインターフェースには反応的な感覚があります。 this.firstName = ko.observable("John"); this.lastName = ko.observable("Smith"); this.fullName = ko.computed(function() { return this.firstName() + " " + this.lastName(); }, this);
10 gui  mvvm  ui  reactive 

5
ドロップダウンラベルでByRefとByValを参照するにはどうすればよいですか?[閉まっている]
休業。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善してみませんか?この投稿を編集して、事実と引用で回答できるように質問を更新してください。 4年前休業。 MSDNのページのByRefやByValキーワードは非常に有用ではありません。なんとかスキップしない限り、どこでも単に「キーワード」と呼ばれています。 主な要因の一つRubberduckのプロジェクトは非常にクールに取り組んでいるカプセル化フィールドのリファクタリングを、と私はのドロップダウン上記のラベルに問題が持っている以外UIはかなりきれい..沿って来ているByRef/ ByVal「アクセシビリティ」と言う、と。 私は他の場所でそれを使用しているので、私は「アクセシビリティ」好きではないPublic/ Private/ Friendそれは、より正確な感じアクセス修飾子。 IMOは「アクセス修飾子」の略なので、「修飾子」を使用したくありません。 そのラベルを正確にしたいのですが、語彙が不足しているようで、これらのキーワードを何と呼ぶべきかわかりません。 正確に言うと、このラベルは何を言うべきですか?私が探している言葉は何ですか?「キーワードの家族は」何をByRef/ ByValに属し?
9 naming  ui  vba 

2
UIアプリケーションの匿名クラスに関するベストプラクティス
ユーザーインターフェイスベースのJavaプログラムで作業する場合、動作を特定のアクション(ボタンのクリックなど)に関連付ける1つの方法は、匿名クラスを使用することです。以下の例では、GUIフレームワークはSWTですが、SwingまたはAndroid UIコンポーネントでも同じ問題があります。つまり、私のプログラムの構造化です。 MenuItem sampleMenuItem = new MenuItem(popupMenu, SWT.NONE); sampleMenuItem.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent event) { doSomething(); // handle all table entries for (int i=0; i<10; i++) { doSomething2(); } doSomething3(); doSomething4(); } }); もちろん、上のサンプルのコードの量はすでにロジックを含む専用クラスの作成を保証していると主張する人もいます。これは、Sonarの「匿名クラスは行が多すぎてはならない」という規則によっても示唆されています。 興味深いことに、このルールは次のことも指定しています。 squid:S1188-Javaでのクロージャーのサポートを待つ間、匿名クラスは、専用クラスを作成せずに動作を注入する最も便利な方法です。ただし、これらの匿名内部クラスは、動作が数行で実行できる場合にのみ使用してください。より複雑なコードでは、名前付きクラスが必要です。 ただし、Javaにはまだクロージャーが到着していないため、私の質問は次のようなエレガントな解決策があるかどうかです。 あらゆる種類の欠点(再利用が制限されている、コード内の移動が遅い、など)がある匿名クラス内で一連のコードを書く 膨大な数の専用クラスを作成し、それ自体が非常に限られた機能しか持たない可能性があります(つまり、オーバーエンジニアリングなど)。 私の質問を拡張します。JavaベースのUIアプリケーションのこの側面に関するベストプラクティスは何ですか?確立されたパターンはありますか?

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.