Path: news.cs.au.dk!not-for-mail From: Michael Christensen Newsgroups: daimi.beta Subject: Re: Beta er min ven... Date: Mon, 03 Apr 2000 15:07:03 +0200 Organization: Dept. of Computer Science, University of Aarhus Lines: 117 Message-ID: <38E89777.2F67CE06@cs.au.dk> References: <38E1F1C7.1B89774D@cs.au.dk> <38E215A4.B1AFE349@cs.au.dk> <38E463C3.79B1686B@brics.dk> <38E859DD.6152F3EE@cs.au.dk> NNTP-Posting-Host: koenig.cs.au.dk Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit X-Trace: xinwen.cs.au.dk 954766967 15262919 255.255.255.255 (3 Apr 2000 13:02:47 GMT) X-Complaints-To: news@cs.au.dk NNTP-Posting-Date: 3 Apr 2000 13:02:47 GMT X-Mailer: Mozilla 4.7 [en] (WinNT; I) X-Accept-Language: en Xref: news.cs.au.dk daimi.beta:10478 Peter von der Ahé wrote: > > >>>>> "MC" == Michael Christensen writes: > > MC> Peter von der Ahé wrote: > > >> Er det ikke et spørgsmål om synsvinkel. I guienv ser ud som om > >> det er designet efter hvad programmøren af guienv kan > >> implementere. I andre gui api'er har fokus i designfasen været > >> implementering af applikationer. > > MC> Har du overvejet, at guienvs design også kunne være under > MC> indflydelse af, at det er ment som et platformsuafhængig gui api? > > Jeg sætter ikke spørgsmål ved hvad der oprindeligt var målet med > guienv, men snarere om det er nået. Efter at have arbejdet en del med > guienv har jeg fået en fornemmelse af at guienv understøtter en > mindste fællesnævner af Motif og MS Windows. > > Det er vel heller ikke helt forkert at mange features i guienv er > kommet med, fordi man vil understøtte en specifik ting i enten Motif > eller MS Windows - ikke fordi man har sat sig ned og lavet idémylder > (min kontakter på humaniora fortæller mig at det er det danske ord for > "brain-storm") med fokus på hvad der er behov for når man skriver > applikationer - eller bare gør det nemt. > Jeg vil ikke afvise at dette er sandt for dele af guienv - især på detaljeniveau. Ser man på de mere overordnede strukturer og sammenhænge er jeg ikke sikker på det holder? Anyway, alt i alt syntes jeg blot din kommentar omkring guienvs design var vel rigeligt simplificeret. Men fred være med det - jeg ved i øvrigt at folk involveret i designet at guienv selv synes der er en del, som kunne gøres bedre og sådan som det nu engang altid er, når man har designet noget... > >> Set fra en applikations udviklers synspunkt har man vel behov for > >> at implementere en funktionalitet når brugeren har trykket/klikket > >> på en knap. Man er vel ligeglad med om det sker ved "onMouseUp" > >> eller "onMouseDown". > > MC> Nej. > > Hvorfor ikke? Hvis jeg skal lave fx. en "OK" knap, så er det der > betyder noget da om brugeren har klikket på knappen. > For nu at vende alle mine argumenter helt om....så lige netop i tilfældet med "OK" knappen, vil man egentlig gerne være helt fri for at tænke på om der overhovedet er en mus involveret. Dvs. man vil bare have en "onOK" event, når brugeren på en eller anden måde har signaleret "OK" (det være sig ved muse-klik på knap eller ved at trykke enter eller...). > >> Det vil der være taget stilling til en gang for alle af dem som > >> har implementeret api'et. Dette vil sikre en ensartethed i alle > >> applikationer, som gør dem lettere at gå til. > > MC> Nej. Dette ville sikre en ensartethed i de applikationer, som er > MC> udviklet med netop det gui api. > > Men udviklerne af gui api'et har selvfølgelig taget stilling den slags > ting. Hvis man kører programmet på platform X betyder onClicked > selvfølgelig onMouseDown (for det er kutymen på platform X), men på > platform Y er det selvfølgelig anderledes. > > Men det kan godt være at det er et smagsspørgsmål. Jeg mener ikke at > et platformsuafhængigt gui nødvendigvis skal se ens ud på forskellige > platforme. Enig. [...] > > MC> Nu er ensartethed jo ikke _altid_ noget ønskværdigt. Ikke > MC> sjældent benytter man vel gui api'ets primitiver, såsom knapper, > MC> til at designe egne skræddersyede kontroller? > > Burde det ikke være sjældent? Ellers er det vel fordi der mangler > funktionalitet i det gui api man bruger? > Og hvis f.eks. et programmeringssprog kun tilbyder en eller to loop/iterations-primitiver (udfra hvilke man selvfølgelig kan bygge sine egne) istedet for de tre du ofte bruger , så er det fordi programmeringsproget mangler primitiver? > Men jeg har heller aldrig foreslået at man fjerner onMouseDown osv. > Men jeg mener at de er for primitive i andre sammenhænge. > Fint nok. > MC> En knap kan se ud og opføre sig på mange forskellige måder - alt > MC> efter konteksten den optræder i. Her er det smart at have så > MC> finkornet en kontrol som muligt over ting som > MC> muse-events. Selvfølgelig kan man stadig godt have en OnClick > MC> event, som lægger en ganske bestemt fortolkning ned over, hvad > MC> sammenhængen mellem museklik og knap er. Men det bør nu heller > MC> ikke være et spørgsmål om mange sekunder for at lave en sådan > MC> specialiseret fyr selv, hvis man øsnker det. > > Idéen med et platformsuafhængigt gui api er vel lige netop at man > undgår at skulle tage stilling til platformsafhængige detaljer. Hvis > man hver gang skal sidde og tage stilling til et antal andre > platformes måde at gøre tingene på, synes jeg at man mister noget > platformsuafhængighed. > "Kontekst" i mit argument henviste ikke til platform. -- Michael _____________________________________________________________________ Michael Christensen Phone: (+45) 89 42 31 88 Department of Computer Science Direct: (+45) 89 42 56 05 University of Aarhus Fax: (+45) 89 42 56 24 Åbogade 34 Email: toby@cs.au.dk DK-8200 Aarhus N, Denmark www: http://www.cs.au.dk/~toby/ _____________________________________________________________________