Tomu nevěřím… Pracuji na komunitním projektu v C# a binárky jsme
vždy vydávali pro každou verzi dvě. .NET a MONO
Mimochodem: mono IMHO není implementací .NET a má svůj vlastní
bytekód (a jen „náhodou“ si poradí s tím od MS).
Ale OK.. až dorazím domů tak si stáhnu .NET 2.0 binárku a zkusim co
s tim udělá mono.. opačně to rozhodně nefunguje.
Obvykle se zdržím komentáře když se v diskuzi zobrazuje část DNS
záznamu…
Taky pochybuju. Vždyť ani aplikace pro .NET Compact Framework neběhají na desktopu bez rekompilace, přestože použité API je podmnožinou. Důvodem jsou digitální podpisy knihoven, které jsou nacpané do EXE souborů. Fakt netuším k čemu to je- zabili tak výhodu portability, která plyne z bytekódu, a nezískali žádnou bezpečnost navíc, protože kdo chce, jednoduše hackne .NET runtime a ty kontroly podpisů prostě dělat nebude…
Divné. Měl jsem ve Visual studiu 2005 projekt využívající DLL s dalšího projektu. Fungovalo to dobře. Tak jsem ten další projekt skompiloval v Linuxu pod Mono. Výsledné DLL sice bylo 5× kratší, než když bylo skompilované pod Windows ve VS, ale i tak jej Visual studio pod Windows v pohodě akvceptovalo a nevšiml jsem si nějaké změny. Výsledná aplikace fungovala dobře. (Navíc novější verze VS 2008 už vygenerovala kód jen 3× delší. Takže možná časem bude mono i Visual studio generovat DLL i podobné velikosti. :-))
Ja uz verim snad vsemu. Mam notebook na kterem vsechno co by bezet nemelo, bezi a to co by melo tak dela problemy. Priklad: Napajim se na sifrovane bezdrat site bez hesel a dokonce na firemni site bez certifikatu. Nejsem na te siti viditelnej a vsechno fici jak ma. Vsechno zalezi na typu rootru na kterej se pripajim protoze u nekterych typu se nepripojim ani se spravnym heslem. A to je jen spicka ledovce. Notasek ma 7 let 1.5GHz single core Intel, 32Mb grafarna a plynule uhraje filmy v HD720p. Asi poslu obraz tohoto WinXP do Mikrosportu, protoze to je opravdu siiila co tohle dokaze … Myslim ze budou koukat jeste vic jako ja posledni pulrok :) Jsem taky zvedavej, jak se bude chovat ten obraz na te same masine kdyz bude ve Virtual Machine v Ubuntu 9.04.
celá věc má jeden háček. mono neobsahuje některý knihovny, které můžou .NETí aplikace používat. Já třeba zkoušel pouštět něco co dělal kámož ve VBčku a napsalo mi to, že mi chybí VB runtime.
Navíc označit mono za „nativní“ spouštění čehokoli je docela úsměvné. Jenom další high level blbost, která připraví trh na rychlejší počítače. Když vidím, jaký prasárny v tom lidi dělaj… ve většině distribucí jsou i prográmky, které by normální člověk napsal jako pár-řádkový kód v C/Pythonu/etc… a někdo kvůli nim přitáhne celý mono. tuším že už i Gnome (kompletní verze) má mono v závislostech…
tohle je VB.NET mono to vzalo normalne, akorat to napsalo, ze nemuze najit tu dynamickou knihovnu, kterou se snazi ten exac nacist. Imho to tak vzdycky bylo, ze VB byl normalni exac, akorat si loadnul runtime knihovnu a predal ji kod, pripadne si moh kompilator nastavit, aby ti ty knihovny pribalil do exace pro distribuci. dneska ve „svete“ .NETu je to spis tak, ze musis mit nainstalovanej .NET a VB runtime.
Vnesiem trochu svetla do diskusie.
Spustat .net cez mono sa da, casto uspesne.
Drtiva vacsina .net winforms aplikacii je vsak naviazana na win 32 dll kniznice z windowsu, pretoze .NET framework neposkytuje ziadanu funkcionalitu. A to uz v mono fungovat nemoze.
V diskusii spominana miranda je cisto win32 C++.
Vacsi vyznam ako pre Winforms ma podla mna mono pre ASP .NET aplikacie, takych uz v kombinacii s Apachom na internete par je.
Ano, obecně lze řící, že pokud je aplikace čistě managed (bytecode), tak bude většinou fungovat na obou prostředích. Bytecode je opravdu stejný, je standardizován ECMA. Pokud aplikace používá nějaké interop volání nativní knihovny tak fungovat nebude a to platí jak pro původně win .net aplikace na monu, tak pro původně linux mono aplikace na .net.
Co se týče gui prostředí, tak cesta se rozdělila, Winforms jsou offtopic, na .net se tlačí WPF a Mono prosazuje GTK/#.