it-swarm-ko.com

다이나믹 GUI를 만드는 좋은 방법?

설계중인 응용 프로그램이 있는데 현재 기능적인 상태입니다. 그러나 내가 사용하는 데이터베이스에는 1000 개의 항목이 있으며 끊임없이 변화하고 성장하고 있습니다. 특정 데이터 항목의 적용은 사용자 제약 조건 (제품과의 인터페이스, 사용자 레벨 등)에 따라 달라질 수 있습니다. 데이터베이스가 기본적으로 GUI 레이아웃을 제어하는 ​​지점까지이 레이아웃을 최대한 유연하게 만들려고 노력했습니다.

변경 사항이있을 때 모든 항목을 다시 실행할 필요없이이 GUI를 최대한 깨끗하고 사용하기 쉽게 만들고 싶습니다. 그래서 기본적으로....

동적/확장 가능한 GUI를 만드는 좋은 방법은 무엇입니까? 그런 일이 가능하다면.

편집-지금까지 좋은 것들, 너희들이 내가 말하는 것을보고 싶어하기 때문에 여기에 아이디어가있다. 그룹화 및 표시 형식 필드와 왼쪽의 동적 구성 트리로 구문 분석되는 많은 다른 것들을 포함하는 SQLite 데이터베이스가 있으며 탭과 그룹 상자는 모두 일부 창의적인 SQL에서 동적으로 생성됩니다. 많은 양의 데이터가 있기 때문에 복잡한 것들이 고급 사용자에게는 숨겨져 있기 때문에 일반적인 것이 나쁜 것은 아닙니다. 데이터베이스가 올바르게 설정되면 매우 잘 작동 할 수 있습니다.
일을해야 할 마법사도 있지만, 자주 다루지 않기 때문에 다루기가 더 쉬울 것입니다. 그러나이 과정은 마법사를 거치지 않고도 액세스 할 수 있어야하므로 누군가 사용자 정의 구성을 설정할 수 있습니다.

10
radix07

"데이터베이스가 기본적으로 GUI 레이아웃을 제어하는 ​​지점까지 가능한 한 유연합니다"라고 말할 때 생각하고있는 것을 알고 있지만 이것은 경고 신호입니다. 유용성 비용. 개발자가 데이터베이스 및 객체 지향 아키텍처를 사용자 인터페이스로 확장 한 "프로그래머 UI"에서이 점을 많이 볼 수 있습니다. 불행히도 종종 최종 사용자 대신 프로그래머를 위해 설계된 사용자 인터페이스가 생깁니다.

제 조언은 유연성이 뛰어나고 동적이며 확장 가능한 이상적인 GUI를 찾는 것을 잊고 대신 디자인 할 수있는 사용 패턴을 식별하는 것입니다. 더 자세한 정보 (예 : 디자인중인 도메인, 예제, 모형 등)를 제공하면이 영역에서 더 많은 정보를 얻을 수 있습니다.


Edit : 추가 한 스크린 샷을 보면 데이터베이스의 복잡성이 UI로 넘쳐나는 것처럼 보입니다. 여기서보고있는 것은 문자 그대로 선택의 폭이 큰 거대한 대시 보드입니다. 스타 트렉에 빛나는 버튼이 가득한 패널이있는 것 같습니다! 외부인으로서의 첫 인상을 빨리 알려 드리겠습니다.

우리가 무언가를 구성하고있는 것 같습니다. 왼쪽에서 구성 할 항목을 선택하면 오른쪽 영역이 변경할 수있는 매개 변수에 해당하는 입력 필드로 업데이트됩니까? 그러나 해당 입력 필드는 탭 내에 있으며 스크린 샷에서 오른쪽으로 흐르는 탭이 너무 많습니다. 또한 각 필드의 레이블은 기껏해야 "Mx Ld Fct"입니다. 마우스를 가져갈 때 더 많은 것을 설명하는 레이블이 표시되지만 원하는 항목이 아닌 다른 항목을 마우스로 가리켜보고 싶습니까? 부활절 달걀 사냥과 같습니다. 또한 왼쪽 하단에서 "도구"가 무엇을하는지는 명확하지 않습니다. 어떤 효과가 있는지 확실하지 않지만 왼쪽의 두 창은 최대화 가능한 것으로 보입니다.

나는 당신이 이것으로 어디를 가고 있는지 알 수 있지만 그것에 반대하는 것이 좋습니다. 이전에이 과정을 수행하지 않은 이유를 설명하기는 어렵습니다. 내가 줄 수있는 가장 좋은 조언은 지금 이것을 사용할 사람들을 잡고 응용 프로그램을 사용하도록하는 것입니다. 그들과 함께 앉아서 일반적인 일을하도록 부탁하십시오. 의견을 말하지 않고, 그들이하는 일을보고 당신의 생각이 무엇인지 메모장에 적어 두십시오. 당신은 많이 배울 것입니다. 매주 전체 dev 팀과 함께 시도하십시오.

13
Rahul

고려해야 할 몇 가지 사항이 있습니다.

  • 긴 문자열이 레이아웃을 손상시키지 않아야합니다. 당연히 나는 데이터 자체에 대해 이야기하고 있지만 주변 UI도 어려움을 겪을 수 있습니다. 예를 들어, 버튼이있는 명령 모음을 고려하십시오. 버튼의 텍스트가 번역되면 커서가 커져서 막대가 넘칠 수 있습니다.
  • UI를 일부 정보의 "게으른로드"로 만들고 페이지 매김 사용을 고려하십시오. 예를 들어, 수천 개의 항목을 한 번에로드하는 데 시간이 너무 오래 걸릴 수 있습니다. UI가로드되는 동안 정지되거나 깨지지 않았는지 확인하거나 한 페이지를로드 한 다음 나머지 부분을로드하여 사용자와의 상호 작용을 시작할 수 있도록하십시오 UI.

그렇지 않으면 Rahul에 동의하여 구체적으로 설명해야합니다.

4
Dan Barak