Neden bazı programcılar geliştirmenin UI bölümünden nefret ediyor? [kapalı]


54

Karşılaştığım birçok programcı her zaman "O bir UI üyesi değil" diyor. Gerçek şu ki, web, Windows, Linux, OSX veya başka bir geliştirme türü, şu anda iyi görünümlü bir kullanıcı arayüzü ile yazılım içeriyor olsun. Neden bu kadar çok geliştirici kullanıcı arayüzü çalışmasından hoşlanmıyor gibi görünüyor?


54
çünkü onlar tasarımcı değiller :)
Mahmoud Hossam,

17
Gelişme yok değil iyi görünümlü UI sahip içermektedir, bu sahip oluşmaktadır satılabilir ürün . Herkes bir şeyin güzel görünmesini sağlayabilir, birkaç tanesi çalışmasını sağlayabilir.
Josh K,

58
@JoshK - Asıl amacınız dikkat çekici ama "Herkes birşeyin iyi görünmesini sağlayabilir" diye katılmıyorum. Biz geliştiricilere mesleğimizi zedeleyen insanlarda sinirleniyoruz ("sadece yazıyor, ne kadar zor olabilir?"), Bu yüzden diğer disiplinlere de aynısını yapmayalım.
Steve S

20
Unutmayalım ki, iyi görünmek bir UI hakkında en önemli şey değildir. Gerçekten kullanımı zor olan pek çok iyi görünümlü kullanıcı arayüzü var. Tasarımcı bazı insan faktörleri arka plana sahip değilse, grafik tasarımcının bir UI tasarlamamasını tercih ederim.
David Thornley

17
@Josh K: "Gündelik şeylerin tasarımı" nı okudum, bunun tam tersi olduğunu düşünüyorum. Bir şeyi işe almak kolay kısmıdır. Çalışmasını o kadar iyi yapmak kullanıcılar onu sezgisel olarak anlayacaklar, onun gibi ve tekrar kullanmak istemek çok daha zor.
nikie

Yanıtlar:


102

Ben de UI kişisi değilim. Eh, kendi projelerimde UI yapıyorum, ancak işte bununla hiçbir ilgim yok - işim uygulamanın önünde, ön tarafta değil.

Bunun ötesinde, bence nefretten daha sıkıcı. UI'yi tasarlamak zor ve zorlu bir parça. Uygulama daha çok hırıltı bir iştir. Bir kullanıcı arayüzünü nasıl uygulayabileceği konusunda çok az zorluk ya da yenilik var, ve sadece biraz zihinselleşmeden önce ekranda bir onay kutusu koyabilecek birçok kez var. Ve bu, pikselleri "sadece öyle" hizalayarak saatlerce harcamak bile dokunmaz.


63
"Pixes 'tam olarak'" için +1, bundan nefret ediyorum. % 99.99999 mükemmel, ancak kullanıcı kutunun etrafındaki kenarlığı istiyor, ilk etapta olmamalı, 2 piksel genişliğinde, 1 değil ve mavinin "açık" tonunda olması gerekiyor, ancak ışık gölgesinde değil 2 revizyon geçirdi, bundan daha karanlıktı. Ve bunun gibi, ve bunun gibi ... Şimdi içinden geçeceğim şey. Uygulamanın% 100 çalışıyor, ancak bu araç ipucunun kasasını değiştirmek için sıkıcı istekler alıyorum ve süreyi kaldırıyorum ... bu "testçilerimin" odaklandığı şey ... işlevsellik değil.
CaffGeek

3
@Robert Harvey, bu günlük bir mücadele. Keşke bir ya da iki UI çalışanımız olsaydı ... aynı zamanda UI'mızı ana uygulamalarımızda standart hale getiremememize yardımcı olur.
CaffGeek

23
Bir GUI tasarlamanın, oluşturmaktan çok daha ilginç olduğunu belirtti.
jprete

5
Uygulama asla kaba bir iş olmamalıdır. Öyleyse, ya zayıf faktörlü bir mimariye ya da verimsiz bir sürece sahipsiniz. Programcıyız, bir makinenin yapabileceği bir şey yapıyorsak, otomatikleştirmeliyiz .
haziran

10
@munificent Otomasyonun harika bir hedef olduğunu düşünüyorum, ancak tasarımcının vizyonuna veya müşterinin tercihine uyum sağlamak için ayarlanması gerekmeyen otomatik bir UI düzeni görmedim. Ve sonra sadece basit teknik sınırlamalar var - örneğin WinForms kullanıyorsanız, örneğin otomatik yerleşim seçenekleriniz sınırlı olacaktır. Web uygulamalarının masaüstü uygulamalardan daha iyi bir özelliği olduğunu düşünüyorum, ancak telepatik olarak bir UI düzeni oluşturamaz ve bağlayamazsak, hala oldukça fazla miktarda angarya olacağına inanıyorum. Gelecekte bu konuda yanlış olduğunu ispatlamak için sabırsızlanıyorum. :)
Adam Lear

55

İyi bir kullanıcı arayüzü oluşturmak, bazı arka uç kodları yazmaktan çok farklı beceriler gerektirir.

Arka uç gereksinimleri genellikle kara kutu gibi belirtilebilir, x girer ve y çıkması beklenir. Çalışmasını sağlamak, mantığın uygulanmasını içerir ve çalışıp çalışmadığını programatik olarak test edebilirsiniz.

İyi bir kullanıcı arayüzü oluşturmak için kullanılabilirliği, görsel tasarımı, düzeni ve renk şemaları gibi şeyleri göz önünde bulundurmanız gerekir. Sanatsal bir yaratıcılığa sahip olmak burada bir avantajdır ve birçok programcı buna sahip olduklarını düşünmez. Mantıksal bir beyne, bir UI probleminin çözümü, tek bir doğru cevap olmadığı ya da 'doğru' yapıldığını doğrulamanın kolay bir yolu olmadığı için öznel görünebilir.

Çok fazla kullanıcı arayüzü deneyimi olmayan ya da fazla araştırma yapmayan pek çok programcının, hem iyi UI tasarımının arkasında hem kullanılabilirlik perspektifinde hem de tasarım tasarımında kurallar ve bilim olduğunu fark etmiyor. teori).

Elbette, bazı programcıların bu yönüyle bir problemi yoktur, ancak nefret, çünkü çoğu kullanıcı arayüzü sadece kod sıkıcıdır. Onlar sadece işlevsel olması gereken ve tasarım zorluğu olmayan yönetici sayfaları için form sayfaları gibi bir çok tekrarlayan çalışmadan oluşabilir.


3
Arka uç kodunu yazmak da birçok farklı beceri içerir (ilk yorumunuzun gösterdiği şeyden farklı olarak), bu sadece farklı bir beceri setidir.
Matthieu M.

2
@Bunu yapar ve yapmadım demedim. Demek istediğim UI kodlaması, arka uç kodlamasından farklı beceriler içeriyordu . Lütfen arka uç kodlamada olduğumu sanmıyorum, çoğunlukla yaşamak için yaptığım şey bu :)
Alb

+1: Bu zor ve yazılım tasarımı için normal yaklaşım sadece grafikler için çalışmıyor. Çirkin ise, çirkin kalır.

18

İnsanların sadece farklı çıkarları var. Bazı programcılar veri yapıları ve algoritmalar, bazıları mimarlık, bazıları kullanılabilirlik ve UI tasarımları veya bunların ve diğer nişlerin herhangi bir kombinasyonu ile daha fazla ilgileniyor. Her biri bir problem hakkında farklı beceriler ve farklı düşünme yolları gerektirir. Eğer düşük seviyeli somun ve cıvataların programlanmasını seviyorsanız, kullanıcının nasıl düşündüğünü veya bunun tersini umursamazsınız.

Şahsen ben ikinci kampa giriyorum - karmaşık bir algoritmadan ziyade bir UI tasarlarım. Bu sadece ilginç bulduğum bir şey.


15

Belirli bir UI tasarımının iyi ya da kötü olup olmadığı genel olarak özneldir , bence programcılar genel olarak çekici değildir. İyi UI tekniklerini nicelemek ve nitelemek için birkaç on yıl süren çaba, birinin uygulayabileceği bazı geniş kurallar oluşturmada yardımcı olmuştur, ancak çoğu zaman bir UI'nin herhangi bir ürünün iyi olup olmadığını gerçekten çok fazla A / B testi ve diğer kullanıcı gözlemleri gerektirip belirlemediğine karar vermemek için teknikleri.

Programlamada kesinlikle öznellik olsa da, genellikle bir seçeneğin diğerinden daha iyi olmasının bir tür nesnel nedenine işaret edebilirsiniz: yürütme hızı, bellek gereksinimleri, gelecekteki ihtiyaçların karşılanabilme esnekliği, Geçmiş, vb. Belirli bir UI seçimini savunmak - ve hatta seçimin kendisini yapmak için - genellikle desteklemesi tamamen farklı bir argüman olan "hoşuma gidiyor" şeklinde düşer.


2
nokta, "öznel" can sıkıcı bir durum. İki kişiyi dışarıya çıkartın ve iyi bir kullanıcı arayüzünün ne olduğu konusunda çok farklı fikirleri var. Bir GUI özelliğini birim sınaması yapamazsınız (gerçekten değil). etc ...
Matthieu M.

13

Şahsen UI geliştirme zevk almıyorum çünkü bu konuda iyi değilim. Kullanıcı psikolojisinin BÜYÜK unsuru var, anlama konusunda iyi değilim. Sanırım en büyük sorunum kendimi kullanıcının ayakkabılarına koyamamam. Sezgisel mizanpajları nasıl yapacağımı bilmiyorum, çünkü kullanıcı için neyin sezgisel olduğunu bilmiyorum ya da işlerin nasıl güzel görüneceğini bilmiyorum.

Bazı programcıların UI'leri tasarlamaktan, iyi olmadıkları şeyleri yapmaktan nefret ettikleri kadar nefret ettiğini sanmıyorum. Sadece UI gelişiminde iyi olmayan pek çok geliştirici var.


+1 - "Programcılar iyi olmadıkları şeyleri yapmaktan nefret ediyorlar." Çok doğru. Kişisel bir projede yaparken pratik ve eğlenceli olabilir, ancak işiniz için yaptığınız zaman - performans ve becerilere sahip değilseniz, sadece streslidir.
öğle yemeği317

11

UI tasarımındaki problem herkesin bir görüşü vardır ... Doğru ya da yanlış cevap yok. Geliştiriciler ise siyah beyazı ve mantığı seviyor. Herhangi bir büyüklükte şirkette herkes buna katılacak 1+1=2, ancak hangi fontun okumayı kolaylaştıracağını sorun (Comic Sans Obviously)... sel için hazır olun. On bin farklı cevap ve herkes haklı, çünkü herkes farklı.


6
Aman Tanrım, Comic Sans ...
Maxpm

Siyah beyaz mantık için +1. Doğru ya da yanlış cevapları olmayan şeyler hakkında karar vermekten nefret ediyorum (kullanıcı arayüzü tasarlamak, nerede yaşayacağınıza karar vermek, akşam yemeği için ne yiyeceğinizi vs.).
Dan

7

Aslında UI üzerinde çalışmaktan hoşlanan bir geliştirici olarak (özellikle web tasarımımı adil bir şekilde paylaştığım), beceri setine sahip olmayan birinin bu durumdan uzak durduğunu takdir ediyorum.

Gelişmek, zihninizde çok fazla veri tutma ve aynı anda bir sürü işlem yapma yeteneğini gerektirir. UI tasarımı, bütünlüğünden ödün vermeden, olabildiğince minimal şekilde kaynatma yeteneğini gerektirir. Bunun zorluğunu seviyorum ; ve ekranda yönetilemeyen bir duvar verileri olan bir kullanıcı arayüzü oluşturduğunu gördüğümde sıkıştım. (Ayrıca düzen, renk teorisi vb. Konularda tam bir ineğim.)

Öte yandan, düşük seviyeli şeylerden nefret ediyorum . Sürücüler, çekirdekler veya bunun gibi bir şey için asla kodlara dokunmayacağım: ürperti: Bunu "UI üyesi olmayanlara" bırakacağım ve başkasının yapmayı sevdiği için mutlu olacağım ya da asla bitmeyecek.


6

Bence çoğu programcı beyninin sol tarafını kullanıyor.

Bu konuyu daha fazla okumak için iyi bir kaynak .

görüntü tanımını buraya girin


6
Pragmatik Düşünme ve Öğrenme Kitabı : Wetware'inizin Yeniden Akıtılması kitabı , sol / sağ beyin farklılıkları hakkında düşünmek için yeni bir yol sunar. Aslında, onları Doğrusal mod ve Zengin mod olarak yeniden adlandırır ve gerçekten çok iyi bir okumadır.
CaffGeek

@ Chad Thankyou Çad! Bunu düşüneceğim!
Amir Rezaei

Bunu getirmek için + 1. Arka uç uygulaması dev son derece analitik iken, ön uç çalışması çok daha yaratıcı odaklı. Bazı insanlar ikisini de sever, fakat birçoğu kendi nişlerine bağlı kalmayı sever.
bunglestink


"Müzik" in, özellikle "sanat" ile gruplandırıldığından beri, sağ beyin fonksiyonlarına girdiğini kabul etmiyorum. Müzik son derece matematiksel ve mantıklıdır, oysa sanat tam tersidir (teknik sınırlamaların mantığı "sanata" getirdiği piksel sanatı hariç).
Dan

6

UI geliştirme karmaşıklaşıyor çünkü yanlış insanlardan çok fazla girdi alıyorsunuz. Hepsi grafik tasarım uzmanları. Bir şeyin formülünü bilmek istediğinizde bulunabilecekleri bir yer değiller.

Ne istediklerini bilmiyorlar, ancak gördüklerinde biliyorlar, tadı yok ve karar gücüne sahip olanlar uygulamayı yine de kullanmayacaklar ancak yeşil olması gerektiği kesin. Bir formdaki alanların miktarını sınırlamak gibi iyi UI kurallarına uyuyorsunuz ve hepsine ihtiyaç duydukları ve ayrı sekmelere sahip olmaları çok fazla çaba harcadığından, 50 alan daha ekleme isteğinde bulunuyorsunuz. Bilirsin, aynı Excel. Köylüler!

Bunu telafi edemezsin. Muhasebe bölümündeki ilk iki kişinin (yaklaşık 500K / yıl maaş) büyük bir hukuk firması için avukatlar tarafından kullanılan bir fatura web sitesinde bir etiket üzerinde tartışarak yarım saat geçirdiği bir toplantıya oturdum. Bunun avukatların anlamasını kolaylaştırması gerekiyordu. Neden sadece avukatlara sormuyorsun? Çok kolay. Bu yüzden BT departmanı WTF "Artık Net Faturalandırma Tutarı" olduğunu bilmek isteyen avukatlardan 50 telefon görüşmesi yapıyor.


5

Bazıları brokoli sever, bazıları sevmez. Onu yemek zorunda kalabiliriz, ama onu sevmemize gerek yok ve yediğimizde tadını çıkarmayacağız. Sadece bu değil, elimizden geldiğince fazla yemek zorunda kalmayacağız.

Sadece kullanıcı arayüzünden başka kodlanacak bir sürü şey var. Web Servisleri, Windows Servisleri, gömülü (bir mikrodalga üzerinde bir UI değil), sadece birkaç örnek vermek için.


9
Kullanıcı arayüzü genellikle bir mikrodalgada kısa büzüşür, bu yüzden çoğu emilir.
Robert Harvey

4
Mikrodalgalı olan şey, iyi bir tanesine sahip olduğunuzda, güzel bir kullanıcı arayüzüne sahip olduğunuzda, bir görevi gerçekleştirmek için düğmelere çok özel bir düzene ihtiyaç duymadığınız durumlarda, bunu düşünmezsiniz bile. Ama bodrum için ucuz pazarlık mikrodalga fırını satın aldığınızda, ya da her neyse, kullanıcı arayüzünün ne kadar korkunç olduğunu hemen fark edersiniz. Basma düğmelerinin kesin emirlerini ezberlemelisiniz. Güç seviyesini zamandan önce mi seçerim? Yada sonra? Önce aşçı vaktine ihtiyacım var mı? vb, vb ... Ve içinde gizli talimatları okumak gerektiğinde ?! UGH! İyi bir kullanıcı arayüzü kullanıcı için "görünmez" olmalıdır.
CaffGeek

Korkunç metafor. Brokoliyi severim ama UI'yi tasarlamaktan nefret ederim. ;)
Dan

4

Bunun nedeni - bazı durumlarda - UI'nin ölü bebek maymunları bunun yerine kamışla çekmenize yardımcı olmak için açık bir şekilde tasarlanmış araçlardır.


4

UI gelişiminde doğru olması zor olan bazı şeyler var.

Düzen onlardan biri. 15 yıldan beri UI'lar yapıyorum ve henüz yerleşim düzeni yönetimi için uygun bir çözüm bulamadım.

Bir diğeri, olay yönlendirmesidir - MVP mimarileri ve çerçeveler tarafından zorunlu kılınan şeyler olsa bile, çoğu karmaşık UI'nin olay yönlendirmesi sorunları olduğunu - test çerçevelerinden herhangi birinin bunları iyi bir şekilde karşılayabileceği takdirde keşfedilebileceğini iddia ediyorum.


3

Benim için UI dev’ten nefret ettiğimi biliyorum çünkü çok sıkıcı ve yavaş buldum, özellikle bir şeyi formda veya winow'da yerleştirmek için özellikle kod yazarken. Şimdi böyle Visual Studio form tasarımcısı olarak UI tasarımcı araçları ile, neredeyse tadını onu. Diğerlerinden duyduğum nefret için diğer nedenler arasında "aptal", "her zaman çok fazla değişir", "yeterince zor değil", "sıkıcı / sıkıcı" vardı.


4
Kullanıcı adınızla nasıl kareye cevap verirsiniz? :)
Robert Harvey

@Robert Harvey: Yeterince adil! Form Tasarımcısı iyidir, ancak genel UI kapsayıcılarıyla süslü olmaya başladığınızda, boğulmaya başlar. Veya en azından VS2008 yaptı. 2010'u henüz denemedim, ancak benzer sorunları olabileceğinden şüpheleniyorum? Her iki durumda da sorun nihayetinde çözüldü. Onu boğacak başka şeyler de var, ancak şu anda genellikle UI tasarımı / geliştirmesinden zevk aldığım todyumdan yeterince uzaklaşıyor .
SinirliFormsDesigner ile

3

Neden tüm satranç oyuncuları satranç tahtası ve oynadıkları parçaları tasarlamayı sevmiyor?

Bazı insanların bundan hoşlanmaması garip değil ... beklememiz garip.


1
satranç oyuncuları satranç tahtası ve parçaları tasarlamamaktadır, çünkü bu tasarımlar bir asırdan fazla bir süredir uluslararası satranç federasyonu (FIDE) tarafından standartlaştırılmıştır ve bu standartlar evrensel olarak benimsenmiştir.
jwenting

2

Kullanıcı arayüzü üzerinde çalışmayı seviyorum. Bu benim için her zaman doğru değildi, ancak UI çalışmalarından zevkim son birkaç yılda daha iyi bir hale geldikçe arttı. Bazı geliştiricilerin bir stil sayfasının veya renk paletinin yanına izin verilmemesi gerektiğini biliyorum. Kesinlikle farklı bir beceri seti ve herkesin elinde değil.


2

Bazı UI çerçevelerinden nefret ettiğim kadar, UI çalışmasından da nefret etmiyorum. Örneğin ben> 10 yıldır .NET programlıyorum. Web uygulamaları oluşturmak için çerçeveler harika (ASP.NET WebForms ve ASP.NET MVC). Ancak masaüstü uygulamaları yazmak için çerçeveler, pekala, onlardan hoşlanmıyorum (WinForms ve WPF).

Bu nedenle, GUI uygulamaları yazmak hoşuma gitmeyen çerçeveleri kullanmanın bir yönüdür.

Başka bir yönü var. Sık sık "işletme" tarzı uygulamalarla, yani bir masaüstü uygulamasının sunucudan veri alması gereken uygulamalar ile çalışıyorum. Bu durumda, verilerin gerçekten bir çok sıkıcı olacağı bir formattan diğerine dönüşümün çok fazla katmanı vardır.

Örneğin, uygulama bir dizi DTO nesnesi aracılığıyla bilgi alır. Uygulama daha sonra verilerin kendi model gösterimini yaratır (sunucuda oluşturulan aynı etki alanı sınıflarını tekrar kullanmamak). Model sınıfları, model üzerindeki özellikleri ortaya koyan bir görünüm modeli (WPF MVVM düzeninde) tarafından tüketilir.

Bu, aynı verilerin farklı sınıflar tarafından temsil edildiği birçok kezdir. Ve bu sıkıcı olur. Ancak bu, bu tür masaüstü uygulamalarına özgü bir sorundur.

Bu tür bir uygulamada, bir müşteriden hemen başka bir müşteride hemen güncelleme yapmak için nasıl değişiklik yaptığımız gibi ilginç zorluklar da var.


++ Ne demek istediğini biliyorum. İstemciler arasında güncelleştirmelerin yayılmasıyla ilgili son nokta için, yoklama kullanıyorum (genellikle 1 saniye), ancak bu muhtemelen yalnızca oldukça küçük bir DB ve az sayıda müşteri için işe yarar.
Mike Dunlavey,

2

Bu nedenlerle büyük bir UI geliştirme hayranı değilim:

  1. Bir geliştirici olarak, daha az yaratma özgürlüğüne sahip olursunuz: Müşteri, UI'nin her küçük yönü hakkında, tepki vermeniz gereken bilgileri görebilir ve görüşlerini alabilir. Gibi istekleri alırsınız: bunun rengini değiştirmek; o düğmeyi oraya hareket ettirin; boşver, geri oynat. Arka uç kodu nadiren görülür.

  2. UI daha dağınık, arka tarafı ise daha "platonik". Çirkin bir arka uç koduna dair karışıklıklar görmeme rağmen, temiz olması (kod açısından) UI kodundan daha yaygın olduğunu düşünüyorum. Bir kullanıcı arayüzü gerçekten temiz görünebilir ve kullanıcı için iyi tasarlanmış olabilir, ancak bir geliştirici olduğumdan ve kodda kullanmaktan daha fazla zaman geçirdiğim için, kodu temizlemekten daha çok hoşlanıyorum.

  3. Kullanıcı arayüzünün arka uçtan çok bir "tesisat" olduğunu hissediyorum, yani akıllı algoritmalar için daha az fırsat var ve beyninizi gerçekten sınırlamaya zorluyor.


1

Hem UI (masaüstü, web değil) hem de iç bağırsakları yapıyorum.

Her ikisinden de hoşlandığım veya hoşlanmadığım miktar, etki alanına özgü bir dil (DSL) gibi bir şey kullanarak ne kadar yapabileceğime bağlıdır.

Kullanıcı Arabirimi alanında, kullanıcılara sunduğum ve onlardan aldığım bilgilerin karmaşıklığı, form tasarımcıları, birçok etkinlik işleyicisi, MVC gibi tipik araçlar kullanmak zorunda kalmam durumunda çıldırırdı. Tüm bu "son teknoloji ürünü" şeyler. Neyse ki, onlarca yıl önce, bunun için bir DSL yapmak ve bunun için çalışmak olduğunu düşündüğüm şeyin daha iyi bir yol olduğunu keşfettim. Şu anda buna Dinamik İletişim Kutuları diyorum ve bu Diferansiyel Uygulama olarak adlandırdığım bir kontrol yapısına dayanıyor . İyi haber şu ki, belirli bir işlevsellik için, kaynak kodu kabaca daha az büyüklükte ve kullanıcı arayüzüne daha fazla işlevsellik koymamı sağlıyor. Kötü haberse, öğretmeye çalıştığım kadarıyla, teknoloji transferinde pek şansım olmadı.

Kullanıcı Arabirimi olmayan etki alanında, daha sonra bir kullanıcı arabiriminin aşılandığı komut satırından kullanılabilen DSL'ler olarak başlayan bir dizi üründen ders aldım. Bu, uzman kullanıcıya UI'yi atlayabilecekleri bir şey verirken sıradan kullanıcıya raslantı kullanabilecekleri bir şey verir. (Örnekler: R, SPlus, Matlab, SAS, WinBugs.) Bu yüzden ürünümüzün uzmanlar için bir komut satırı dili var. Bir çözümleyici, kod üreteci, ön derleyici ve çalışma zamanı modelleme motoruyla bu tür şeyler geliştirmeyi seviyorum. Bunun için harcanan çaba, UI için harcanan çabadan en az 10 daha az bir güçtür.

UI çabalarının bu kadar önemli olmasının bir nedeni, DSL ile yapılamayan çok fazla "yapıştırıcı" - veri ızgaralarını yönetme, her türlü veri sıralama yöntemleri, esneme "çatlağına" giren her şey. saf kullanıcı arayüzü ve temel dil arasında.

Öyleyse sorunuz "Bazı programcılar neden UI'nın geliştirilmesinden nefret ediyor?" İdi. Sadece DSL kullanamadığım "tutkal" yüzünden nefret ediyorum.


1

Dürüst olmak gerekirse, en iyi GUI araç setini bulmanın aslında bunun yolunu ve girişimlerini öğrenmenin bir PITA olduğunu görüyorum ... üniversitede çok fazla kullanıcı arabirimi bilgisi öğrenmediğinizden bahsetmiyorum bile ... ..


1

Önceden belirtilmiş olanların ötesinde (onu kodlamak sıkıcı, sıkıcı, sinir bozucu bir çalışmadır ve tasarım genellikle fikirlerini onları uygulamaya çalışanlar için neye neden olduğu konusunda hiçbir ipucu olmayan biri tarafından yapılır), sizin için önemli bir faktördür. Yapmanız gerekenler hakkındaki fikirlerini sürekli olarak değiştirmelisiniz, arka uç için yaptıklarından çok daha fazla. Sonuç olarak, hareketli bir spekere karşı daha da fazla çekim yapıyorsunuz ve bu insanlar da daha az titizlik gösteriyor. Kelimenin tam anlamıyla kullanıcı arayüzleri başarısız testlere sahibim, çünkü bir bileşen, test ettiği kişinin olması gerektiğini düşündüğü yerden 1 piksel uzaktaydı. İşe yaradı mı? Evet. İyi görünüyor mu? Evet. Ama pikselleri saymaya başladı ve bir şey geri kalanıyla aynı olmayan tek bir pikseldi, bu yüzden tekrar işlenmesi için yolladı.


1

Birkaç puan daha:

1) UI Tasarım test etmek zor olabilir, emin olun ki bu düğmenin yapması gerekip gerekmediğini kontrol edebilirsiniz, ancak kullanımı daha zorsa test etmek daha zordur. Engelli birisiyle birlikte kullanılabilirse test etmeye ne dersiniz?

2) Birçok programcı bu konuda eğitilmemiş ve bu konuda fazla bir şey bilmiyor.


1

Gerçek şu ki, UI araçları / framework / API çok kötü, karmaşık, sezgisel olmaktan uzaktır. Win32 API ile C / C ++, javax.swing, CSS, vb. İle geliştirdim. O zamandan beri, UI geliştirme ile uğraşmak zorunda kalmaktan nefret ediyorum ... Kadar Qt framework!


1
Artık yaygın olarak kullanılmayan araçları yaktığınızı mı kastediyorsunuz (çoğu kişi bugünlerde UI programlaması için Win32 kullanmaz)? Üzgünüm, bunun geçerli bir nokta olduğunu düşünmüyorum.
user16764

1

Bir CS öğrencisi olarak, UI hariç, veri yapısı, veritabanı, C ++ ... öğrenilir. Yani baştan beri bu konuda iyi değilsin . Eğer iyi değilsen, nefret edeceksin.


Birçok üniversite ve kolejde UX tasarım kursları verilmektedir. Genellikle CS müfredatlarının bir parçası olarak.
user16764

1

Madalyonun her iki tarafında da çalıştıktan sonra, UI tasarımı ve arka uç kodu, madalyonun her iki tarafının da temelde aynı olduğunu buldum.

Günden güne yaptığınızdan farklı olan gereksinimler her zaman gelmez ve şimdi tüm hizmetlerin CRUD etrafında döndüğü ve daha sonra sıkıcı hale geldiği çağda ortaya çıkmaz.

Her neyse, ön ucu kodlamak, temel olarak ön uç tasarımında deneyimsiz bir eli sıkıştıran daha iyi etkileşim ve çılgın dinamizmler sağlar. Ben kişisel olarak ön taraftaki zor yoldan öğrendim ve rahatça ön taraf tasarlamanın çok daha ilginç ve zorlu olduğunu söyleyebilirim.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.