it-swarm-vi.tech

Cách tốt để tạo một GUI động?

Tôi có một ứng dụng tôi đang thiết kế và hiện tại nó đang ở trạng thái khá chức năng. Nhưng cơ sở dữ liệu tôi đang sử dụng có 1000 mục và liên tục thay đổi và phát triển. Việc áp dụng các mục dữ liệu nhất định cũng có thể khác nhau tùy thuộc vào các ràng buộc của người dùng (sản phẩm giao tiếp với, cấp độ người dùng, v.v.). Tôi đã cố gắng làm cho bố cục này linh hoạt nhất có thể đến mức cơ bản cơ sở dữ liệu kiểm soát bố cục GUI.

Tôi muốn làm cho GUI này sạch sẽ và dễ sử dụng nhất có thể mà không phải làm lại mọi thứ khi có gì đó thay đổi. Nên về cơ bản....

Một số cách tiếp cận tốt để tạo một GUI động/có thể mở rộng là gì? Nếu điều đó là có thể.

EDIT- Thứ tốt cho đến nay, vì các bạn muốn xem những gì tôi đang nói, đây là một ý tưởng. Tôi có một cơ sở dữ liệu SQLite chứa các trường cho các nhóm và định dạng hiển thị và nhiều thứ khác được phân tích thành cây cấu hình động ở bên trái, và các tab và hộp nhóm đều được tạo động từ một số SQL sáng tạo. Có rất nhiều dữ liệu, vì vậy một cái gì đó chung chung không hẳn là một điều xấu, vì những thứ phức tạp sẽ bị ẩn khỏi những người dùng kém nâng cao hơn. Nếu cơ sở dữ liệu được thiết lập đúng, tôi nghĩ nó có thể hoạt động rất tốt.
[.__.] Tôi cũng có một trình hướng dẫn cần một số công việc, nhưng sẽ giúp cho việc xử lý này dễ dàng hơn vì nó không được chạm thường xuyên. Nhưng tất cả điều này cần phải có thể truy cập mà không cần thông qua trình hướng dẫn để ai đó có thể thiết lập cấu hình tùy chỉnh.

10
radix07

Tôi biết bạn đang nghĩ gì khi bạn nói "linh hoạt nhất có thể đến mức cơ bản cơ sở dữ liệu kiểm soát bố cục GUI", nhưng đây là một dấu hiệu cảnh báo: bạn sẽ kết thúc với một ứng dụng chung chung tại chi phí sử dụng. Tôi thấy điều này rất nhiều với "UI lập trình viên", nơi các nhà phát triển đã mở rộng cơ sở dữ liệu và kiến ​​trúc hướng đối tượng của họ vào giao diện người dùng. Thật không may, bạn thường kết thúc với một giao diện người dùng được thiết kế cho lập trình viên thay vì người dùng cuối.

Lời khuyên của tôi là hãy quên đi việc tìm kiếm GUI siêu linh hoạt, năng động, có thể mở rộng lý tưởng và thay vào đó hãy bắt đầu xác định các mô hình sử dụng mà bạn có thể thiết kế để chống lại. Tôi sẽ có thể giúp bạn nhiều hơn trong lĩnh vực này nếu bạn cung cấp thêm chi tiết (chẳng hạn như tên miền bạn đang thiết kế, ví dụ, mockup, v.v.).


Chỉnh sửa: Vì vậy, đi qua ảnh chụp màn hình bạn đã thêm, có vẻ như sự phức tạp của cơ sở dữ liệu đang tràn vào UI. Những gì tôi đang thấy ở đây thực sự là một bảng điều khiển khổng lồ với đầy đủ các lựa chọn - Tôi cảm thấy như mình đang ở trong Star Trek với các bảng điều khiển đầy các nút phát sáng! Hãy để tôi cho bạn một ấn tượng đầu tiên nhanh chóng từ chính tôi như một người ngoài cuộc:

Có vẻ như chúng tôi đang cấu hình một cái gì đó. Bằng cách chọn một mục để cấu hình ở bên trái, khu vực bên phải cập nhật với các trường đầu vào tương ứng với các tham số có thể thay đổi? Nhưng các trường đầu vào đó tự nằm trong một tab và có rất nhiều tab đang chảy ra khỏi ảnh chụp màn hình về phía bên phải. Ngoài ra, nhãn cho mỗi lĩnh vực là mật mã tốt nhất: "Mx Ld Fct". Thật tuyệt khi khi di chuột, bạn thấy một nhãn giải thích nhiều hơn, nhưng tôi có thực sự muốn di chuột qua các mặt hàng khác nhau chỉ để tìm ra chúng không phải là thứ tôi đang tìm kiếm? Nó giống như một cuộc săn trứng Phục sinh. Hơn nữa, tôi không rõ "công cụ" nào ở phía dưới bên trái. Cả hai tấm bên trái dường như được tối đa hóa, mặc dù tôi không chắc có tác dụng gì.

Tôi có thể sắp xếp xem bạn sẽ đi đâu với điều này, nhưng tôi phải đề nghị chống lại nó. Thật khó để giải thích tại sao nếu bạn chưa trải qua quá trình này trước đây. Lời khuyên tốt nhất tôi có thể đưa ra là tóm lấy một số người sẽ sử dụng ứng dụng này ngay bây giờ và khiến họ sử dụng ứng dụng. Ngồi với họ và yêu cầu họ thực hiện một số nhiệm vụ chung. Không cần bình luận, chỉ cần xem những gì họ làm và viết vào một notepad những suy nghĩ của bạn là gì. Bạn sẽ học được rất nhiều. Hãy thử và làm điều này mỗi tuần, với toàn bộ đội ngũ phát triển.

13
Rahul

Tôi có một số điểm cần xem xét:

  • Hãy chắc chắn rằng các chuỗi dài không phá vỡ bố cục. Tự nhiên tôi đang nói về chính dữ liệu, nhưng giao diện người dùng xung quanh cũng có thể bị. Ví dụ, hãy xem xét một thanh lệnh với các nút. Khi văn bản trên các nút được dịch, chúng có thể phát triển lớn và tràn thanh.
  • Làm cho UI "lười tải" một số thông tin và xem xét sử dụng phân trang. Ví dụ: có thể mất quá nhiều thời gian để tải cùng lúc hàng nghìn mục - đảm bảo giao diện người dùng không bị đóng băng hoặc bị hỏng trong khi tải hoặc bạn tải một trang và sau đó tải phần còn lại trong khi người dùng cũng có thể bắt đầu tương tác với giao diện người dùng.

Mặt khác, tôi đồng ý với Rahul rằng chúng tôi cần thêm một số chi tiết để có được cụ thể.

4
Dan Barak