Gunakan desainer GUI atau tulis sendiri untuk desktop?

8

Menulis GUI untuk suatu program selalu menjadi tugas yang menakutkan, menekan, dan membuat frustrasi. Tidak masalah bahasa mana, sangat sulit untuk mendapatkan apa yang saya inginkan. Terutama dalam bahasa yang dikompilasi seperti Java di mana perubahan membutuhkan satu atau dua menit untuk membangun.

Hasilnya adalah saya semakin menggunakan desainer GUI untuk beberapa proyek saya. Tentu ada beberapa kode spagetti, tetapi selama saya meninggalkan konfigurasi dan catatan yang mengatakan "Ini dirancang dengan X" Saya tidak ragu untuk melakukan ini.

Apakah ini cara yang baik untuk merancang GUI? Lebih penting lagi, apakah ini yang dilakukan kebanyakan orang? Atau apakah cara umum untuk hanya duduk dan menuliskannya?

TheLQ
sumber
Saya bekerja pada aplikasi Java GUI yang 650k baris kode dan dibutuhkan sekitar satu menit untuk membangun. Namun, bekerja di Eclipse, itu secara bertahap membangun untuk Anda. Karena itu, saya tidak perlu membangun seluruh aplikasi setiap kali saya ingin menjalankannya. Saya cukup restart aplikasi dan berjalan dengan perubahan saya. Tidak perlu menunggu.
Nemi
1
Oh ya, dan pembangun GUI itu jahat. Jika tujuan Anda adalah membuat perangkat lunak yang tidak dapat dikelola oleh siapa pun (termasuk Anda sendiri), Anda berada di jalur yang benar.
Nemi

Jawaban:

6

Saya tidak pernah benar-benar menemukan desainer visual yang membuatnya mudah untuk membuat desain yang kuat (jika ada yang mereka suka, jangan ragu untuk memperbaiki saya). Mereka bagus untuk membuang barang-barang di jendela ukuran tetap untuk mengejek, tetapi ketika datang untuk membuat sesuatu yang mengubah ukuran dengan baik, bermain baik dengan DPI dan tema, dan semua hal lain yang memisahkan UI profesional dari sekadar "bagus" -cukup "satu, mereka sejujurnya menjadi lebih dari sekadar mengkodekannya sendiri (dengan asumsi kerangka UI yang layak untuk dimainkan).

Desainer visual sangat baik untuk perangkat lunak prototyping cepat, menguji coba desain, dan bermain-main untuk melihat bagaimana hal-hal terlihat, tetapi saya tidak akan menggunakannya untuk membangun akhir.

Segera.
sumber
Kerangka apa yang Anda gunakan? Saya tidak bisa membayangkan menulis WPF UI tanpa desainer, misalnya ...
Dean Harding
Saya belum memiliki banyak kesempatan untuk bermain-main dengan WPF - yang mengatakan, dalam beberapa kali saya telah menggunakannya saya hanya menggunakan perancang untuk mengejek tata letak umum, dan kemudian mengedit XAML dengan tangan sambil tetap mengawasi pada tampilan desain untuk melihat tampilannya.
Anon.
Glade adalah sukacita untuk bekerja dengan, sebenarnya, dan menghasilkan antarmuka dengan semua kemampuan untuk mengubah ukuran dan tema yang harus dimiliki UI. Plus Anda hanya dapat memuat file proyek (XML) saat runtime, query, melampirkan acara, dan tiba-tiba aplikasi Anda hanya berfungsi. Ini benar-benar yang terbaik dari kedua dunia, dalam pengalaman saya. Belum lagi jika Anda menulis aplikasi dalam C atau Python, Anda juga mendapatkan pengikatan event callbacks secara otomatis, tidak perlu kueri.
Jon Purdy
@Des Harding Saya sudah menggunakan WPF selama hampir tiga tahun dan hampir tidak pernah menggunakan perancang. Saya dapat memulai tata letak umum dengan itu, tetapi setelah itu saya melakukan semuanya dengan tangan.
MetalMikester
@Dean Harding - jika Anda menggunakan desainer untuk WPF, Anda kehilangan salah satu fitur terbaik: tata letak otomatis. Saya sudah melakukan banyak WPF dan tidak pernah menggunakan desainer. Desain saya tidak pernah "statis".
Scott Whitlock
4

Perencanaan di kepala Anda dan kemudian menggunakan pena / kertas adalah cara termudah tercepat untuk menginisialisasi desain.

Saat Anda siap menerapkan, saya menggunakan desainer GUI alih-alih mengkode dengan tangan. Di Java Swing misalnya, dengan antarmuka yang cukup besar, saya bisa membayangkan berapa banyak waktu yang akan saya buang dengan melakukan semuanya dengan tangan dan kemudian memodifikasinya nanti. Jauh lebih mudah untuk menggunakan pembangun GUI seperti Netbeans Matisse dan kemudian men-tweak sedikit dengan tangan jika perlu.

brian_d
sumber
ya, membuat tata letak ayunan dengan tangan itu membosankan dan menghabiskan waktu, menggunakan Matisse selalu menjadi pilihan saya
Mahmoud Hossam
3

Pertama buat GUI di atas kertas.

Setelah itu saya hanya menggunakan mode desain Visual Studios untuk membuat GUI. Mudah dibuat dan apa yang Anda lihat adalah apa yang Anda dapatkan. Plus Anda tidak perlu membangun kembali hanya untuk melihat GUI.

Carra
sumber
2

Seorang desainer GUI adalah perbaikan cepat yang menggoda. Tetapi duduk dan melakukannya dengan tangan adalah alternatif yang lebih baik untuk proyek dan barang yang tidak akan dibuang nanti.

Biasanya saya menemukan metode terbaik adalah merancang GUI di atas kertas terlebih dahulu. Buat sketsa kasar di mana tombol dan komponen lainnya berada. Kemudian ketika bekerja dalam bahasa seperti Java yang menggunakan berbagai Manajer Tata Letak, pikirkan komponen dan kombinasi manajer tata letak mana yang akan dibutuhkan. Semua ini sebelum Anda mulai mengkodekannya. Kemudian laksanakan sepotong demi sepotong.

Jika Anda mengikuti kursus desain GUI Anda akan merasa seperti Anda membuat kemajuan besar sampai Anda mendekati akhir dan tidak bisa mendapatkan sesuatu untuk bekerja dengan benar atau harus membuat perubahan. Melakukannya dengan tangan sepertinya lebih seperti kura-kura lambat, tetapi memberikan kemajuan yang stabil. Selain itu, kecepatan Anda akan meningkat semakin banyak Anda melakukannya.

jzd
sumber
1

Seperti yang sudah dikatakan seseorang, lebih baik menggunakan (a) selembar kertas biasa, beberapa kertas tempel (berbagai ukuran), dan mencoba melakukan tata letak di kertas, menggunakan kertas tempel sebagai kontrol (seperti tombol, kombo kotak, dan sebagainya) (b) program prototyping seperti GUI Designer Studio atau addon pensil untuk firefox ...

Kemudian setelah fase prototyping, dengan tata letak di dekat Anda akan lebih mudah untuk benar-benar kode ui sendiri, karena Anda dapat menerapkan pola seperti mvc, mvp dan sebagainya, lebih mudah karena gui editor biasanya tidak memungkinkan Anda untuk mengubah kode mereka karena mereka akan menulis ulang setiap kali Anda mengubah ui.

Coyote21
sumber
0

Visio menawarkan satu set stensil UI, sehingga secara efektif menggantikan pena dan kertas, namun menawarkan pendekatan desain yang sama - pikirkan dulu, tarik kedua, kode terakhir.

Callback Eugene Mayevski
sumber
0

Dalam VB6 dan Windows Forms saya selalu menggunakan perancang, tetapi dalam WPF saya tidak pernah menggunakannya. Perancang WPF menciptakan XAML yang mengerikan, ditambah lagi di WPF, saya ingin mendesain UI saya sebagai sekelompok widget dan membiarkan kerangka ini menggabungkan semuanya saat runtime. Anda kehilangan banyak fleksibilitas jika menggunakan perancang.

Scott Whitlock
sumber
0

Saya melihatnya lebih seperti ini:

(Untuk semua opsi ini, selalu menggambar di atas kertas atau papan tulis, percayalah itu menghemat waktu dan kode frustrasi)

Melindungi:
Gunakan desainer GUI, lebih disukai yang direkomendasikan yang digunakan oleh sebagian besar orang dalam bahasa tertentu. Dengan cara itu kode Anda tidak akan terlalu membingungkan di mana Anda dapat menyesuaikannya sesuai dengan keinginan Anda (sebagian besar waktu) dan plus karena kode tersebut kemungkinan besar akan dibuang atau banyak diubah nanti, Anda tidak perlu membuang terlalu banyak waktu lebih awal dalam siklus pengembangan. Menggunakan desainer GUI baik untuk aplikasi GUI yang cepat dan sederhana atau untuk menunjukkan kepada klien Anda gambaran kasar aplikasi di mana mereka tidak perlu menunggu berbulan-bulan hanya untuk melihatnya.

Proyek kecil: Yang
ini adalah sedikit tas campuran, tergantung pada kendala bahasa dan waktu. Menggunakan desainer GUI di sini akan membantu tetapi Anda harus mempertimbangkan untuk membersihkannya atau membuat komponen yang lebih kecil secara manual. Dengan begitu orang lain (atau diri Anda sendiri) akan lebih mudah memperbaiki bug dan membaca kodenya. Ini akan membantu Anda mendapatkan kontrol dan fleksibilitas yang lebih baik dari GUI. (Juga manfaat belajar saat Anda menulis kode)

Proyek besar:
Inilah saatnya menjadi penting untuk membuat GUI secara manual. Proyek yang lebih besar dapat menjadi kompleks dengan cepat dan membuat GUI dengan seorang desainer hanya membuat proyek lebih kompleks dan lebih sulit untuk di-debug. Membuat kerangka kerja GUI untuk aplikasi Anda dapat membantu memutus tugas membuat GUI secara manual dengan lebih mudah. Kontrol penuh atas aplikasi Anda diperlukan karena akan membantu dalam pemeliharaan atau jika Anda ingin menambahkan fitur nanti (atau pelanggan sial yang menyebut Anda melewatkan persyaratan lol), menggabungkannya akan membuat frustrasi dan lebih bersih.

Dalam pengalaman pribadi saya, belajar untuk membuat GUI secara manual membutuhkan waktu dan beberapa membutuhkan kurva belajar yang sulit (Heck, saya memprogram di Java dan situs tutorial Java Oracle memperingatkan Anda untuk tidak melakukan GUI sendiri dan menggunakan desainer), tetapi pada akhirnya Anda mendapatkan kontrol yang lebih tinggi dan fleksibilitas aplikasi Anda, yang pada gilirannya menciptakan aplikasi yang tampak lebih baik. Semoga Anda menggunakan ini panduan kasar yang layak! Selamat GUI :)

Adam
sumber