it-swarm.asia

Cara yang baik untuk membuat GUI yang dinamis?

Saya memiliki aplikasi yang saya rancang dan sedang dalam kondisi fungsional saat ini. Tetapi database yang saya gunakan memiliki 1000 item dan terus berubah dan berkembang. Penerapan item data tertentu dapat bervariasi tergantung pada kendala pengguna juga (antarmuka produk, tingkat pengguna, dll.). Saya telah mencoba untuk membuat tata letak ini sefleksibel mungkin ke titik di mana basis data pada dasarnya mengontrol tata letak GUI.

Saya ingin menjadikan GUI ini sebersih dan semudah mungkin digunakan tanpa harus mengulang semuanya saat ada perubahan. Pada dasarnya....

Apa saja pendekatan yang baik untuk membuat GUI yang dinamis/dapat diskalakan? Jika hal seperti itu mungkin terjadi.

EDIT - Hal-hal baik sejauh ini, karena kalian ingin melihat apa yang saya bicarakan, berikut ini sebuah ide. Saya memiliki database SQLite yang berisi bidang untuk pengelompokan dan format tampilan dan banyak hal lain yang diuraikan menjadi pohon konfigurasi dinamis di sebelah kiri, dan tab dan kotak grup semuanya secara dinamis dihasilkan dari beberapa SQL kreatif. Ada banyak data, jadi sesuatu yang generik bukanlah hal yang buruk, karena hal-hal rumit akan disembunyikan dari pengguna yang kurang mahir. Jika database diatur dengan benar ini bisa berfungsi dengan baik, saya pikir.
Saya juga punya penyihir yang membutuhkan pekerjaan, tetapi akan membuat ini lebih mudah ditangani karena tidak sering disentuh. Tapi ini semua harus dapat diakses tanpa melalui wizard sehingga seseorang dapat mengatur konfigurasi khusus.

10
radix07

Saya tahu apa yang Anda pikirkan ketika Anda mengatakan "sefleksibel mungkin ke titik di mana basis data pada dasarnya mengontrol tata letak GUI", tetapi ini adalah tanda peringatan: Anda akan berakhir dengan aplikasi yang generik di biaya usability. Saya melihat ini banyak dengan "programmer UIs", di mana pengembang telah memperluas basis data dan arsitektur berorientasi objek ke antarmuka pengguna. Sayangnya, Anda sering berakhir dengan antarmuka pengguna yang dirancang untuk pemrogram alih-alih pengguna akhir.

Saran saya adalah melupakan mencari GUI ideal yang super-fleksibel, dinamis, dan dapat diukur dan alih-alih mulai mengidentifikasi pola penggunaan yang dapat Anda rancang. Saya akan dapat membantu Anda lebih banyak di bidang ini jika Anda memberikan rincian lebih lanjut (seperti domain yang Anda rancang, contoh, maket, dll).


Edit: Jadi, berdasarkan tangkapan layar yang Anda tambahkan, sepertinya kerumitan basis data tumpah ke UI. Apa yang saya lihat di sini adalah benar-benar dashboard besar penuh pilihan - Saya merasa seperti berada di Star Trek dengan panel yang penuh dengan tombol menyala! Biarkan saya memberi Anda kesan pertama yang cepat dari diri saya sebagai orang luar:

Sepertinya kita sedang mengkonfigurasi sesuatu. Dengan memilih item yang akan dikonfigurasikan di sebelah kiri, area kanan diperbarui dengan bidang input yang sesuai dengan parameter yang dapat diubah? Tetapi bidang input itu sendiri terletak di dalam tab, dan ada begitu banyak tab yang mengalir dari tangkapan layar ke kanan. Juga, label untuk masing-masing bidang paling samar: "Mx Ld Fct". Sangat menyenangkan bahwa ketika melayang, Anda melihat label yang menjelaskan lebih banyak, tetapi apakah saya benar-benar ingin melayang di atas item yang berbeda hanya untuk mengetahui bahwa itu bukan yang saya cari? Ini seperti berburu Telur paskah. Lebih jauh lagi, tidak jelas bagi saya apa yang "alat" lakukan di kiri bawah. Kedua panel di sebelah kiri tampaknya dapat dimaksimalkan, meskipun saya tidak yakin apa efeknya.

Saya bisa melihat ke mana Anda akan pergi dengan ini, tetapi saya harus merekomendasikan itu. Sulit untuk menjelaskan mengapa jika Anda belum melalui proses ini sebelumnya. Saran terbaik yang bisa saya berikan adalah untuk mengambil beberapa orang yang akan menggunakan ini sekarang dan membuat mereka menggunakan aplikasi. Duduk bersama mereka dan minta mereka untuk melakukan beberapa tugas umum. Tanpa berkomentar, perhatikan saja apa yang mereka lakukan dan tulis di notepad apa pendapat Anda. Anda akan belajar banyak. Coba dan lakukan ini setiap minggu, dengan seluruh tim dev.

13
Rahul

Saya punya beberapa hal untuk dipertimbangkan:

  • Pastikan string panjang tidak merusak tata letak. Tentu saja saya berbicara tentang data itu sendiri, tetapi UI di sekitarnya juga mungkin menderita. Misalnya, pertimbangkan bilah perintah dengan tombol. Ketika teks pada tombol diterjemahkan, mereka mungkin tumbuh besar dan melimpah di bar.
  • Jadikan UI "lazy load" beberapa info dan pertimbangkan untuk menggunakan pagination. Misalnya, mungkin perlu waktu terlalu lama untuk memuat sekaligus ribuan item - pastikan UI tidak terlihat beku atau rusak saat dimuat, atau Anda memuat satu halaman dan kemudian memuat sisanya sementara pengguna juga dapat mulai berinteraksi dengan UI.

Kalau tidak, saya setuju dengan Rahul bahwa kami perlu lebih banyak detail untuk mendapatkan spesifik.

4
Dan Barak