Article View: pl.comp.lang.delphi
Article #345115Re: Czy nowe wersje Delphi nadają się do tworzenia stabilnych mobilnych Aplikacji ?
From: Mikołaj 'Virion' Milewski
Date: Sun, 28 Aug 2016 12:31
Date: Sun, 28 Aug 2016 12:31
52 lines
4578 bytes
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-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> <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