Cookies op Tweakers

Tweakers maakt gebruik van cookies, onder andere om de website te analyseren, het gebruiksgemak te vergroten en advertenties te tonen. Door gebruik te maken van deze website, of door op 'Ga verder' te klikken, geef je toestemming voor het gebruik van cookies. Wil je meer informatie over cookies en hoe ze worden gebruikt, bekijk dan ons cookiebeleid.

Meer informatie

Door , , 29 reacties
Submitter: Punkie

Novell heeft een bèta van Mono 2.0 en de 1.0-versie van de Monodevelop-ontwikkeltool aangekondigd. Met de nieuwe software moeten .Net-applicaties gemakkelijker overgezet kunnen worden naar andere platformen.

Mono logoMet de door Novell aangekondigde bèta van de opensource Mono 2.0-ontwikkelomgeving is het mogelijk om .Net 2.0-applicaties te bouwen voor Linux, OS X, BSD, Solaris en Windows. Ook bevat de bèta een preview van .Net 3.5-functionaliteit, verbeterde ondersteuning voor OS X en analysegereedschap voor migratie van .Net/Windows naar Mono/Linux. De huidige 1.9-versie van Mono ondersteunt het .Net 2.0-framework slechts ten dele.

Monodevelop 1.0 biedt onder andere ondersteuning voor projecten van Microsofts Visual Studio. Volgens Novell maakt Monodevelop het makkelijker om .Net-applicaties die met Visual Studio gemaakt zijn, over te zetten naar Linux en OS X. De Mono 2.0-bèta en Monodevelop 1.0 zijn vanaf 14 maart te downloaden.

Mono is een opensourcealternatief voor Microsofts .Net-framework. Naast generieke componenten als een C#-compiler en een implementatie van de Common Language Infrastructure biedt Mono ook aan .Net ontleende componenten, zoals de System.Windows.Forms-klassen. Hoewel het nieuws door Novell gepresenteerd werd, leunt dit bedrijf voor de ontwikkeling van de software nog altijd zwaar op de opensourcecommunity. Ook Microsoft is zijdelings bij de ontwikkeling betrokken, wat her en der wel tot ongerustheid leidt: Novell zou bij de samenwerking met Microsoft te weinig oog voor het risico van patentclaims hebben.

Moderatie-faq Wijzig weergave

Reacties (29)

Ik heb recentelijk eens een opensource project dat voor windows was geschreven als vs.net solution geopend in monodevelop, en na een paar kleine wijzigingen in de code compileerde het geheel prima onder Ubuntu.

Interessant gebeuren dat mono dus.
Kun je hier dan je vs.net solutions in openen en compileren in linux?
Het hele idee van .NET is dat je niet hoeft te hercompileren. Gewoon kopieren en runnen.
Volgens mij werken windows .net executables niet op linux of wel? Als je .NET applicatie compileerd kan er best wel eens zo'n .exe uitrollen. Of snap ik het nu weer niet...

[Reactie gewijzigd door Nunavut op 14 maart 2008 18:24]

.NET genereerd een soort van byte code (MSIL heet dat als ik me niet vergis) net als Java dat doet. Die wordt dan just in time gecompileerd als je het programma start.

De executable die uit een .NET project rolt, is vermoed ik enkel een soort van loader. (iemand die hier wat duidelijkheid over kan scheppen?) Dus dat is niet echt een ontzettend groot probleem.
De executable is een wrapper die zo snel mogelijk mscoree.dll laadt (mscoree.dll is onderdeel van de .NET-runtime). Programma's kun je direct op andere .NET runtimes draaien natuurlijk mits ze de benodigde classes implementeren.
Alleen jammer dat de Microsoft dan weer geen .net interpreter heeft voor Linux (naast Windows enkel voor BSD en MAC geloof ik).
Voor zover ik weet heeft Microsoft zelfs alleen een .net interpreter voor Win32, de versies die voor Lin/Mac/BSD uitkomen zijn allemaal Mono...
Beter nog, er is alleen een interpreter voor mono beschikbaar,
de rest is allemaal jit. wereld van verschil.
d'r is wel tijden geleden iets uitgekomen voor FreeBSD (hebben ze een lange haat liefde verhouding mee door hotmail en de TCP/IP stack). Maar ik heb 'm onlangs nog eens gezocht en niet meer kunnen vinden.
Even offtopic, maar de TCP/IP stack van Berkeley is niet alleen in Windows NT gebruikt destijds, ook in Unix.
Heeft niks met haat/liefde te maken.
Is wel de bedoeling als ik het artikel zo lees.
Tenzij je niet 100% in .NET programmeert en directe aanroepen op Windows system DLL's gaat uitvoeren. ;)
Het wordt tijd dat het makkelijker word, ik heb recent geprobeerd een simpel .NET programmatje om te zetten, het heeft me 2 weken gekost en niks opgelevert. Je moet ook tientallen plug-ins voor dit of dat downloaden voordat het programma überhaupt start...
Interessant, ik heb gewoon in Ubuntu MonoDevelop geinstalleerd via Add/remove programs (apt-get kan natuurlijk ook), en daarna kon ik aan de slag. En mijn simpele .net programma's draaiden perfect, het enige wat ik heb gedaan is de UI opnieuw opgebouwd omdat MonoDevelop geen WinForms designer had/heeft. (Hij kan overigens bestaande winforms code wel gewoon compileren en alles, alleen je kan je forms dan dus niet met een visual tooltje bewerken).
Zou leuk zijn als toekomstige .NET 3.5 software simpelweg als XBAP in je browser kan runnen omdat er support is voor linux en Mac OS X (kan nu alleen op windows machines waar .net 3.5 staat geinstalleerd). In theorie is dat een killer voor Java-applets.
Met XAML, alle tools voor XAML en Visual Studio 2008 wordt het dan gemakkelijker dan ooit om een simpele 3d applicatie te maken wat multiplatform werkt.
dat zou zeker gaaf zijn. De eerste stap wordt door middel van silverlight / moonlight gezet, laten we hopen dat het hier niet bij eindigd!
Afaik is Silverlight een aftakking van WPF, maar ik kan nergens vinden op de mono-site of WPF (dus gewoon applicaties net zoals winforms) nu ook gesupport word. Moonlight is de mono-versie van Silverlight, maar is het mogelijk om daar WPF applicaties mee te draaien??
Nee. Silverlight is een subset van WPF, wat betekend dat er alleen een select aantal klassen kunnen worden gebruikt. Silverlight kan gezien worden als de tegenhanger van flash. WPF (.NET 3.5) is een doorontwikkeling van de graphics van het .NET 2.0 framework. Een WPF applicatie is gewoon een stand alone windows fat client. Een XBAP (XAML Browser APlication) is een .NET 3.5 applicatie die in de browser wordt uitegevoerd. Verder heeft een XBAP een andere security laag waardoor je feitelijk 99,7% van alle .NET framework 3.5 klassen kan gebruiken in een XBAP (een XBAP draait in een speciale sandbox om veiligheidsredenen). Sommige developers zien XBAP als een vervangende technologie voor ActiveX, hoewel er duidelijke verschillen zijn.

[Reactie gewijzigd door Ruudjah op 14 maart 2008 20:13]

Silverlight (2.0 dan) is de browser variant van .NET 3.5 (Dus met WPF). Draait dus als een plugin in IE, firefox, mozilla en Safari, op zowel Windows als OSX, en straks ook officieel op *nix, onder de naam moonlight. Applicaties draaien in een sandbox, en sommige delen van de .NET framework missen (hoofdzakelijk windows specifieke delen en bepaalde IO).
De WPF in silverlight is voor een heel groot deel hetzelfde als de desktop WPF in .NET framework 3.5, je mist alleen een paar controls. Moonlight en Silverlight zijn dus identiek qua features.

NB: Overigens is een XBAP applicatie niet hetzelfde als een Silverlight applicatie. Ze draaien beide in een browser, maar daar houden de overeenkomsten ook wel op. XBAP apps werken overigens alleen in IE, en dan ook nog eens alleen op Windows.

[Reactie gewijzigd door Bas T op 14 maart 2008 20:20]

Werkt ondertussen (3.5) ook in firefox
Zou leuk zijn als toekomstige .NET 3.5 software simpelweg als XBAP in je browser kan runnen
Alleen vraag ik me dan wel af waarom ik dat zou willen. Als je kijkt naar een toepassing als Google Docs & Spreadsheets die dus volledige in de bestaande browsers draait zie ik geen heil in weer een nieuwe client-side omgeving.

In mijn optiek kunnen we beter HTML+JS+DOM+SVG(+MathML) gebruiken als applicatie-omgeving, te meer daar dit allen open en fabrikant-onafhankelijke standaarden zijn die iedereen vrij mag implementeren...

Op dit moment kun je eerder genoemde standaarden (misschien dan muz MathML) draaien in Opera, Mozilla Firefox en Safari - zonder dat deze projecten erg veel code delen. Verder heb je met deze standaarden ook niet 1 fabrikant die de regels opsteld zoals je met XAML et al wel hebt...

Overigens zie ik ook nu al heel weinig Java-applets, o.a. vanwege Flash - maar minstens ook vanwege het feit dat bijna alle browsers meer en meer een volledige omgeving aan kunnen bieden, met IE8 komt zelfs microsoft in de buurt (hoewel zij ook SVG en JS+DOM e.d. ondersteuning nog moeten maken/debuggen/verbeteren)
De door jouw genoemde technieken/standaarden hebben de laatste jaren helaas wel veel gaten laten liggen, waar adobe met flash flink van heeft kunnen profiteren. Microsoft heeft dat nu ook door en komt met Silverlight. Onafhankelijke standaarden zijn mooi, maar meestal niet innovatief, helaas. Zelfs Actionscript 3 met Flash/Flex programmeert fijner dan JS+DOM, laat staan C# in Visual Studion met Linq en WCF.
In hoeverre het ene fijner werkt dan het andere kan ik niet beoordelen, maar om nu te zeggen dat deze standaarden zelf iets hebben laten liggen gaat mij te ver - zeker als je bedenkt dat bijvoorbeeld op 2D gebied ik HTML5+SVG+JS voorbeelden gezien die Flash en Silverlight ruim evenaren, alleen op 3D gebied zie ik -op dit moment- een voordeel voor Silverlight e.d.

Als je zegt dat de implementatie te wensen over laat dan heb je gelijk, maar dat komt omdat de marktleider meer dan 5 jaar niet gedaan heeft om de ervaring met deze standaarden te verbeteren en er lange tijd geen serieuze concurrentie was. Inmiddels is de concurrentie er wel en gaat zelfs ms html+js+dom+css beter ondersteunen.

En ondanks dat er wellicht op korte termijn voordelen te behalen (kunnen?) zijn met VS+C# e.d. ben ik van mening dat het erg onverstandig is om grote projecten te doen met een techniek die door slechts 1 bedrijf gedicteerd wordt - zeker in een tijd waar men juist af wilt van de afhankelijkheid van 1 softwareleverancier...
Met Mono en Monodevelop ben je niet meer 100% afhankelijk van Microsoft, het enige wat zij dan voor je hebben gedaan is een specificatie opstellen. Dus het is op z'n ergst hetzelfde als Flash, maar dan met een goed ondersteund vrij alternatief.
Ik heb net de nieuwste development versie van mono gedownload en asp.net AJAX en asp.net MVC preview 2 runnen op Linux.
Nu alleen nog mijn werkgever overtuigen dat we geen sql server meer hoeven te gebruiken en ik hoef nooit meer achter een windows computer te bivakkeren.
Waarom zou je in godsnaam .NET willen ontwikkelen (1) en daarbij nooit meer windows computers willen aanraken (2).
Java draait ook overal op. Maar het zou toch raar zijn als ik niks met Sun te maken zou willen hebben. .Net = Microsoft, en het werkt goed. get over it.
asp.net MVC op Mono. Dat zou mooi zijn!
@pacoaw: heb je het WERKEND gekregen? Heel dat .Net interesseert met niet zo veel.
Maar .Net MVC zag er wel goed uit.

edit:

Heb net even gekeken, maar dat is zonder LINQ. Dat is dan wel weer zonde:
http://nickandgrace.com/c...-asp.net-mvc-on-mono.aspx

[Reactie gewijzigd door DumbAss op 15 maart 2008 09:47]

@lenny: Ik ben geen die-hard microsoft hater die alles wat Microsoft maakt moet haten. Ik hou alleen niet van Windows. Java draait overal op, maar Java programmeren is een stuk minder leuk dan .net (c#). Ik vind Java nogal conservatief en Microsoft brengt steeds vaker en sneller nieuwe dingen uit (LINQ, Lambdas, MVC framework, Ajax toolkit) die .Net programmeren een stuk aangenamer maken.
@Dumbass: ja het werkt. Heb er niet veel moite voor moeten doen. LINQ heb ik nog niet geprobeerd.

Op dit item kan niet meer gereageerd worden.



Apple iOS 10 Google Pixel Apple iPhone 7 Sony PlayStation VR AMD Radeon RX 480 4GB Battlefield 1 Google Android Nougat Watch Dogs 2

© 1998 - 2016 de Persgroep Online Services B.V. Tweakers vormt samen met o.a. Autotrack en Carsom.nl de Persgroep Online Services B.V. Hosting door True