Monkey Project

Bue
Generell informasjon
programtype Programmeringsspråk
Forfatter Miguel de Icaza Amozorrutia
utvikler Xamarin
Første utgivelse 30. juni 2004
Tillatelse GPL , LGPL og MIT
Teknisk informasjon
Planlagt inn
Versjoner
Siste stabile versjon 6.8.0 (15. januar 2020 (2 år, 9 måneder og 2 dager))
Siste versjon i tester 6.12.0.1844. august 2022
Lenker
Offesiell nettside kodelager feilsporing

Mono er navnet på et åpen kildekode-prosjekt startet av Ximian støttet av Microsoft og for tiden drevet av Novell (etter Ximians oppkjøp) for å lage en gruppe gratis, GNU/Linux- baserte, .NET - kompatible verktøy som spesifisert av ECMA .

Mono har viktige komponenter som er nyttige for utvikling av programvare :

Det er et lignende prosjekt, kalt Portable.NET , som er en del av dotGNU- prosjektet .

Historikk

Så snart Microsoft publiserte dokumentene som spesifiserte .NET -arkitekturen i desember 2000, ble Miguel de Icaza (medgründer av Ximian-selskapet og GNOME Foundation ) interessert i dem.

GNOME hadde alltid forsøkt å gjøre programmereren enkel, og en av de mest kjente funksjonene er at det er mange bindinger for å kunne bruke hvilket som helst programmeringsspråk for å utvikle applikasjoner. Men utarbeidelsen av disse bindingene var enormt arbeidskrevende, og hver gang det ble gjort en endring i det originale grensesnittet, var det nødvendig å endre hver og en av bindingene.

For å prøve å forbedre og lette gjenbruk av kode, ble det laget en komponentimplementering, kalt Bonobo , ved bruk av CORBA . Men det har heller ikke vært vellykket, siden det var nødvendig for all programvare å bruke den funksjonen, og det var ikke tilfelle. Derfor åpnes en ny dør med .NET for å gjøre GNOME til et bedre og mer attraktivt skrivebord for både brukere og utviklere i fremtiden. Med denne teknologien oppnås endelig det GNOME -prosjektet alltid hadde søkt: språkuavhengighet for programmering på skrivebordet.

Miguel de Icaza , etter å ha analysert byte - kodetolken , advarer om at det ikke er noen spesifikasjoner. I februar 2001 begynte han å søke etter slik informasjon på .NET -e- postlistene og samtidig begynte han å jobbe med en C# -kompilator i samarbeid med Rhys Weatherley og Jay Freeman, det samme ble programmert i C# som en øvelse for å demonstrere kraften hans . .

I april 2001 publiserer ECMA det manglende filformatet og på GUADEC (6.-8. april 2001) demonstrerer Icaza kompilatorens evner. Etter en grundig analyse, hvor det tydelig konkluderes med at det er mulig å bygge denne teknologien, tildeler Ximian menneskelige ressurser fra andre prosjekter og oppretter Mono-teamet. [ 2 ] I håp om å ha et verktøy som ville være en fullstendig erstatning for .NET -teknologi , dannet de The Mono Open Source Project , som ble annonsert i juli 2001 på O'Reilly-konferansen.

Det tok 3 år før 30. juni 2004 Mono 1.0 endelig ble utgitt.

Komponenter

Klassebiblioteker

Klassebiblioteker tilbyr et sett med fasiliteter som hjelper applikasjonsutvikling. De er primært skrevet i C# , men takket være Common Language Specification ( CLS ), kan de påberopes på et hvilket som helst annet .NET -språk . Klassebiblioteker er strukturert i navnerom (navnerom) og settes i produksjon i delte biblioteker kalt assemblies eller assemblies . Når vi snakker om .NET -rammeverket , refererer vi først og fremst til klassebibliotekene.[JAC]

Navneområder og sammenstillinger

Navnerom er en mekanisme som gjør at lignende klasser kan grupperes logisk i en hierarkisk struktur, og dermed unngå navnekonflikter. Strukturen er implementert ved hjelp av ord atskilt med prikker. For eksempel System.IO eller System.Net gruppeklasser for henholdsvis filtilgang og nettverkskommunikasjon.

Forsamlinger er den fysiske pakken av klassebiblioteker. De er filer med filtypen .dll, som Windows-biblioteker. Eksempler på biblioteker er mscorlib.dll, System.dll, System.Data.dll.

Navneområder består vanligvis av mange sammenstillinger , og en sammenstilling kan bestå av flere filer.

Common Infrastructure Language (CLR)

Common Infrastructure Language eller mer ofte kalt Common Language Runtime ( CLR ) implementeres av Mono-kjørbaren. Kjøretiden brukes til å kjøre applikasjoner kompilert i .NET . Dette vanlige infrastrukturspråket er definert i ECMA- og ECMA-335- standardene . For å kjøre en applikasjon, må kjøretiden startes med de riktige parameterne.

Common Language Specification (CLS)

Den er spesifisert i ECMA-335- standarden og definerer grensesnittet med CLR . For eksempel konvensjoner om datatypen som skal brukes til å implementere opptellinger. Mono-kompilatoren genererer et bilde som er i samsvar med CLS , dette bildet er kodet i det såkalte Common Intermediate Language ( CIL ) eller Common Intermediate Language . Mono runtime tar bildet og kjører det .

Mono og Microsoft-patenter

Monos implementering av de .NET-komponentene som ikke er sendt inn til ECMA for standardisering, har reist noen bekymringer om mulig brudd på programvarepatenter i løpet av prosjektets levetid. Spesielt utviklet diskusjonen seg om hvorvidt Microsoft kunne ødelegge monoprosjektet gjennom søksmål om krenkede patenter.

Det er for tiden en livlig debatt om (u)rådeligheten av å akseptere og bruke Mono i GNU/Linux- utviklerfellesskapet . Hovedargumentene mot Mono er:

På den annen side utvikler Gnome-prosjektet et alternativt språk, Vala , laget spesielt for å utvikle applikasjoner for Gnome, men fri for potensielle Microsoft-trusler.

Se også

Eksterne lenker

Planeter

Referanser

  1. Visual Basic.NET-støtte i Mono.
  2. "[Mono-liste] Mono tidlig historie." . 13. oktober 2003. Arkivert fra originalen 6. juni 2011. 
  3. Nickell, Seth (19. mai 2004). "Hvorfor Mono for øyeblikket er en uakseptabel risiko " . Hentet 9. april 2014 .