Article View: pl.comp.lang.delphi
Article #345110Re: Czy nowe wersje Delphi nadają się do tworzenia stabilnych mobilnych Aplikacji ?
From: arivald
Date: Sat, 27 Aug 2016 18:17
Date: Sat, 27 Aug 2016 18:17
47 lines
3672 bytes
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-mailReferences:
<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