Náhrada C# něčím multiplatformním

x

Re:Náhrada C# něčím multiplatformním
« Odpověď #60 kdy: 01. 06. 2016, 14:49:18 »
Zdravím.

Zdědil jsem určitou aplikaci, kde běží několik win strojů, které komunikují s hlavním win strojem.
Všechny aplikace jsou napsány v C# - jsou to vícevlánkové aplikace (Běží hlavní server, k tomu se občas spouštějí některá další vlákna. Šlo by to však napsat i jinak, řídit to pouze nějakými eventy v jednom vlákně...), které používají TCPClient, SerialPort, timery, atd. Na hlavním stroji pak běží nějaká SQL databáze, to však není podmínkou.

Aplikace se 99% času flákají, po přijetí SerialPort dat proběhne nějaká TCP komunikace s hlavním PC, který posílá dotazy do DB a vrací odpovědi tazateli. Tazatel pak posílá data po SerialPort a tak pořád dokola. Takže je poněkud zbytečné stavět pro takovouto ptákovinu kompletní PC, platit licenci Win a tak dále...

Šel by tedy C# nahradit něčím, co by se dalo rozběhat jak na PC s Win, tak s Linuxem, tak například na RPi? Napadá mě Python. Ale nevím, jestli je použití výše zmíněných komponent tak jednoduché, jako v .NET.

Díky

Jednoznacne http://fsharp.org/


igino

Re:Náhrada C# něčím multiplatformním
« Odpověď #61 kdy: 01. 06. 2016, 16:09:31 »
C# Rules.! Ziadna Java. Dnes to ovlada kazde hovno. C# budes vymykat

To spis C# ovlada kazde hovno, protože je to jednoduche.

To urcite. Kazdej srac sa dnes uci Javu a robi nefunkcne aplikacie pre Android. A spojazdnit Javu, ktora ma XYZ kniznic, ked to chce clovek prepojit este s dalsimi X vecami, no hroza.
Pri MS technologiach. Prepojit C# s EntityFramework a MSSQL ci hociakou inou DB napr. Oracle, to je uplna pohodka a usetrene nervy.
Ale som rad, ze ovladam C#, aspon nepatrim tych 9 z 10, ktori ovladaju Javu.

andy

Re:Náhrada C# něčím multiplatformním
« Odpověď #62 kdy: 01. 06. 2016, 16:44:35 »
Ale prosim ta. Das do mavenu zavislost a hotovo. Rovnake ako s nugatmi. Vcera som videl velky billboard "hladame javistu", to k tomu 9/10 ovlada javu. Vsade je ich kopec asi..
A ze sa kazdej srac uci javu a robi nefunkcne apky? To je asi akoby si sa stazoval, ze kazdy srac sa uci pisat a potom je po nete popisanych kopec hluposti.

podlesh

Re:Náhrada C# něčím multiplatformním
« Odpověď #63 kdy: 01. 06. 2016, 17:34:43 »
To je asi akoby si sa stazoval, ze kazdy srac sa uci pisat a potom je po nete popisanych kopec hluposti.
No, já mám někdy nutkání si na to opravdu postěžovat :-)

lol

Re:Náhrada C# něčím multiplatformním
« Odpověď #64 kdy: 01. 06. 2016, 18:09:34 »
Zdravím.

Zdědil jsem určitou aplikaci, kde běží několik win strojů, které komunikují s hlavním win strojem.
Všechny aplikace jsou napsány v C# - jsou to vícevlánkové aplikace (Běží hlavní server, k tomu se občas spouštějí některá další vlákna. Šlo by to však napsat i jinak, řídit to pouze nějakými eventy v jednom vlákně...), které používají TCPClient, SerialPort, timery, atd. Na hlavním stroji pak běží nějaká SQL databáze, to však není podmínkou.

Aplikace se 99% času flákají, po přijetí SerialPort dat proběhne nějaká TCP komunikace s hlavním PC, který posílá dotazy do DB a vrací odpovědi tazateli. Tazatel pak posílá data po SerialPort a tak pořád dokola. Takže je poněkud zbytečné stavět pro takovouto ptákovinu kompletní PC, platit licenci Win a tak dále...

Šel by tedy C# nahradit něčím, co by se dalo rozběhat jak na PC s Win, tak s Linuxem, tak například na RPi? Napadá mě Python. Ale nevím, jestli je použití výše zmíněných komponent tak jednoduché, jako v .NET.

Díky
Co konkrétně ty aplikace dělají. Proč komunikují. Jestli to neni tajné




marty

Re:Náhrada C# něčím multiplatformním
« Odpověď #65 kdy: 01. 06. 2016, 18:42:38 »
Ale prosim ta. Das do mavenu zavislost a hotovo. Rovnake ako s nugatmi. Vcera som videl velky billboard "hladame javistu", to k tomu 9/10 ovlada javu. Vsade je ich kopec asi..
A ze sa kazdej srac uci javu a robi nefunkcne apky? To je asi akoby si sa stazoval, ze kazdy srac sa uci pisat a potom je po nete popisanych kopec hluposti.
V cem delas andy a hlavne na cem? Protoze ja prosel javou i c# a musim rict, ze co se tyce konfigurace, tak jednodussi mi prisli veci v c#. Jednej i druhej jazyk maji sve plusy i minusy

andy

Re:Náhrada C# něčím multiplatformním
« Odpověď #66 kdy: 01. 06. 2016, 20:52:18 »
Samozrejme v jave. Robil som aj c# chvilu, ale vtedy este bol .net cisto microsoft/intel zalezitost a musel som sa pre nieco rozhodnut. Navyse ta konfigurace - no neviem ci by som .net vedel urobit projekt bez visual studia. Inak to povazujem prast jak uhod, pricom .net ma iste ficurky ktore sa mi pacia (napr aot). Na apku ktora sa obcas pusti by som asi pouzil .net (resp mono), prave kvoli aot. Inak robim v eclipse a vyhovuje mi to.

Dejv

Re:Náhrada C# něčím multiplatformním
« Odpověď #67 kdy: 27. 06. 2016, 22:37:44 »
Co se týče GUI u desktopových aplikací, proč se v dnešní době nedělá pomocí HTML+CSS, stejně jako weby nebo hybridní mobilní aplikace a máme furt JavaFX, WPF, teď zas nový UWP. Nebylo by to jednodušší v dnešní době mít na všechno jednu technologii?

Sice existuje projekt Electron, ale tam se používá JS a né Java/C#.

gl

Re:Náhrada C# něčím multiplatformním
« Odpověď #68 kdy: 27. 06. 2016, 22:53:10 »
Co se týče GUI u desktopových aplikací, proč se v dnešní době nedělá pomocí HTML+CSS, stejně jako weby nebo hybridní mobilní aplikace a máme furt JavaFX, WPF, teď zas nový UWP. Nebylo by to jednodušší v dnešní době mít na všechno jednu technologii?

Sice existuje projekt Electron, ale tam se používá JS a né Java/C#.

Řekl bych, že hlavním důvodem bude výkon. U některých aplikací to je asi jedno. Třeba u takového Atomu to docela vadí.

Kit

Re:Náhrada C# něčím multiplatformním
« Odpověď #69 kdy: 27. 06. 2016, 23:07:03 »
Co se týče GUI u desktopových aplikací, proč se v dnešní době nedělá pomocí HTML+CSS, stejně jako weby nebo hybridní mobilní aplikace a máme furt JavaFX, WPF, teď zas nový UWP. Nebylo by to jednodušší v dnešní době mít na všechno jednu technologii?

Sice existuje projekt Electron, ale tam se používá JS a né Java/C#.

Řekl bych, že hlavním důvodem bude výkon. U některých aplikací to je asi jedno. Třeba u takového Atomu to docela vadí.

HTML+CSS nebývá tím úzkým hrdlem. Příčina bude jinde.

Dejv

Re:Náhrada C# něčím multiplatformním
« Odpověď #70 kdy: 27. 06. 2016, 23:08:03 »
Co se týče GUI u desktopových aplikací, proč se v dnešní době nedělá pomocí HTML+CSS, stejně jako weby nebo hybridní mobilní aplikace a máme furt JavaFX, WPF, teď zas nový UWP. Nebylo by to jednodušší v dnešní době mít na všechno jednu technologii?

Sice existuje projekt Electron, ale tam se používá JS a né Java/C#.

Řekl bych, že hlavním důvodem bude výkon. U některých aplikací to je asi jedno. Třeba u takového Atomu to docela vadí.

Atom ale používá Javascript. A pro to GUI by se asi nepoužívalo asi klasický jádro prohlížeče.
Teď tu máme XAML, FXML a obojí je na stejnej způsob, místo toho by podle mě bylo jednodušší mít jen HTML. Teď třeba budu chtít dělat v FXML a budu muset zjišťovat co jak se dělá a co to neumí, místo toho abych jednoduše přenesl danou část z webovýho prostředí.

gl

Re:Náhrada C# něčím multiplatformním
« Odpověď #71 kdy: 27. 06. 2016, 23:44:26 »
Co se týče GUI u desktopových aplikací, proč se v dnešní době nedělá pomocí HTML+CSS, stejně jako weby nebo hybridní mobilní aplikace a máme furt JavaFX, WPF, teď zas nový UWP. Nebylo by to jednodušší v dnešní době mít na všechno jednu technologii?

Sice existuje projekt Electron, ale tam se používá JS a né Java/C#.

Řekl bych, že hlavním důvodem bude výkon. U některých aplikací to je asi jedno. Třeba u takového Atomu to docela vadí.

Atom ale používá Javascript. A pro to GUI by se asi nepoužívalo asi klasický jádro prohlížeče.
Teď tu máme XAML, FXML a obojí je na stejnej způsob, místo toho by podle mě bylo jednodušší mít jen HTML. Teď třeba budu chtít dělat v FXML a budu muset zjišťovat co jak se dělá a co to neumí, místo toho abych jednoduše přenesl danou část z webovýho prostředí.

Někde jsem četl, že u Atomu je skutečně problém HTML. Když chcete v HTML nějaký jiný než defaultní widget, tak ho musíte reprezentovat pomocí DOMu a to je AFAIK náročné na výkon. Další možnost je používat canvas, ale potom ztrácíte výhodu HTML. O moderních frontendových technologiích toho moc nevím. Možná se mýlím. O ostatních GUI frameworcích toho také moc nevím.

noef

  • *****
  • 897
    • Zobrazit profil
    • E-mail
Re:Náhrada C# něčím multiplatformním
« Odpověď #72 kdy: 28. 06. 2016, 07:13:12 »
Někde jsem četl, že u Atomu je skutečně problém HTML. Když chcete v HTML nějaký jiný než defaultní widget, tak ho musíte reprezentovat pomocí DOMu a to je AFAIK náročné na výkon. Další možnost je používat canvas, ale potom ztrácíte výhodu HTML. O moderních frontendových technologiích toho moc nevím. Možná se mýlím. O ostatních GUI frameworcích toho také moc nevím.

Hm, to bych necekal. Zvlast, kdyz na webu se to bezne pouziva a bottleneck byva spis v odezve nebo serveru. Z prolizani bugu Atomu na GitHubu jsem spis nabyl dojmu, ze je tam problem s architekturou - neco se na zacatku blbe zvolilo a nasledky vidime do dnes (urcite to bylo u casu startu, jinde nevim).

gl

Re:Náhrada C# něčím multiplatformním
« Odpověď #73 kdy: 28. 06. 2016, 12:12:49 »
Někde jsem četl, že u Atomu je skutečně problém HTML. Když chcete v HTML nějaký jiný než defaultní widget, tak ho musíte reprezentovat pomocí DOMu a to je AFAIK náročné na výkon. Další možnost je používat canvas, ale potom ztrácíte výhodu HTML. O moderních frontendových technologiích toho moc nevím. Možná se mýlím. O ostatních GUI frameworcích toho také moc nevím.

Hm, to bych necekal. Zvlast, kdyz na webu se to bezne pouziva a bottleneck byva spis v odezve nebo serveru. Z prolizani bugu Atomu na GitHubu jsem spis nabyl dojmu, ze je tam problem s architekturou - neco se na zacatku blbe zvolilo a nasledky vidime do dnes (urcite to bylo u casu startu, jinde nevim).

Na webu je také nutné omezovat velikost stránky, proto se používá stránkování. Příliš velká stránka vám zamrzne prohlížeč. U Atomu je problém s velkými soubory (možná už není). Asi to bude částečně architekturou. Pro textový editor stačí GUI jako má Emacs. HTML je IMHO zbytečné.

PepaN

Re:Náhrada C# něčím multiplatformním
« Odpověď #74 kdy: 07. 07. 2016, 12:15:52 »
JavaFX  ;)
Ovšem v porovnání c sharpem je javafx na tom trochu časově hůř. To znamená, že projekt trvá v Javě cca 5x déle než v C sharp. Je to díky tomu, že Java je schizofrenní a s méně dokonalou dokumentací než c sharp. Schizofrennost Javy je ten fakt, že se musíme předělávat ze swift na fx. Když jsem se učil v základu pracovat s Javou, dělal jsem všechno ve swift podle pár let staré učebnice a najednou jsem našel fx a pochopil, že swift je minulost... Java je prostě těžká schíza. Ale já ji mám stejně rád. A doufám, že ji Oracle nehodí přes palubu. To by mě naštvalo.
A podobnost Javy a c sharpu? V syntaxi. Obecně se mi s c sharpem pracuje líp kvůli perfektnímu prostředí Visual Studia, které mi umožňuje být při tvorbě rychlý a přesný. U Javy jsem používal Eclipse = čistokrevná hrůza a teď dělám v Netbeans = menší hrůza. Abyste například něco vizualizovali v Netbeans potřebujete přídavek - třeba Scene Builder. Dlouho jsem si na tuto sračku nemohl zvyknout a nakonec to dopadlo tak, že si to pozicuju, styluju a parametruju stejně v kódu.
Na Javě mám rád její multiplatformitu. Vytvořím si aplikaci jar včetně všech knihoven (což samozřejmě Netbeans neumí), tento jediný soubor spustím na Windows i Linuxu. No problemo.  8)
Ještě jsem zvědavý na jednu poslední věc... zda je Java zpětně kompatibilní. PHP třeba není. Tak uvidím, co Java. Jestli nebude Java zpětně kompatibilní, tak prohlásím vývojáře Javy za dementy a začnu asi pracovat s lopatou, ta bude s hlínou kompatibilní vždycky. :(
Mimochodem, otevřel jsem pár 3D grafických Java projektů tvořených před 12ti lety a bez šance.... Takže mám takové hrozivé podezření..... Raději nemyslet.

No vita a lopata je i v ověření nespamu. Tomu se říká znamení osudu.