🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.delphi
Article #345110

Re: Czy nowe wersje Delphi nadają się do tworzenia stabilnych mobilnych Aplikacji ?

#345110
From: arivald
Date: Sat, 27 Aug 2016 18:17
47 lines
3672 bytes
W dniu 2016-08-27 o 15:26, Mikołaj 'Virion' Milewski pisze:
> W dniu sobota, 27 sierpnia 2016 08:40:57 UTC+2 użytkownik arivald napisał:
>
>> Ale ogólnie w standardzie ECMA praktycznie nie ma wielowątkowości, nie
>> ma współdzielenia danych, nie ma synchronizacji. Jest tylko 'webworker',
>> ale to się opiera na kompletnie odseparowanych od głównego wątku
>> silnikach, każdy ma swoje odseparowane dane, które owszem chodzą w
>> osobnych watkach, ale cała komunikacja z nimi jest tylko poprzez
>> komunikaty.
>>
>> IMO upierdliwe w użyciu.
>
> Skoro async/await robią furorę w C#, to chyba programowanie asynchroniczne
>  jest generalnie lepiej przyjmowane od sekwencyjnego - i nie bez powodu.
> Ja tam wolę użyć narzędzi typu RabbitMQ / MQTT / Rx.js / Promise (i
>  filozofii przepływu danych i kontroli, którą wprowadzają) niż rzeźbić na
>  event handlerach / delegatach / callbackach. To się po prostu sprawdza.
>  Pierwszy raz na większą skalę użyłem komunikatów (jeszcze synchronicznie)
>  właśnie w Delphi - spytaj Wloochacza, jaki jest przepływ danych w
>  kontrolce do wizualizacji Gantta u niego ;-) Systemy reaktywne są sexy,
>  bo stosunkowo łatwo je zrozumieć, łatwo się skalują i taka architektura
>  sprawdza się na wielu poziomach - i na serwerze, i na kliencie.
>  Upierdliwe? A może po prostu inne, niż przywykłeś? ;-)

Komunikatów używałem i używam, i nie to jest upierdliwe (no czasem 
jest). Event handlery / delegaty / callbacki (czyli to samo w różnych 
smakach) to oczywiście podstawa.

Upierdliwe jest odseparowanie maszyn JS w wątkach, wszystko co się 
przesyła komunikatem musi być co najmniej dwa razy skopiowane, a akurat 
zarządzanie pamięcią w JS nie jest najszybsze. A pamięci w telefonach 
nigdy za dużo.

Także serwisy ładowane do workera będą kopiami, kolejne alokacje.

Utrzymanie spójności danych globalnych to też problem - po każdej 
zmianie trzeba by wysyłać message do każdego workera który tej danej używa.


W większości języków z wielowątkowością wątki mają wspólną pamięć, to 
program dba o synchronizację. Zmienne globalne, serwisy, cache, etc bez 
duplikatów.
Przesyłać pomiędzy wątkami można wydajnie, po prostu wskaźnikami czy 
referencjami.

-- 
Arivald
Technical Details
Message-ID: <npslfj$qdd$1@gioia.aioe.org>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!news.nask.pl!news.nask.org.pl!news.unit0.net!news.mixmin.net!aioe.org!.POSTED!not-for-mail
References: <f598bc71-3997-4916-b6e2-4668a1845a7b@googlegroups.com> <nphfk8$1a1n$1@gioia.aioe.org> <57bca64b$0$15209$65785112@news.neostrada.pl> <463bdc36-6971-4080-a437-84944c62249c@googlegroups.com> <e27cf067-438a-408f-97c4-e5df166f9dc6@googlegroups.com> <577275ed-0aa6-4638-b786-14ab65f86538@googlegroups.com> <80d4b314-94b5-4571-a718-a54fd3466dfb@googlegroups.com> <nppqgi$j9q$1@gioia.aioe.org> <57c08238$0$15192$65785112@news.neostrada.pl> <nprcln$qsu$1@gioia.aioe.org> <e4a7e8b3-b45d-408c-80d7-4758d96335b4@googlegroups.com>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!news.nask.pl!news.nask.org.pl!news.unit0.net!news.mixmin.net!aioe.org!.POSTED!not-for-mail
From: arivald <arivald@nowhere.interia.pl>
Newsgroups: pl.comp.lang.delphi
Subject: Re: Czy nowe wersje Delphi nadają się do
 tworzenia stabilnych mobilnych Aplikacji ?
Date: Sat, 27 Aug 2016 20:17:36 +0200
Organization: Aioe.org NNTP Server
Lines: 48
Message-ID: <npslfj$qdd$1@gioia.aioe.org>
References: <f598bc71-3997-4916-b6e2-4668a1845a7b@googlegroups.com> <nphfk8$1a1n$1@gioia.aioe.org> <57bca64b$0$15209$65785112@news.neostrada.pl> <463bdc36-6971-4080-a437-84944c62249c@googlegroups.com> <e27cf067-438a-408f-97c4-e5df166f9dc6@googlegroups.com> <577275ed-0aa6-4638-b786-14ab65f86538@googlegroups.com> <80d4b314-94b5-4571-a718-a54fd3466dfb@googlegroups.com> <nppqgi$j9q$1@gioia.aioe.org> <57c08238$0$15192$65785112@news.neostrada.pl> <nprcln$qsu$1@gioia.aioe.org> <e4a7e8b3-b45d-408c-80d7-4758d96335b4@googlegroups.com>
NNTP-Posting-Host: 0bU75bhJ8rIBB/efsa6WUg.user.gioia.aioe.org
Mime-Version: 1.0
X-Complaints-To: abuse@aioe.org
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:45.0) Gecko/20100101 Thunderbird/45.2.0
X-Notice: Filtered by postfilter v. 0.8.2
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit