🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

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

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

#345115
From: Mikołaj 'Virion' Milewski
Date: Sun, 28 Aug 2016 12:31
52 lines
4578 bytes
W dniu niedziela, 28 sierpnia 2016 13:25:47 UTC+2 użytkownik arivald napisał:

> Antywzorzec, ale niezbędny. I nie mówię tu o zmiennych w globalnej 
> przestrzeni nazw, globalnym scope, bo np. statyczne pola i metody w 
> klasach takze są globalami.
> 
> Nadużywanie zmiennych globalnych to jest dopiero problem.

W aplikacji powinna być jeden obiekt globalny: główny kontener IoC. Inne stany globalne są czasem nie do uniknięcia, zwykle z powodu "kodu trzeciego", ale zawsze jakiś kotek ginie, gdy wprowadzasz nową zmienną globalną... ;-)

> E, jaki tam koszmar. Wystarczy parę zasad (dane są albo stałe, każdy 
> wątek może czytać, albo dane należą do danego wątku i tylko on może je 
> czytać i zmieniać, używać odpowiednich mechanizmów do przesyłania danych 
> z wątku do wątku), i problemy znikają.

Kto nigdy nie miał deadlocka, niech rzuci kamieniem.

Rzecz jest jeszcze taka, że przyswojenie sobie tych zasad i ich dobre zrozumienie zajmuje zwykle parę lat - lat, w których młody programista JS jest już bardziej produktywny.

> IMO sprzęganie.

Dzięki :-)

> Naprawdę nie widzę czemu akurat wielowątkowość ma na to jakiś wpływ.
> To raczej zależy od zadań i architektury aplikacji. Wystarczy zastosować 
> pośrednika, np kontener IOC, do komunikacji jakiś szyna komunikatów albo 
> slot-signal, etc., żeby osiągnąć luźne sprzeganie komponentów.

I znów - trzeba to sobie przyswoić, bo platforma zezwala na znaczne nadużycia.

> Owo "asynchroniczne podejście JSa" jest wymuszone przez jego 
> jednowątkowość. I nie jest to tyle podejście JS co podejście API których 
> z JS się używa, żeby zapewnić w płynne działanie aplikacji.
> 
> Dokładnie tak samo da się sterować aplikacją w każdym języku.
> Np kolejka komunikatów w Windows (i w wielu innych) jest bardzo podobnym 
> rozwiązaniem, zamiast eventów JS są komunikaty.

Jasne. Ale, czy widziałeś kod reaktywny w Delphi? Da się wszystko, ale platforma zachęca lub zniechęca. Wyszedłszy od jednowątkowych skryptów dla weba, rynek doszedł do szerokiego rozpropagowania programowania asynchronicznego i reaktywnego. Język jest paskudny (moja opinia), ale ekosystem robi wrażenie i jestem pewien, że jeszcze nie raz pozytywnie zaskoczy.

> IMO to jest związane raczej z rosnącym znaczeniem, ilością i 
> skomplikowaniem aplikacji przeglądarkowych.
> JS ma swoje nisze i zastosowania, ale nie jest to język na którym 
> bazował bym aplikację.

Ja też nie, dlatego dzięki niech będą Hejlsbergowi za TypeScripta!

> Arivald

-- 
Pozdrawiam,
Virion
Technical Details
Message-ID: <af423a12-6451-4bc4-92d6-387fcf4aab83@googlegroups.com>
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.glorb.com!j128no625938ith.0!news-out.google.com!d68ni41699ith.0!nntp.google.com!j128no625932ith.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!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> <npslfj$qdd$1@gioia.aioe.org> <04bbf0f7-c9b3-4bdb-8db1-4d7df251dba7@googlegroups.com> <npuhno$18g9$1@gioia.aioe.org>

Show Full Headers
Complete Article Headers
X-Received: by 10.107.15.82 with SMTP id x79mr9356708ioi.17.1472387516457;        Sun, 28 Aug 2016 05:31:56 -0700 (PDT)
X-Received: by 10.157.33.112 with SMTP id l45mr781617otd.8.1472387516429; Sun, 28 Aug 2016 05:31:56 -0700 (PDT)
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.glorb.com!j128no625938ith.0!news-out.google.com!d68ni41699ith.0!nntp.google.com!j128no625932ith.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail
Newsgroups: pl.comp.lang.delphi
Date: Sun, 28 Aug 2016 05:31:56 -0700 (PDT)
In-Reply-To: <npuhno$18g9$1@gioia.aioe.org>
Complaints-To: groups-abuse@google.com
Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=83.168.82.203; posting-account=lYD4HAoAAAB1LtmkMAsKipnMzMmp1fk7
NNTP-Posting-Host: 83.168.82.203
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> <npslfj$qdd$1@gioia.aioe.org> <04bbf0f7-c9b3-4bdb-8db1-4d7df251dba7@googlegroups.com> <npuhno$18g9$1@gioia.aioe.org>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <af423a12-6451-4bc4-92d6-387fcf4aab83@googlegroups.com>
Subject: Re: Czy nowe wersje Delphi nadają się do
 tworzenia stabilnych mobilnych Aplikacji ?
From: Mikołaj 'Virion' Milewski
 <mikolaj.milewski@gmail.com>
Injection-Date: Sun, 28 Aug 2016 12:31:56 +0000
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit