🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.os.advocacy
Article #481865

Re: ta niebywała intuicyjność interfejsów...

#481865
From: Wojciech Bancer
Date: Mon, 07 Mar 2011 16:13
45 lines
3733 bytes
On 2011-03-07, Andrzej Rosa <bakters@yahoo.com> wrote:

[...]

>> tego nie śledzisz, bo Ci nie jest to potrzebne. Reagujesz na onclick,
>> albo na onbuttondown albo onbuttonup i dopiero wtedy odczytujesz 
>> współrzędne (bo wtedy zazwyczaj Ci potrzebne). Na gładzikach masz to 
>> samo, tylko musisz prowadzić kursor, bo gładzik sam w sobie nie przekazuje 
>> prawidłowo pozycji XY względem ekranu.
>
> Jak kursor w ogóle jest, sytuacja się upraszcza.

Sorry, że skrócę, ale... rozumiesz w ogóle programowanie oparte na zdarzeniach?
To nie polega na tym, że system broadcastuje każde zdarzenie do każdego elementu
na ekranie i w pamięci. Tworzysz jakieś magiczne, wydumane problemy, które pewnie
były realne w programowaniu bez API, gdzie rysowałeś i sterowałeś pikselami.
Mam małe doświadczenie w programowaniu w iOS, ale z tego co widzę, również
jest oparty na zdarzeniach, a nie na śledzeniu stanu i reagowaniu na piksele.

Jeśli wyobrażasz sobie aplikację jako białą kartkę, na której maziasz piksel 
po pikselu, to pewnie masz rację, tak by to wyglądało. Jednak we współczesnych 
aplikacjach używa się komponentów, kontenerów i to do nich system przesyła 
konkretne zdarzenia, które ich dotyczą.

Czyli jak masz przycisk, to system owszem wysyła do niego wszystkie zdarzenia
które na tym przycisku się będą działy (ale nie te które będą zachodzić poza
przyciskiem). Przy czym domyślna akcja jest "nie rób nic", więc nie musisz 
programować każdej ewentualności, a tylko te które coś Ci zmieniają. 
Dopiero oprogramowanie zdarzenia np. Click, albo TouchBegin, TouchMove, 
TouchEnd, które niesie ze sobą atrybuty (czyli np. czy jest to multitouch, 
czy jest to pojedynczy punkt, jakie są współrzędne itd). 

I jeśli się zdarzy, że jednym palcem wejdziesz na przycisk, a drugim nie, to 
*dla przycisku* to będzie pojedynczy touch, bo on nie dostaje pełnego kontekstu 
i wszystkich komunikatów.

Więc wracając do Twoich przykładów. Menu będzie reagować na zdarzenia click/touch
inaczej, niż obszar aktywnego rysowania, inaczej niż paleta z przyciskami. Jak
przejedziesz się palcem po aktywnym i wyjedziesz "poza", to owe "poza" nie będzie
wiedziało, że ma rysować, bo tego nie zaprogramowałeś. Programujesz elementy 
reagujące na zdarzenia, a nie całą aplikację jako jeden wielki zbiór pikseli.

-- 
Wojciech Bańcer
proteus@post.pl
Technical Details
Message-ID: <slrnina19e.2q3p.proteus@pl-test.org>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!not-for-mail
References: <90a44e0b-e088-46ee-8b44-69ea10d21611@u3g2000vbe.googlegroups.com> <iklomn$r0e$1@news.onet.pl> <ikm2c2$hjv$1@node2.news.atman.pl> <4d6ea047$0$2452$65785112@news.neostrada.pl> <ikqirp$9j0$1@inews.gazeta.pl> <4d7120e0$0$2491$65785112@news.neostrada.pl> <wzs7ints4fdh.gy2djku3mouc$.dlg@40tude.net> <4d73d38d$0$2439$65785112@news.neostrada.pl> <dk59fm1lho5c$.mmsu0q21f7sl.dlg@40tude.net> <4d74cf56$0$2486$65785112@news.neostrada.pl> <slrnin9lqe.2mi3.proteus@pl-test.org> <4d74f027$0$2505$65785112@news.neostrada.pl>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!not-for-mail
From: Wojciech Bancer <proteus@post.pl>
Newsgroups: pl.comp.os.advocacy
Subject: Re: ta
 niebywała intuicyjność interfejsów...
Date: Mon, 7 Mar 2011 16:13:41 +0000 (UTC)
Organization: None
Lines: 45
Message-ID: <slrnina19e.2q3p.proteus@pl-test.org>
References: <90a44e0b-e088-46ee-8b44-69ea10d21611@u3g2000vbe.googlegroups.com> <iklomn$r0e$1@news.onet.pl> <ikm2c2$hjv$1@node2.news.atman.pl> <4d6ea047$0$2452$65785112@news.neostrada.pl> <ikqirp$9j0$1@inews.gazeta.pl> <4d7120e0$0$2491$65785112@news.neostrada.pl> <wzs7ints4fdh.gy2djku3mouc$.dlg@40tude.net> <4d73d38d$0$2439$65785112@news.neostrada.pl> <dk59fm1lho5c$.mmsu0q21f7sl.dlg@40tude.net> <4d74cf56$0$2486$65785112@news.neostrada.pl> <slrnin9lqe.2mi3.proteus@pl-test.org> <4d74f027$0$2505$65785112@news.neostrada.pl>
NNTP-Posting-Host: 87-205-14-164.ip.netia.com.pl
Mime-Version: 1.0
X-Trace: inews.gazeta.pl 1299514421 24842 87.205.14.164 (7 Mar 2011 16:13:41 GMT)
X-Complaints-To: usenet@agora.pl
NNTP-Posting-Date: Mon, 7 Mar 2011 16:13:41 +0000 (UTC)
X-User: wojciech.bancer
User-Agent: slrn/0.9.9p1 (Darwin)
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit