Reálné využití .NET Core na Linuxu

anonym

Reálné využití .NET Core na Linuxu
« kdy: 02. 02. 2018, 12:58:18 »
Jaké jsou reálné možnosti použití .NET Core na platformě Linux při vývoji informačních systémů, když to např. stále nepodporuje WCF?
« Poslední změna: 02. 02. 2018, 13:25:18 od Petr Krčmář »


harrison314

Re:Reálné využití .NET Core na Linuxu
« Odpověď #1 kdy: 02. 02. 2018, 13:34:50 »
To je dost vseobecna otazka, ale skusim takto.
Ale odpoved je jednoducha v .Net Core spravis fronend.
Ked sa bude informacny system napajat na databazu, tak nemas problem, takisto ani ked bude konzumovat webove sluzby (WCF klienta ma). Ale ak chces vystavit webove sluzby (SOAP), tak to nezvladne (je komunitna podpora pre HTTP/s basic binding, ale ...).

Nadruhej strane, ak robis webovy fronend, vystavujes REST-ove api, SPA, mikrosluzby alebo ne-enetrprise informacne systemy, tak sa .Net core nemas ako popalit. V tomto rezime (na Ubuntu) bezim uz jeden a pol roka a s .Net Core neboli problemy (.net core na linuxe ako fonend, postgre databaza cez EF, plus pridavny backend vo WCF na Windows serveri).

anonym

Re:Reálné využití .NET Core na Linuxu
« Odpověď #2 kdy: 03. 02. 2018, 20:36:41 »
Haha, takže:

Citace
Mono is an implementation of the .NET Framework for Linux (including Web-Forms, Winforms, MVC). Basically the equivalent of (OpenJDK) JVM and (OpenJDK) JDK/JRE (as opposed to SUN/Oracle JDK). You can use it to get ASP.NET-WebForms + WinForms + ASP.NET-MVC applications to work on Linux.
It is supported by Xamarin, and not by Microsoft.
(since Xamarin was bought by Microsoft, that's technically, but not really, Microsoft.)
You will usually get your C# stuff to compile on mono, but not the VB.NET stuff.
Some advanced features, like WSE/WCF and WebParts are missing.
Many of the implementations are incomplete (e.g. throw NotImplementedException in ECDSA encryption), buggy (e.g. ODBC/ADO.NET with Firebird), behave differently than on .NET (for example XML-serialization) or otherwise unstable (ASP.NET MVC) and unacceptably slow (Regex) .

However, don't expect that cross-platform means that you could actually just apt-get install .NET Core on ARM-Linux, like you can with elasticsearch. You'll have to compile the entire framwork from source.
https://stackoverflow.com/questions/37738106/net-core-vs-mono

Takže jestli to dobře chápu, Mono je něco jako Open JDK. Každý je rád že to je, ale nikdo to reálně nepoužívá.

anonym

Re:Reálné využití .NET Core na Linuxu
« Odpověď #3 kdy: 03. 02. 2018, 20:47:05 »
Takže to vypadá jak jsem si myslel, Microsoft prostě hodil jen tak do placu open source .NET Core, aby se neřeklo, ale o Mono se intenzivněji starat nehodlá. Tzn. jsme pořád kde jsme byli, pokud někdo bude chtít seriozně ve firmě postavit řešení na .NET Core a Linux, tak to se zatím nestane. Když k tomu připočtu různé potenciální skryté vendor locky. Co např. integrace .NETu a Officu? Určitě nějaká existuje, ale jen pro Microsoft Office, žejo? No a ten jede jen na Windows. Další věc je Microsoft SQL Server. Visual Studio pro něj má pěkně zaintegrovanou podporu. Jenže ten počítám taky na Linux nikdy nebude.

Např. M$ koupil Skype v roce 2011. Skype je napsaný v Qt, takže by šla bez problému udělat verze pro Linux - ostatně kdysi Skype pro Linux normálně byl. Jakto, že ten hodný Microsoft, co strašně chce podporovat open source, blokuje Linuxovou verzi Skype?

To někdy v roce 2013 .NETáci tvrdili, že už je ta platforma multiplatfromní, že je jakési Mono. (polofungující) A teď po 5 letech a potom, co Xamarin vyvíjející Mono koupil Microsoft, je to pořád polofungující Mono.

anonym

Re:Reálné využití .NET Core na Linuxu
« Odpověď #4 kdy: 03. 02. 2018, 20:51:13 »
Tzn. Microsoft to udělal tak, aby se vlk nažral a koza zůstala zpola-celá. Malí nerdíci si budou moct dělat konečně svoje webové stránečky na tom Linuxu, jak chtěli, budou rozkřikovat jak je .NET multiplatformní a C# nejlepší, ale reálné komerční nasazení pořádných projektů bude jen na platformách Microsoftu. Nějaká malá skupinka nadšenců nikdy neudělá Mono tak, aby se vyrovnalo CLR, stejně jako je tomu u Open JDK, no a CLR si poběží hezky jen na Windows.


anonym

Re:Reálné využití .NET Core na Linuxu
« Odpověď #5 kdy: 03. 02. 2018, 21:04:13 »
Protože je třeba si uvědomit, že kdyby Microsoft opravdu chtěl udělat VM pro Linux tak už tady je. Jenže když by udělal světobordnou platformu .NET, na které rázem všichni začnou vyvíjet software, a tu platformu by udělal plně funkční pro Linux, tak kdo by potom používal Windows? Vždyt to je základní handicap Linuxu, že na něj není pořádný soft. Najednou by byl. Microsoft nikdy nehodí Windows přes palubu, nemůže si dovolit, aby ztratil monopol na OS.

pepa z depa

Re:Reálné využití .NET Core na Linuxu
« Odpověď #6 kdy: 03. 02. 2018, 21:06:43 »
Např. M$ koupil Skype v roce 2011. Skype je napsaný v Qt, takže by šla bez problému udělat verze pro Linux - ostatně kdysi Skype pro Linux normálně byl. Jakto, že ten hodný Microsoft, co strašně chce podporovat open source, blokuje Linuxovou verzi Skype?
Cece nez placnes nesmysl, tak si aspon zjisti, jakej je aktualni stav

Kód: [Vybrat]
$ eix skype
[I] net-im/skypeforlinux
     Available versions:  (~)8.11.0.4^msd (~)8.13.0.2^msd (~)8.14.0.10^msd {pax_kernel ABI_X86="64"}
     Installed versions:  8.14.0.10^msd(06:25:55 PM 02/02/2018)(-pax_kernel ABI_X86="64")
     Homepage:            https://www.skype.com/
     Description:         Instant messaging client, with support for audio and video

Juro

Re:Reálné využití .NET Core na Linuxu
« Odpověď #7 kdy: 03. 02. 2018, 21:11:11 »
Další věc je Microsoft SQL Server. Visual Studio pro něj má pěkně zaintegrovanou podporu. Jenže ten počítám taky na Linux nikdy nebude.
Pozri ms sql server 2017.

Re:Reálné využití .NET Core na Linuxu
« Odpověď #8 kdy: 03. 02. 2018, 23:19:44 »
Tzn. Microsoft to udělal tak, aby se vlk nažral a koza zůstala zpola-celá. Malí nerdíci si budou moct dělat konečně svoje webové stránečky na tom Linuxu, jak chtěli, budou rozkřikovat jak je .NET multiplatformní a C# nejlepší, ale reálné komerční nasazení pořádných projektů bude jen na platformách Microsoftu. Nějaká malá skupinka nadšenců nikdy neudělá Mono tak, aby se vyrovnalo CLR, stejně jako je tomu u Open JDK, no a CLR si poběží hezky jen na Windows.

https://github.com/dotnet
https://developers.redhat.com/topics/dotnet

harrison314

Re:Reálné využití .NET Core na Linuxu
« Odpověď #9 kdy: 04. 02. 2018, 07:59:09 »
Takže to vypadá jak jsem si myslel, Microsoft prostě hodil jen tak do placu open source .NET Core, aby se neřeklo, ale o Mono se intenzivněji starat nehodlá. Tzn. jsme pořád kde jsme byli, pokud někdo bude chtít seriozně ve firmě postavit řešení na .NET Core a Linux, tak to se zatím nestane. Když k tomu připočtu různé potenciální skryté vendor locky. Co např. integrace .NETu a Officu? Určitě nějaká existuje, ale jen pro Microsoft Office, žejo? No a ten jede jen na Windows. Další věc je Microsoft SQL Server. Visual Studio pro něj má pěkně zaintegrovanou podporu. Jenže ten počítám taky na Linux nikdy nebude.

Např. M$ koupil Skype v roce 2011. Skype je napsaný v Qt, takže by šla bez problému udělat verze pro Linux - ostatně kdysi Skype pro Linux normálně byl. Jakto, že ten hodný Microsoft, co strašně chce podporovat open source, blokuje Linuxovou verzi Skype?

To někdy v roce 2013 .NETáci tvrdili, že už je ta platforma multiplatfromní, že je jakési Mono. (polofungující) A teď po 5 letech a potom, co Xamarin vyvíjející Mono koupil Microsoft, je to pořád polofungující Mono.

Mono je klasicky OOS projekt. Mal istu podporu od Miscrosoftu ale kvoli Xamarinu, nie kvoli samotnemu Monu.
.Net Core je plne funkcny, nesttol som sa za vanymi problemami. zatial co v Mone nikdy nevies kedy to padne na neimplementvanej metode.

Imho, stale pocuvam o nejakych magickych a zahandych vendor lokoch, skoda ze nik neuvedie konkretny priklad.

tnr

Re:Reálné využití .NET Core na Linuxu
« Odpověď #10 kdy: 04. 02. 2018, 08:59:14 »
Takže to vypadá jak jsem si myslel, Microsoft prostě hodil jen tak do placu open source .NET Core, aby se neřeklo, ale o Mono se intenzivněji starat nehodlá. Tzn. jsme pořád kde jsme byli, pokud někdo bude chtít seriozně ve firmě postavit řešení na .NET Core a Linux, tak to se zatím nestane. Když k tomu připočtu různé potenciální skryté vendor locky. Co např. integrace .NETu a Officu? Určitě nějaká existuje, ale jen pro Microsoft Office, žejo? No a ten jede jen na Windows. Další věc je Microsoft SQL Server. Visual Studio pro něj má pěkně zaintegrovanou podporu. Jenže ten počítám taky na Linux nikdy nebude.

Např. M$ koupil Skype v roce 2011. Skype je napsaný v Qt, takže by šla bez problému udělat verze pro Linux - ostatně kdysi Skype pro Linux normálně byl. Jakto, že ten hodný Microsoft, co strašně chce podporovat open source, blokuje Linuxovou verzi Skype?

To někdy v roce 2013 .NETáci tvrdili, že už je ta platforma multiplatfromní, že je jakési Mono. (polofungující) A teď po 5 letech a potom, co Xamarin vyvíjející Mono koupil Microsoft, je to pořád polofungující Mono.

Mono je klasicky OOS projekt. Mal istu podporu od Miscrosoftu ale kvoli Xamarinu, nie kvoli samotnemu Monu.
.Net Core je plne funkcny, nesttol som sa za vanymi problemami. zatial co v Mone nikdy nevies kedy to padne na neimplementvanej metode.

Imho, stale pocuvam o nejakych magickych a zahandych vendor lokoch, skoda ze nik neuvedie konkretny priklad.

Jeste bych doplnil - hlavne .NET Core je plne funkcni oproti Mono, kde byly velmi casto problemy s neuplnou (ci chybnou) implementaci nekterych casti.

U .NET Core (pouzivame pro nektere aplikace pro REST sluzby) naopak tenhle problem nenastava, implementace je plnohodnotna a nesetkal jsem se ani s problemy, ze by neco nefungovalo mezi platformami. .NET Core 1 byl pomerne osekany, v .NET Core 2 MS pridal pomerne velkou davku existujicich knihoven z .NET Frameworku.

Osobne me tam pro vyvoj tehle druhu aplikaci (REST sluzby) moc nic nechybi, je tam EF Core, spousta 3rd party knihoven, je to open source, funguje to dobre v Dockeru (MS nabizi primo pripravene image pro Windows i Linux), na Linuxu to funguje bezproblemu :-)

Franta <xkucf03/>

Re:Reálné využití .NET Core na Linuxu
« Odpověď #11 kdy: 04. 02. 2018, 10:17:12 »
Tzn. Microsoft to udělal tak, aby se vlk nažral a koza zůstala zpola-celá.

Jde jen o marketing, tvářit se přátelsky, otevřeně… ale ve skutečnosti házet klacky pod nohy a dělat pořád ten samý vendor lock-in jako celou dobu.

stejně jako je tomu u Open JDK, no a CLR si poběží hezky jen na Windows.

U OpenJDK je situace jiná – běžně se v produkci používá – nainstaluješ si Debian / Ubuntu / SuSe / Fedoru / RedHat / …, ze standardních distribučních repozitářů nainstaluješ balíčky OpenJDK (takže mj. nemusíš ručně řešit aktualizace), doinstaluješ Payaru nebo JBoss/WildFly a máš plnohodnotný aplikační server případně doinstaluješ Tomcat/Jetty a máš webový server. A všechno je to svobodný software, nejsou tam žádné skryté sviňárny. Pokud za něco platíš, tak je to podpora a záruky od dodavatele (kterých máš na výběr víc).

harrison314

Re:Reálné využití .NET Core na Linuxu
« Odpověď #12 kdy: 04. 02. 2018, 10:37:18 »
Tzn. Microsoft to udělal tak, aby se vlk nažral a koza zůstala zpola-celá.

Jde jen o marketing, tvářit se přátelsky, otevřeně… ale ve skutečnosti házet klacky pod nohy a dělat pořád ten samý vendor lock-in jako celou dobu.

stejně jako je tomu u Open JDK, no a CLR si poběží hezky jen na Windows.

U OpenJDK je situace jiná – běžně se v produkci používá – nainstaluješ si Debian / Ubuntu / SuSe / Fedoru / RedHat / …, ze standardních distribučních repozitářů nainstaluješ balíčky OpenJDK (takže mj. nemusíš ručně řešit aktualizace), doinstaluješ Payaru nebo JBoss/WildFly a máš plnohodnotný aplikační server případně doinstaluješ Tomcat/Jetty a máš webový server. A všechno je to svobodný software, nejsou tam žádné skryté sviňárny. Pokud za něco platíš, tak je to podpora a záruky od dodavatele (kterých máš na výběr víc).

V .Net-e nieco platis? V .Net core nieco platis? kde su tie skryte svinarny?

jpu

Re:Reálné využití .NET Core na Linuxu
« Odpověď #13 kdy: 04. 02. 2018, 11:33:12 »
Takže to vypadá jak jsem si myslel, Microsoft prostě hodil jen tak do placu open source .NET Core, aby se neřeklo, ale o Mono se intenzivněji starat nehodlá. Tzn. jsme pořád kde jsme byli, pokud někdo bude chtít seriozně ve firmě postavit řešení na .NET Core a Linux, tak to se zatím nestane. Když k tomu připočtu různé potenciální skryté vendor locky. Co např. integrace .NETu a Officu? Určitě nějaká existuje, ale jen pro Microsoft Office, žejo? No a ten jede jen na Windows. Další věc je Microsoft SQL Server. Visual Studio pro něj má pěkně zaintegrovanou podporu. Jenže ten počítám taky na Linux nikdy nebude.

Např. M$ koupil Skype v roce 2011. Skype je napsaný v Qt, takže by šla bez problému udělat verze pro Linux - ostatně kdysi Skype pro Linux normálně byl. Jakto, že ten hodný Microsoft, co strašně chce podporovat open source, blokuje Linuxovou verzi Skype?

To někdy v roce 2013 .NETáci tvrdili, že už je ta platforma multiplatfromní, že je jakési Mono. (polofungující) A teď po 5 letech a potom, co Xamarin vyvíjející Mono koupil Microsoft, je to pořád polofungující Mono.

Mono je klasicky OOS projekt. Mal istu podporu od Miscrosoftu ale kvoli Xamarinu, nie kvoli samotnemu Monu.
.Net Core je plne funkcny, nesttol som sa za vanymi problemami. zatial co v Mone nikdy nevies kedy to padne na neimplementvanej metode.

Imho, stale pocuvam o nejakych magickych a zahandych vendor lokoch, skoda ze nik neuvedie konkretny priklad.
Root je plny zahad. Staci napisat MS a uz je zle, aj ked o danej technologii nic nevedia a ani s nou nerobili

tnr

Re:Reálné využití .NET Core na Linuxu
« Odpověď #14 kdy: 04. 02. 2018, 11:57:51 »
Jde jen o marketing, tvářit se přátelsky, otevřeně… ale ve skutečnosti házet klacky pod nohy a dělat pořád ten samý vendor lock-in jako celou dobu.

V cem je vendor lock in v .NET Core kdyz mam k dispozici cele zdrojaky multiplatformniho framworku? Resp. v cem je to horsi situace nez napr s Javou, Pythonem nebo Ruby?

Citace
U OpenJDK je situace jiná – běžně se v produkci používá – nainstaluješ si Debian / Ubuntu / SuSe / Fedoru / RedHat / …, ze standardních distribučních repozitářů nainstaluješ balíčky OpenJDK (takže mj. nemusíš ručně řešit aktualizace), doinstaluješ Payaru nebo JBoss/WildFly a máš plnohodnotný aplikační server případně doinstaluješ Tomcat/Jetty a máš webový server. A všechno je to svobodný software, nejsou tam žádné skryté sviňárny. Pokud za něco platíš, tak je to podpora a záruky od dodavatele (kterých máš na výběr víc).
A s .NET Core si udelas aplikaci, kterou spustis a bezi na Kestrel web serveru (https://github.com/aspnet/KestrelHttpServer) - podobne treba jako Wildfly Swarm nebo Spring Boot.
V cem je rozdil a kde jsou ty skryte svinarny ?

Tzn. Microsoft to udělal tak, aby se vlk nažral a koza zůstala zpola-celá. Malí nerdíci si budou moct dělat konečně svoje webové stránečky na tom Linuxu, jak chtěli, budou rozkřikovat jak je .NET multiplatformní a C# nejlepší, ale reálné komerční nasazení pořádných projektů bude jen na platformách Microsoftu. Nějaká malá skupinka nadšenců nikdy neudělá Mono tak, aby se vyrovnalo CLR, stejně jako je tomu u Open JDK, no a CLR si poběží hezky jen na Windows.

V RedHatu si toho evidentne nevsimli, ze to bezi jen na Windows:
https://developers.redhat.com/topics/dotnet/

Protože je třeba si uvědomit, že kdyby Microsoft opravdu chtěl udělat VM pro Linux tak už tady je. Jenže když by udělal světobordnou platformu .NET, na které rázem všichni začnou vyvíjet software, a tu platformu by udělal plně funkční pro Linux, tak kdo by potom používal Windows? Vždyt to je základní handicap Linuxu, že na něj není pořádný soft. Najednou by byl. Microsoft nikdy nehodí Windows přes palubu, nemůže si dovolit, aby ztratil monopol na OS.
Nevim, jestli chteli delat svetobornou platformu, ale .NET Core udelali jako multiplatformni framework postaveny na .NET Framework (a do znacne miry kompatibilni).
Neumi vse, co stary .NET, neni k tomu moc duvod proc podporovat treba GUI frameworky (ktere MS nerozviji uz ani na Windows, je to trochu mrtva technologie), naopak se novy framework zameril na ASP.NET Core, EF Core a dalsi veci, ktere muzou vyvojari vyuzit pro serverove aplikace, ktere dneska preci jen vyvoj tahnou :)