Mono

Mono
Tip de platformă informatică [d] șicadru
Autor Miguel de Icaza
Dezvoltator Xamarin , Ximian și Novell
Scris in C , C# [2] și XML
Sistem de operare Linux , Microsoft Windows și macOS
Prima editie 30 iunie 2004
ultima versiune 6.12.0.182 [1] (14 iunie 2022 ) ( 14.06.2022 )
Licență Licență GNU GPL 2 , GNU LGPL și X11
Site-ul web monoproject.com

Mono  este un proiect pentru a crea o implementare completă de software gratuită a .NET Framework . Principalul dezvoltator al proiectului Mono este Xamarin Corporation [3] , fosta Novell . Proiectul este condus de Miguel de Icaza , un dezvoltator renumit, fondator al proiectului GNOME . Implementări Mono există pentru următoarele sisteme de operare: Windows , Linux , BSD ( FreeBSD , OpenBSD , NetBSD ), Solaris , Mac OS X , Apple iOS , Wii [4] . Platforme acceptate: s390 , SPARC , PowerPC , x86 / x86-64 , IA-64 , ARM , Alpha , MIPS , HP PA [4] .

Compoziție și funcționalitate

Mono include un compilator C#  - dmcs [ 5] , un runtime .NET - mono (cu suport JIT ) și mint (fără suport JIT), un depanator și o serie de biblioteci, inclusiv implementarea WinForms , ADO.NET și ASP.NET , precum și compilatoarele smcs (pentru construirea de aplicații pentru Moonlight ) și vbc (pentru aplicațiile scrise în VB.NET ).

Proiectul dezvoltă, de asemenea, legături pentru biblioteca grafică GTK+ pentru platforma .NET.

Mono conține, de asemenea, o alternativă la structura aplicațiilor WPF ( XAML + C# sau orice alt limbaj care este acceptat în acest runtime). Acest limbaj se numește Glade și poate fi folosit pentru a construi aplicații GTK.

Mono poate executa module scrise în C# , F# , Visual Basic .NET , Java , Boo , Nemerle , Python , JavaScript , Erlang , SmallTalk , Lisp , PHP și Object Pascal (cu un compilator în mediul .Net/Mono). De asemenea, este de așteptat suport pentru C , Ada 2005 și Eiffel .

Probleme juridice

După ce Microsoft a încheiat un acord cu Novell [6] , platforma Mono a fost recunoscută oficial ca o implementare a .NET pe sisteme de operare asemănătoare Unix ( Linux , Mac OS X și altele). Cu toate acestea, acordul se aplică numai clienților Novell și Novell; de asemenea , tehnologiile ASP.NET , ADO.NET și Windows.Forms nu au fost standardizate de ECMA/ISO și utilizarea lor în Mono este sub amenințarea pretențiilor legale din partea Microsoft (revendicările sunt posibile numai în țările în care există brevete software [7] ) . Mono oferă implementări ale ASP.NET, ADO.NET și Windows.Forms, dar, în același timp, recomandă împotriva utilizării acestor API-uri. [7]

Licența pentru compilator și pentru alte programe acceptate în proiect este GNU GPL . Runtime și alte biblioteci sunt licențiate sub GNU LGPL . Licența bibliotecii de clasă este MIT .

Microsoft a anunțat că standardele C# (ECMA 334) și cadrele CLI (ECMA 335) sunt acum supuse documentului Community Promise, care declară oficial că nu există brevete sau alte revendicări pentru dezvoltări standardizate în acest fel. Mișcarea înlătură numeroasele controverse din jurul platformei Mono, care este de fapt o implementare open source a acestor standarde și îi conferă imunitate în cazul în care problema brevetului este ridicată din nou.

Această declarație a fost făcută de Peter Galli, Senior Communications Manager, Platform Strategy Department, ca răspuns la întrebările recente ale lui Miguel de Icaza cu privire la acordarea de licențe pentru standardele ECMA 334 și 335. Se spune, parțial, că, făcând o promisiune comunității, Microsoft renunță în mod voluntar la urmărirea penală a persoanelor juridice și persoanelor fizice care produc, folosesc, distribuie, fac publicitate, vând orice implementări specificate în brevete, indiferent de modelul lor de dezvoltare și distribuție, inclusiv modele de dezvoltare deschise, cum ar fi LGPL și GPL.

În același timp, problema implementării tehnologiilor care nu sunt menționate în Promisiunea Comunității rămâne deschisă. În acest sens, vicepreședintele Novell Miguel de Icaza a anunțat că de acum înainte, proiectul Mono va fi împărțit în două ramuri:

Programe mono

Vezi și

Note

  1. mono-6.12.0.182 .
  2. Proiectul mono Open Source pe Open Hub: Pagina de limbi - 2006.
  3. Xamarin - Creați aplicații multiplatforme pentru iOS, Android și Mac cu C# și .NET . Data accesului: 19 iulie 2011. Arhivat din original la 18 iulie 2011.
  4. 12 Platforme acceptate - Mono . Consultat la 2 februarie 2012. Arhivat din original pe 3 februarie 2012.
  5. Înainte de versiunea 2.0 - mcs; până la versiunea 4.0 - gmcs
  6. Microsoft și SUSE reînnoiesc un acord de interoperabilitate de succes . Preluat la 20 mai 2012. Arhivat din original la 11 mai 2012.
  7. 1 2 Întrebări frecvente: Licențiere - Mono . Consultat la 17 aprilie 2011. Arhivat din original pe 9 iunie 2011.
  8. Este Unity Engine scris în Mono/C#? sau C++ - Unity Answers (link indisponibil) (9 iulie 2014). Consultat la 28 aprilie 2018. Arhivat din original pe 9 iulie 2014. 

Link -uri