Fórum Root.cz
Hlavní témata => Vývoj => Téma založeno: nm 18. 06. 2015, 18:08:10
-
Z internetu jsem se kdysy dozvedel, ze Microsoft spolu s SuSE podepsaly spolupraci kolem .NETu. Tenkrat jsem si rikal, ze Microsoft chce ziskat (koupit) SuSE. Zatim k tomu nedoslo. Kdo vi co bude priste.
Ale tuhle diskusi chci zamerit na pouzivani technologie .NET a C# (a dalsi jazyky) mimo platformu Windows. Da se .NET uspesne pouzit na seriozni projekty mimo jine platforme nez Windows?
nm
-
Z internetu jsem se kdysy dozvedel, ze Microsoft spolu s SuSE podepsaly spolupraci kolem .NETu. Tenkrat jsem si rikal, ze Microsoft chce ziskat (koupit) SuSE. Zatim k tomu nedoslo. Kdo vi co bude priste.
Ale tuhle diskusi chci zamerit na pouzivani technologie .NET a C# (a dalsi jazyky) mimo platformu Windows. Da se .NET uspesne pouzit na seriozni projekty mimo jine platforme nez Windows?
nm
Dá, viz Mono.
-
Xamarin - android
-
Použít se to dá - Mono a Xamarin. Nicméně obojí má svoje specifika a nelze k tomu přistupovat jako k implementaci .Netu pro jinou platformu.
Velmi dobře si rozmysli, co to přinese za výhody a nevýhody. Na toto téma byly napsány tuny textu, viz google a stackoverflow.
Jo a nevěřím tomu, že se tady na toto téma nestrhne flame. Root je nejhorší místo na kladení otázek tohoto typu.
-
tie veci okolo suse a novelu su pekne stare, firmy pozanikali (novell) a povznikali nove (xamarin).
teraz to nie je nic extra co sa tyka inych platforiem, ale zacina sa to hybat.
serverovska cast .net frameworku bude od verzie 5.0 opensource (vyvoj cez nadaciu http://www.dotnetfoundation.org/ ktoru zalozili aj s xamarinom), resp. uz je dostupna RC verzia (http://dotnet.github.io/core/) a hlavne pridavaju priamu podporu linuxu a osx.
niektore casti .net su opensource uz dlhsiu dobu (ef, mvc), niektore teraz otvaraju (https://github.com/dotnet/corefx/ a pod) ostatne casti vie doplnit mono (webforms alebo gui).
-
Velmi dobře si rozmysli, co to přinese za výhody a nevýhody. Na toto téma byly napsány tuny textu, viz google a stackoverflow.
Existuji i jine internetove stranky psane v cestine, kde by se dalo diskutovat seriozne o vsech platformach - Windows, OSX, Linux, Solaris, etc.?
-
Nevím o nich. Proč se omezovat na češtinu?
-
Já bych .NET a C# raději nepožívat, ty tečky a křížky člověk vdechne, ani neví jak.
-
Nevím o nich. Proč se omezovat na češtinu?
Samozrejme ze anglictina je zaklad. Ale čeština je rychlejsi a lépe mi problematiku vysvetli. To protože češtinu ovladam perfektne a rychleji a lepe mi to v ni mysli. Anglicky umim na pokrocily urovni. Ale čeština je cěština. A když jiný jazyk, tak jeste slovencina. Lebo je češtině bližší.
Tak napriklad knizka o navrhovych vzorech. Existuje anglicka, ale i ceska. Ja dam prednost ty cesky, protoze se nemusim mordovat s prekladem a nepochopenim souvislosti anglicke verze. U česká verze knihy nemam takovy problem. Oroste se do ni zahryznu a muzu se vrhnout rovnou na obsah nez na jazykovou barieru nedostatku znalosti anglictiny.
Ale zase na druhou stranu mam operacni system v anglictine. Český zatpim nepoužívám (kvůli procvicovani english).
-
Jak už padlo v diskusi, mimo Windows se dá C# a .NET používat pomocí projektů Mono a Xamarin. Dohromady to pokrývá OS X, iOS, Android, FreeBSD, Solaris a Linux.
Mono je relativně kompletní implementace. Podpora WinForms dost špatná, úplně chybí Windows Presentation Foundation, Windows Communication Foundation a Windows Workflow Foundation, plus sem tam něco v různých dalších třídách. Jinými slovy GUI aplikace psané v C# pro Windows pod Mono nejspíš nespustíte. Můžete ale napsat separátní GUI, na OS X pomocí MonoMac, na Linuxu pomocí QtSharp nebo Gtk#. Serverové aplikace na tom budou většinou lépe.
Xamarin je verze Mono projektu pro smartphony. Pomocí Xamarin.Forms můžete použít to samé GUI pro všechny platformy; bez Xamarin.Forms můžete používat binding na nativní GUI framework dané platformy (tj. máte subprojekty pro Windows Phone, iOS a Android), mezi platformami sdílíte jen ne-GUI kód. Nevýhodou je trochu delší čas natahování aplikace ve srovnání s těmi nativními.
-
Napríklad WPF by sa malo dostať pod linux alebo do podpory xamarinu čoskoro, už to nejak presne neviem nájsť.
Uvidíme ako to bude vyzerať za pár rokov :)
-
.NET je už open source http://blogs.msdn.com/b/dotnet/archive/2014/11/12/net-core-is-open-source.aspx
-
Anglicky umim na pokrocily urovni. Ale čeština je cěština.
Tak napriklad knizka o navrhovych vzorech. Existuje anglicka, ale i ceska. Ja dam prednost ty cesky, protoze se nemusim mordovat s prekladem a nepochopenim souvislosti anglicke verze.
Jestli myslíš GoF, tedy tu od Gammy a dalších 3 lidí, tak ty Tvoje dvě věty jsou v rozporu. Ona je sice psána nespisovně, ale i tak velmi jednoduše. To, že se "morduješ s překladem", znamená, že neumíš "přemýšlet v angličtině" a tím pádem se nedá hovořit o zvládnutí jazyka na pokročilé úrovni.
Jazyková bariéra je překážkou, ale hlavně pro Tebe. V prvé řadě bych doporučil zapracovat na angličtině a zvládnout ji skutečně na pokročilé úrovni.
-
Jak už padlo v diskusi, mimo Windows se dá C# a .NET používat pomocí projektů Mono a Xamarin. Dohromady to pokrývá OS X, iOS, Android, FreeBSD, Solaris a Linux.
Mono je relativně kompletní implementace. Podpora WinForms dost špatná, úplně chybí Windows Presentation Foundation, Windows Communication Foundation a Windows Workflow Foundation, plus sem tam něco v různých dalších třídách. Jinými slovy GUI aplikace psané v C# pro Windows pod Mono nejspíš nespustíte. Můžete ale napsat separátní GUI, na OS X pomocí MonoMac, na Linuxu pomocí QtSharp nebo Gtk#. Serverové aplikace na tom budou většinou lépe.
Xamarin je verze Mono projektu pro smartphony. Pomocí Xamarin.Forms můžete použít to samé GUI pro všechny platformy; bez Xamarin.Forms můžete používat binding na nativní GUI framework dané platformy (tj. máte subprojekty pro Windows Phone, iOS a Android), mezi platformami sdílíte jen ne-GUI kód. Nevýhodou je trochu delší čas natahování aplikace ve srovnání s těmi nativními.
Mohl bych Vas poprosit o link na nejake aplikace, ktere ve windows pouzivaji MS .Net a v linuxu Mono? Klidne i uzavrena. Timto nechci .Net nijak shazovat, naopak si myslim, ze cim vice bude mit Java konkurence, tim lepe.
-
ja by som chcel vidiet nejake aplikacie. lebo jedna vec je ze technologia existuje druha ze ci sa aj pouziva a tretia ci existuju nejake deplojnute veci
-
Tak tedy znate nekdo internetove stranky psane v english, kde
by se dalo diskutovat seriozne o vsech platformach -
Windows, OSX, Linux, Solaris, etc.? Pro vyvojare?
-
Mohl bych Vas poprosit o link na nejake aplikace, ktere ve windows pouzivaji MS .Net a v linuxu Mono? Klidne i uzavrena. Timto nechci .Net nijak shazovat, naopak si myslim, ze cim vice bude mit Java konkurence, tim lepe.
Cvičně jsem zkoušel udělat mvc/api web a nasadit ho na debianu a byl to dost porod a laborování s verzema knihoven z nugetu. A když jsem googlil chyby co z toho lezly, tak jsem ani neměl dojem, že to moc lidí zkoušelo. A výsledek byla nakonec spíš ořezaná šablona projektu z VS. A při každý aktualizaci ať už balíků na serveru nebo samotné aplikace jsem orosenej, jestli to pak poběží. Takže jako experiment dobrý, ale nějaký úžasný pocity z toho jak .net běží na linuxu jsem teda nezažíval. A to šlo jen o trivialitu.
-
Jako dlouholetý javista jsem se k C# dostal asi na rok intenzivního vývoje.
Za sebe musím říct, že ten Microsoft svět určitě není špatný, jak se snaží mnozí tvrdit.
I když se Microsoft, po odchodu Balmera a příchodu inženýra do vedení, trošku dává dohromady, tak je třeb si uvědomit, že to bude ještě pár let trvat, než se samotný C# dostane na úroven multiplatformního jazyka jako je Java. Sice .NET (je) bude opensource a ASP.NET MVC je skutečně kus dobrého kódu, ale to ještě neznamená, že lze vše bezproblémů použít. Visual Studio už má také verzi pod linux, ale je tak ořezaná, že je lepší to snad psát v jiném editoru :))
Pokud MS půjde tímto trendem i dál, tak za 2-3 roky se skutečně můžou dostat do pozice, že C# už nikdo nebude chápat jako Windows only jazyk.
Pokud se jim podaří vymyslet a dotáhnout i samotné WebAPI, aby obsahovalo věci jako aspekty, DI, apod, tak konkurence k EJB či Springu je tady :))
Za mě je ale na C# na linuxu ještě brzy. I když jeho čas přijde.... :))