Mono (ohjelmisto)

Mono yksinkertaistettu arkkitehtuuri Tiedot
Luoja Miguel de Icaza
Kehittäjä Xamarin , Ximian ja Novell
Ensimmäinen versio 30. kesäkuuta 2004
Viimeinen versio 6.12.0 (30. heinäkuuta 2020)
Tallettaa github.com/mono/mono
Kirjoitettu C , C # ja laajennettava merkintäkieli
Käyttöjärjestelmä Linux , Microsoft Windows ja macOS
Tyyppi Framework IT platform
Lisenssi GNU General Public License Version 2 , GNU Lesser General Public License ja X11 License ( d )
Verkkosivusto www.mono-project.com

Mono on avoimen lähdekoodin toteutus (lisensoitu tuotteista GNU GPL , GNU LGPL tai X11 tuotteesta riippuen) Microsoft .NET CLI -pohjaiseen kehitysympäristöön .

Monon aloitti Miguel de Icaza Ximian- yrityksessään, jonka Novell osti vuonna 2003 . Sen jälkeen, kun Attachmate osti Novellin vuonna 2011, Mono siirtyi tilaisuuteen perustetulle yritykselle: Xamarin .

Esitys

Mono on täydellinen kehitysalusta perustuu toteuttamisesta .NET koodin suorittamisen ympäristö ja ytimen API määritellään ECMA (myös ISO standardit ). Mono tukee tällä hetkellä Microsoftin .NET-kehyksen versiota 4.0.

Mono tarjoaa muun muassa:

Vertailu Java-alustaan

Usein Java- alustaan ​​verrattuna tällä alustalla on monia teknisiä näkökohtia, kuten välikielen käyttö (IL for Intermediate Language , vastaa Java- tavukoodia ), verkkosovellustuki , siirrettävyys ja laajennettu API.

Mono erottuu kuitenkin Oraclen ratkaisusta  :

Alusta on suunniteltu käännetyille ja olio-orientoiduille kielille. IronPythonin toteutus on kuitenkin osoittanut, että samanlainen suorituskyky on mahdollista saavuttaa historiallisesti tulkitulla kielellä. Alusta voidaan myös liittää muihin perinteisellä tavalla koottuihin kieliin, kuten C-kieleen.

Monon komponentit

Mono koostuu neljästä komponenttiryhmästä:

  1. pääosat;
  2. Mono / Linux / GNOME-kehityskerros;
  3. Microsoft-yhteensopivuustaso;
  4. työkalut.

Pääkomponentit ovat C # kääntäjä, virtuaalikoneen, ja perustaa luokan kirjastoja. Nämä komponentit on rakennettu Ecma-334- ja Ecma-335-standardien mukaisesti, jolloin Mono voi tarjota standardien mukaisen, ilmaisen ja avoimen komentorivin virtuaalikoneen.

Mono / Linux / GNOME yhteensopivuuskerros tarjoaa työkalut sovellusten kehittämiseen täydentämällä nykyisiä GNOME ja muut vapaa kirjastot . Tämä kerros sisältää: Gtk # varten graafisen käyttöliittymän kehittämiseen , kirjastot vuorovaikutuksessa Mozillan Gecko , Unix integraatio kirjastot, tietokantayhteyden kirjastot, turvallisuus kerros ja RelaxNG XML: skeema . Gtk # antaa Mono-sovellusten integroitua luonnollisesti GNOME-työpöytäympäristöön. Tietokantayhteyskirjastot mahdollistavat vuorovaikutuksen MySQL: n , SQLiten , PostgreSQL: n , Firebirdin , Open Database Connectivity (ODBC), Microsoft SQL Server (MSSQL), Oracle , db4o ja monien muiden kanssa. Mono-projekti seuraa tietokantayhteyksien komponenttien kehitystä verkkosivuillaan.

Microsoft yhteensopivuuskerros tarjoaa tavan helposti porttiin Windows .NET sovelluksia GNU / Linux. Tähän ryhmään komponentteja kuuluvat muun muassa ADO.NET , ASP.NET ja Windows.Forms . Koska nämä komponentit eivät kuulu ECMA-standardien piiriin, niihin sovelletaan edelleen Microsoftin hallussa olevia patentteja ja lisenssejä.

Työkalut koota tarvittavat työkalut kehittämiseen NET-sovellukset käyttävät muuta kuin Windows. Tämä sisältää MonoDevelop IDE : n sekä sen komponentit, kuten virheenkorjauksen .

Seuraavassa kaaviossa esitetään yhteenveto tilanteesta hankkeen suhteen .NET Framework sekä erottamiset eri osien ja niiden saatavuus tärkeimmistä käyttöjärjestelmissä  :

Mono-projektin rakenne ja vertailu Microsoft .NET: ään

Lisenssi

Monoa jaetaan Novellin kaksoislisenssillä , kuten muita tuotteita, kuten Mozilla Suite . Monon C #-kääntäjä ja työkalut jaetaan GNU GPL -lisenssillä (vain v2; alkaen Mono-versiosta 2.0 C-kääntäjän lähdekoodi on saatavana myös MIT X11 -lisenssillä ). Ajonaikaiset kirjastot julkaistaan GNU LGPL -lisenssillä (vain v2) ja luokan kirjastot MIT-lisenssillä . Kaikki nämä lisenssit ovat ilmaisia ​​ja avoimen lähdekoodin, mikä tekee Mono-projektista ilmaisen ja avoimen lähdekoodin projektin.

Mono- ja Microsoft-patentit

.NET- komponenttien siirtäminen Monoon, joita ei ole toimitettu ECMA : lle standardoimiseksi, oli alusta alkaen huolenaihe ohjelmistopatenttirikkomuksista. Erityisesti on keskusteltu mahdollisuudesta, että Microsoft voisi tuhota Project Monon patenttirikkomusoikeudenkäynneillä.

ECMA: lle toimitetut Monon taustalla olevat tekniikat eivät ole ongelmallisia. Tähän sisältyy myös Mono / Linux / GNOME-yhteensopivuuskerros, joka ei käytä tekniikoita, jotka saattavat olla Microsoftin patenttien kattamia. Joten nämä huolenaiheet eivät vaikuta GNU-projektin C #: ään , kirjastoihin ja muihin ohjelmistokerroksiin.

Se on kuitenkin erilainen Microsoftin yhteensopivuuskerroksessa, joka koskee .NET- kehyksen muodostavia tekniikoita . Näitä ovat muun muassa ASP.NET, ADO.NET, .NET 3.0 -kehyksen (Windows Communication Foundation) ja Windows.Forms-viestintäkerros. Näitä tekniikoita ei ole vielä täysin toteutettu Monossa; Richard Stallman sanoi, että Monon käyttö voi olla "vaarallista", koska Microsoft voi rikkoa patentteja. Mono-sovellusten ohjelmoinnissa ei kuitenkaan vaadita mahdollisesti ongelmallisten komponenttien käyttöä.

Novellin ja Microsoftin välinen sopimus

Microsoft ja Novell ilmoittivat 2. marraskuuta 2006sopimuksen allekirjoittaminen, jossa Microsoft sitoutuu olemaan haastamatta Novellia tai heidän asiakkaitaan ohjelmistopatenttien loukkauksista. Monon kehitysjohtaja Miguel de Icazan mukaan tämä sopimus vaikuttaa Mono-projektiin, mutta vain Novell-kehittäjille ja heidän asiakkailleen. Vapaiden ohjelmistojen liikkeessä monet ovat kritisoineet tätä, koska se rikkoo vapaiden ohjelmistojen määrittelemän tietyn ohjelman kaikkien käyttäjien välisten yhtäläisten oikeuksien periaatteita.

Monoa käyttävät projektit

Huomautuksia ja viitteitä

  1. "  https://github.com/mono/mono/releases/tag/mono-6.12.0.90  " (käytetty 6. marraskuuta 2020 )
  2. (in) Mono C # -kääntäjä MIT X11 -lisenssillä , Novell Inc., 8. huhtikuuta 2008.
  3. (in) Stallman, Richard, Transcript Richard Stallman vapaasta -liikettä , Free Software Foundation 9. maaliskuuta, 2006
  4. (in) Microsoft ja Novell Ilmoita Broad Collaboration Windows- ja Linux yhteentoimivuutta ja tuki SUSE , Novell Inc. 2. marraskuuta, 2006
  5. (in) Lausunto Mono-projektin johtajan Miguel de Icazan blogissa Monon patenttisuojasta , 4. marraskuuta 2006
  6. (in) Vapaiden ohjelmistojen määritelmä
  7. (in) "Microsoftin ja Novellin yhteistyö, seuraa" , selitykset Miguel de Icazalle .
  8. (in) David Sugarin (Free Software Magazine) artikkeli: "Vapaudesta orjuuteen; kahden distron viikko" .

Katso myös

Aiheeseen liittyvät artikkelit

Ulkoiset linkit