Denne artikel stammer fra det trykte Computerworlds arkiv. Artiklen blev publiceret den Computerworld d. 3. september 2004.
En lille kreds af danske udviklere har siden nytår arbejdet med Mono som led i .Net open source-projektet ThinkSharp.
open source
Mono er en open source-implementering af .Net-udviklingsplatformen til Unix-platforme, herunder Linux. Med Mono er det muligt at køre .Net-programmer på Unix-platforme.
Monos idemand, mexikaneren Miguel de Icaza, navngav sit projekt med det spanske ord for abe: Mono, fordi han godt kan lide aber.
Troels Richter har fulgt Mono-projektet siden dets start i 2001. I de sidste to år har Troels Richter jævnligt afprøvet de forskellige versioner af Mono, efterhånden som de blev frigivet på Mono-projektets hjemmeside.
Mono 1.0 mere stabil
Til Troels Richters store glæde blev version 1.0 af Mono frigivet den 30. juni i år.
- I modsætning til tidligere fungerer det hele stort set i version 1.0, fortæller Troels Richter, der har fundet fejl i de tidlige versioner af Mono.
Brugere, der som Troels Richter anvender tidlige versioner af open source-programmer, er en vigtig del af open source-udviklingsmodellen. Brugerne rapporterer fundne fejl til open source-udviklerne, der så tilretter programmerne. Ud over at Mono version 1.0 er mere stabil, er opsætningen også blevet mere strømlinet end tidligere.
- Opsætningen af Mono er også blevet nemmere, siger Troels Richter med begejstring i stemmen.
Dansk udviklingsmiljø?
En begejstring for Mono, som Troels Richter gerne vil dele med andre. Omkring nytår 2003/2004 startede han derfor ThinkSharp.dk, der skulle være med til at skabe et dansk .NET open source-miljø.
- Ideen med ThinkSharp var at få etableret et miljø, hvor man kunne udveksle ideer og få startet nogle .NET open source-projekter sammen, siger Troels Richter.
Hvor open source-projekter normalt opstår ud fra et behov eller en konkret ide om et projekt, startede ThinkSharp.dk helt tilbage i idéfasen; Hvilket produkt skal der udvikles? Det var, ifølge Troels Richter, ikke den bedste måde at starte på.
- Det gav nok lidt bagslag, at der ikke var noget konkret at gå i gang med, siger han.
I løbet af få dage, efter ThinkSharp.dk var lanceret, fik han henvendelser fra cirka 40 interesserede personer. En del faldt fra, da der ikke var noget konkret projekt, men 17 personer var blevet overbevist af ideen bag ThinkSharp og fortsatte ideudviklingen.
Remote Link Toolbar
Det lykkedes de 17 personer at få formuleret et fælles projekt. Det skulle være muligt for en bruger at få adgang til sine private "foretrukne" links fra Internet Explorer, uanset hvilken maskine brugeren anvendte.
Ved at gemme foretrukne links på en central server, kunne brugeren logge ind på serveren fra en hvilken som helst maskine med Internet Explorer og få vist sine "foretrukne" links i en speciel udviklet toolbar.
Der er lavet en prototype for løsningen, hvor der anvendes en .Net-komponent i Internet Explorer, der kommunikerer med en webservice, der kører på en Gentoo Linux-server, hvor en Apache webserver og en MySQL-database er installeret.
- Vi gjorde det ikke nemt for os selv. Vi havde en del problemer med opsætning og konfigurering, da vi anvendte produkter, vi ikke havde så meget erfaring med. Dels var der Gentoo Linux, dels var der Apache-modulet mod_mono, der var nødvendigt for at køre webservices på Apache, siger Troels Richter.
Selve udviklingen foregik i C# ved hjælp af Microsofts Visual Studio eller SharpDevelop, der er et open source-udviklingsmiljø.
Hen over sommeren har ThinkSharp.dk ligget lidt stille, og Troels Richter mener, at der i dag er cirka ti aktive personer i projektet. Han
forventer dog, at der i løbet af efteråret vil blive startet andre projekter.
- Vi forventer at relancere thinksharp.dk i starten af november i år. Vi håber til den tid at have flere projekter klar, siger Troels Richter, der på den måde håber at være med til at skabe et frugtbart open source-miljø i Danmark.
boks:
.Net og Mono
Microsoft har overdraget en række af teknologierne, der udgør .Net-platformen, til standardiseringsorganisationen ECMA. Mono baserer implementeringen af .Net på de internationale standarder ECMA 334 (specifikation for C#) og ECMA 335 (Specifikation for Common Language Infrastructure (CLI)).
Mono 1.0 består af:
• C# 1.0-compiler.
• Gtk# 1.0 GUI toolkit.
• CLI Virtual Machine med class-loader, Just-In-Time (JIT)-kompiler og garbage collecting. Giver et .Net-kompatibelt runtime-miljø.
• Klasse-biblioteker. Klasse-bibliotekerne inkluderer
.Net-kompatible libraries som ASP.NET og ADO.NET.
• IKVM: Java Virtual Machine for .Net- og Mono-applikationer. Kan køre Java-applikationer på .Net runtime, ved at Java-bytecode oversættes til Common Intermediate Language (CIL). Kan også anvendes til at lade .Net-applikationer anvende Java-programmer.
• Visual Basic runtime.
Mono kan også køre på Windows-platformen.
links:
Links
ThinkSharp-projekt
http://www.thinksharp.dk
http://sharpdev.dk
Mono-projekt
http://www.mono-project.com
ECMA-standarder
http://www.ecma-international.org/
publications/standards/ Ecma-335.htm
http://www.ecma-international.org/
publications/standards/Ecma-334.htm
Billedtekst::Monos idemand, mexikaneren Miguel de Icaza, navngav sit projekt med det spanske ord for abe; Mono, fordi han godt kan lide aber.