Mono (proiect)
Mono limbaj de programare | |
---|---|
Autor | Xamarin |
Data de origine | 30 iunie 2004 |
Ultima versiune | 5.0.1 |
Utilizare | limbaj de uz general |
Paradigme | programare orientată obiect |
Tastare | puternic |
Extensii comune | .exe |
Influențată de | .NET |
Implementare referință | |
Implementare | limbaj interpretat |
Sistem de operare | multiplataforma |
Licență | GNU GPL v2 , GNU Lesser General Public License și licență X11 |
Site-ul web | www.mono-project.com/ |
Mono este un proiect open source coordonat de .NET Foundation [1] (anterior de Xamarin , Novell și inițial de Ximian ) pentru a crea un set de instrumente compatibile cu .NET Framework , conform standardelor ECMA ( Ecma-334 și Ecma- 335 ).
Cele mai importante dintre aceste instrumente sunt compilatorul C # și timpul de rulare comun .
Mono este compatibil cu următoarele sisteme de operare [2] :
- Linux
- Mac OS X , iOS , tvOS , watchOS
- Sun Solaris
- BSD - OpenBSD , FreeBSD , NetBSD
- Microsoft Windows
- Nintendo Wii
- Sony PlayStation 3
- Sony PlayStation 4
În timp ce Microsoft a pus la dispoziție o versiune de .NET pentru FreeBSD numită Shared source CLI , licența Microsoft nu este software gratuit și poate fi insuficientă pentru nevoile utilizatorilor (în special, interzice în mod explicit utilizarea comercială). Pentru aceasta și, de asemenea, pentru a limita difuzia C # și a bibliotecilor Mono aferente în mediul Linux, a fost creat limbajul Vala .
Mașina virtuală a lui Mono conține un motor JIT pentru diverse procesoare: x86 , SPARC , PowerPC , ARM , s390 (în modul 32-bit) și SPARC x86-64 și 64-bit. VM poate efectua o compilare just-in-time sau poate precompila codul în cod nativ. Pentru alte arhitecturi hardware există un singur interpret.
Un proiect similar este DotGNU Portable.NET .
Istorie
În 2000, compania Ximian , fondată și condusă de Miguel de Icaza , specializată în software open source, a intenționat să construiască instrumente de dezvoltare software care să crească productivitatea dezvoltării software multiplataforme. De îndată ce Microsoft a introdus .NET Framework, Ximian s-a interesat de acesta și, la 19 iulie 2001 , a anunțat proiectul open source Mono la conferința O'Reilly .
Aproape trei ani mai târziu, versiunea 1.0 a fost lansată pe 30 iunie 2004 .
La LinuxWorld 2006 , în Boston , Mono a câștigat premiul pentru cea mai bună platformă de dezvoltare.
Brevetele Mono și Microsoft
După nașterea proiectului Mono, au avut loc numeroase discuții cu privire la faptul dacă Microsoft ar putea compromite continuarea sa prin brevete. Echipa Mono a recunoscut acest risc și a pus în aplicare strategii pentru a-l evita, așa cum se menționează în întrebările frecvente :
- „Cadrul .NET este împărțit în două părți: tehnologiile acoperite de ECMA / ISO și celelalte tehnologii dezvoltate deasupra acestora, cum ar fi ADO.NET, ASP.NET și Windows.Forms. Mono implementează părțile ECMA / ISO, acesta fiind un proiect care permite implementarea blocurilor la niveluri superioare precum ASP.NET, ADO.NET și Windows.Forms "
- Elementele controversate sunt subseturile ADO.NET, ASP.NET și Windows.Forms. Acestea sunt convenabile pentru cei care au nevoie de compatibilitate deplină cu platforma Windows, dar nu sunt necesare pentru platforma open source Mono, precum și integrarea cu suportul Linux foarte bun actual. Strategia lui Mono cu privire la aceste tehnologii este următoarea: (1) eludează brevetele utilizând diferite tehnici de implementare care păstrează API-ul, dar schimbă mecanismele. Dacă acest lucru nu este posibil, am dori (2) să eliminăm părțile codului acoperite de brevete, precum și (3) să găsim precedente care ar putea face inutile brevetele " [3]
Cu toate acestea, Microsoft a anunțat că nu va urmări în mod legal implementările open source ale .NET Framework, inclusiv Mono [4] . Intențiile Microsoft s-au reflectat ulterior în faptul că a devenit sponsor al proiectului Mono [5] .
Proiecte asociate
Au fost create numeroase proiecte pentru a permite dezvoltatorilor să utilizeze Mono în mediul lor de dezvoltare:
- Gtk # sunt legături pentru a utiliza cadrul Mono în cadrul bibliotecilor GTK + .
- gecko # sunt legături pentru inserarea motorului de aspect utilizat în Mozilla ( Gecko ) în aplicații.
- Tao , o colecție de legături pentru grafică și jocuri
Software dezvoltat cu Mono
Următoarele programe utilizează API-urile Mono și C #:
- Banshee este un program de gestionare și redare a muzicii pentru GNOME
- Beagle este un instrument de căutare pe desktop .
- Bless Arhivat 1 noiembrie 2005 la Internet Archive . este un editor hexagonal .
- CDCollect este o aplicație de catalogare a CD-urilor .
- F-Spot este un program de gestionare a fotografiilor dezvoltat de Novell .
- Galaxium este un program de mesagerie instant pentru MSN .
- GLyrics este un program pentru găsirea versurilor muzicale.
- Gbrainy este un joc.
- Gnome Do este un lansator Linux (similar cu Quicksilver ).
- iFolder 3 (de la Novell) permite partajarea fișierelor pe mai multe computere și cu alți utilizatori prin peer-to-peer sau servere de grup Novell.
- planet este un agregator de știri și flux RSS care este bun pentru a citi fluxuri precum Planet Gnome, printre altele.
- MonoDevelop este un IDE pentru construirea aplicațiilor Mono. A fost inițial un port SharpDevelop pentru Gtk #, dar astăzi este dezvoltat independent.
- Muine este un player de muzică cu o interfață de utilizator concepută pentru a fi intuitivă, dezvoltat de Jorn Baayen care a colaborat deja la dezvoltarea Rhythmbox .
- Second Life , lumea virtuală creată de Linden Lab , se spune că se mută de la utilizarea Linden Scripting Language (LSL) la Mono în viitorul apropiat.
- SkyNET este o hartă stelară .
- Smuxi este un client IRC pentru utilizatorii avansați, scris cu Gtk # / Gnome #, SmartIrc4net și Nini .
- Tomboy este o aplicație de adnotare pentru desktop care utilizează un sistem de legare asemănător Wiki .
- Virtuoso Universal Server , de la OpenLink Software , este un mediu multiplataforma pentru Mono / .NET / C #, JSP , Perl , Python , PHP și alte medii de rulare.
Versiuni
Următoarele sunt prima și ultima versiune stabilă pentru fiecare lansare care au avut loc în timp [6] :
Versiune | Data de lansare |
---|---|
Mono 5.X | |
5.0.1 | 23 mai 2017 |
5.0.0 | 10 mai 2017 |
Mono 4.X | |
4.8.1 | 11 aprilie 2017 |
4.0.0 | 29 aprilie 2015 |
Mono 3.X | |
3.12.1 | 7 martie 2015 |
3.0.0 | 19 octombrie 2012 |
Mono 2.X | |
2.10.9 | 7 februarie 2012 |
2.0.0 | 1 octombrie 2008 |
Mono 1.X | |
1.9.1 | 15 aprilie 2008 |
1.0.0 | 30 iunie 2004 |
Notă
- ^ (EN) .NET Foundation MONO [ link rupt ] , pe dotnetfoundation.org . Adus la 18 iunie 2017 .
- ^ (RO) Platforme acceptate MONO , pe mono-project.com. Adus la 18 iunie 2017 .
- ^ Întrebări frecvente http://www.mono-project.com/FAQ:_Licensing#Patents FAQ .
- ^ PI: Microsoft nu va purta război cu Linux
- ^(EN) Mono Project - Acasă
- ^ (EN) Release MONO , pe mono-project.com. Adus la 18 iunie 2017 .
Elemente conexe
linkuri externe
- Lista de corespondență italiană , pe freelists.org .
- ( EN ) Mono site-ul oficial
- (RO) Mono Community , pe gotmono.com.
- (RO) O scurtă istorie a Mono pe lists.ximian.com. Adus la 12 noiembrie 2005 (arhivat din original la 6 iunie 2011) .
- (RO) Blogul dezvoltatorilor Mono , pe go-mono.com.
- (EN) Mono Forum pe nabble.com. Adus la 12 noiembrie 2005 (arhivat din original la 24 iunie 2006) .
- ( EN ) Ximian Forum , pe nabble.com . Adus la 12 noiembrie 2005 (arhivat din original la 11 aprilie 2006) .
- ( EN ) Mono Live LiveCD , pe mono-live.org . Adus la 12 noiembrie 2005 (arhivat din original la 9 aprilie 2020) .
- (EN) Monoppix , pe monoppix.com.