Mono – det öppna .Net ramverket

Det är ett prisat, hyllat och ett hatat ramverk. En del kanske gör det av skälen att det skulle kunna rendera i skada och slå tillbaka för andra som inte har ett förbund med Microsoft såsom Novell har.

Andra tycker kanske att det finns ju annat som Python eller Java och anser att det är ett bättre alternativ. Hur det än, så blev jag mäkta imponerad över ett program som jag börjat utveckla på, skrivet i just C#. Varför blev jag imponerad? Hur långt har Novell kommit när det gäller att utveckla en likvärdig produkt när det gäller funktionallitet jämfört med Microsoft .NET?

Namnutrymmet System.Windows.Forms innehåller grafiska kontroller för att skapa ett gränssnitt med knappar, textrutor, listor osv. Det är grunden, själva basen i en grafisk applikation. Programmet som jag utvecklar, är i själva verket en grafisk server applikation, där en del trådhantering förstås ingår. Servern skall fjärrstyras från webbklienter, det kan vara en sådan skrivet i ASP.NET eller PHP språket.
Programmet har flera klasser, varav en Form-klass som har en webbkontroll. Jag började utveckla detta på praktik-platsen i Windows XP miljö. Hur skulle jag kunna utveckla detta vidare när jag kom hem till min Linux-miljö då?

Webbkontrollen är i själva verket ett Internet Explorer objekt. Så jag tänkte förstås att det finns inte en chans att min kod kommer kommer kompileras med en gång utav Mono C# kompileraren mcs. För att kunna smidigt utveckla i C# så hämtade jag ner den mycket kompetenta utvecklingsmiljön MonoDevelop.

Jag hämtade hem källkoden och importerade projekt-filen med MonoDevelop. Det spännande ögonblicket inträdde när jag skulle trycka på menyvalet ”Kompilera”. Döm om min förvåning, när det kompilerades utan ett fel. Ingen varning om någon klass som ännu inte var implementerad för namnutrymmet Windows.Forms. T om webbläsarobjektet fungerade! Fast den använde då ett mozillaobjekt. Screen klassen fungerade också, en klass som gör det möjligt att styra vilken av monitorerna som en applikation skall visa sig på.

Mono har verkligen gjort ett bra jobb med detta ramverk. Sitter du kanske och utvecklar i Windows miljö? Om det inte finns någon annan anledning till att behöva göra det, varför inte överväga en migrering till Gnu/Linux? Om inte, kanske iaf köra ett test i en virtuell miljö? Det kan jag starkt rekommendera!

Sist vill jag inflika med ett kort föredrag som hölls vid FOSDEM, det är killen bakom MonoTorrent. Han ger en del fina tips angående utvecklandet av trådar (threads) i C#. Ha det gutt!

Det här inlägget postades i Programmering och har märkts med etiketterna , , . Bokmärk permalänken.