O Proxecto Mono: GNU/Linux no entorno .NET

O Proxecto Mono foi fundado polo creador de Gnome para crear compatibilidade entre sistemas GNU/Linux e .NET, deste xeito por poñer un exemplo, poderíamos desenvolver unha aplicación en C# desde Ubuntu.

Mono foi impulsado pola empresa Novell (despois da adquisición de Ximian), onde traballa Miguel de Icaza, fundador de Gnome.

Principais características do proxecto:

  • Proxecto independente da plataforma, funciona en GNU/Linux, Windows, UNIX, Mac OS X, Solaris, OpenBSD e FreeBSD.
  • Linguaxes que usa: C#, Visual Basic, Java e Python.
  • Unha Infraestrutura de Linguaxe Común (CLI), un compilador en tempo de execución (JIT), bibliotecas de clases que traballen baixo o Common Language Runtime (CLR).
  • Respaldado por Microsoft
  • Creación de ferramentas compatibles con .NET segundo as normas ECMA.

Fontes:

https://es.wikipedia.org/wiki/Proyecto_Mono

http://www.monobrasil.com.br/docs/getting-started/mono-basics/

Introdución á plataforma .NET

.NET framework é o entorno de desenvolvemento de Microsoft para crear todo tipo de aplicacións baixo diferentes linguaxes, entre elas, as máis destacadas son: C#, F#, ou Visual Basic entre outras. Isto amosa as grandes posibilidades das que dispón hoxe en día plataforma .NET

As partes de .NET: CLR, CLS, CTS, BCL e CIL

Trataremos de facer un acercamento breve a estas siglas, noutro artigo ampliaremos o seu contido.

CLR (Common Language Runtime): trátase do entorno de execución de .NET, digamos que é o motor de todo o sistema .NET, necesitará doutras ferramentas para apoiarse nas especificacións e normas.

CLS (Common Language Specification): é a especificación que deben cumprir tódalas linguaxes de .NET para poder correr baixo a mesma plataforma. Para entendelo mellor, podemos crear unha clase en C# e recibir a herencia usando Visual Basic xa que o código compilado non pasa directamente a código executable, senón a un intermedio coñecido como IL.

CTS (Common Type System): define como son creados, administrados e usados os tipos (clases, estruturas…) en CLR.

BCL(Base Class Library): conxunto de librerías e API’s.

CIL (Common Intermedia Language): antes chamado Microsoft Intermediate Language ou MSIL, é unha linguaxe intermedia que usa a plataforma .NET(.exe e .dll)

.NET Framework, .NET Core e Xamarin

Diferencias entre .NET Core e .NET Standard

A plataforma esta divida en .NET Core e .NET Standard ou Framework, polo que debemos ter claro a que nos referimos, xa que aínda que ámbalas dúas veñen de .NET teñen usos diferentes.

.NET Framework ou Standard: permite crear aplicacións pensadas para correr baixo Windows. Podemos usar os Windows Forms ou WPF para aplicacións de escritorio e ASP.NET para a web.

.NET Core: é open source e multiplataforma e modular. Pensada para funcionar baixo GNU/Linux, Windows e Mac.

.NET en GNU/Linux: proxecto Mono

Mono\Ximian: Trátase da versión de .NET pensada para correr baixo plataformas GNU/Linux, deste xeito unha aplicación feita en C# pode correr nun sistema con Linux.

Fontes:

https://docs.microsoft.com/es-es/dotnet/framework/get-started/

https://es.wikipedia.org/wiki/Microsoft_.NET

https://www.campusmvp.es/recursos/post/que-es-la-plataforma-net-y-cuales-son-sus-principales-partes.aspx

https://www.it-swarm.dev/es/.net/clr-y-cli-cual-es-la-diferencia/958163772/

Imaxes:

https://es.wikipedia.org/wiki/Common_Language_Runtime

https://docs.microsoft.com/es-es/dotnet/standard/library-guidance/cross-platform-targeting