¿Es C# realmente un lenguaje multiplataforma, o tiene serias limitaciones?

 

Muy bien voy a hablarte desde la experiencia que tengo desarrollando.

C# es un lenguaje concebido para Microsoft Windows y por supuesto en su sistema operativo, corre de maravilla, todo lo que necesitas para hacer aplicaciones de todo tipo, web de escritorio y móviles esta incluido en el .NET framework.

Microsoft está haciendo un trabajo gigantesco con .NET Core para que sus herramientas y lenguajes sean multiplataforma.


En MacOS ya tenemos el IDE Visual Studio, y es muy potente contrario a lo que se podría creer. Sin problemas puedes crear una aplicación web en una máquina Windows y después seguir su desarrollo en una Mac, aunque se pueden presentar algunos problemas con ciertas librerías, con el framework .NET tradicional. Si lo haces en Core no debería de presentarse ningún problema. En MacOS también se pueden desarrollar aplicaciones de consola usando .NET, y aplicaciones móviles usando Xamarin. Pero las aplicaciones de escritorio no, ya que estás hacen target a Windows.

Te dejo una captura de una aplicación de consola que estoy desarrollando en Visual Studio for Mac.

Ahora, en Linux para el desarrollo existe la plataforma MONO, pero no es el equivalente de un Visual Studio, ignoro si se puedan desarrollar todo tipo de aplicaciones, pero el entorno está pensado para el .NET Framework tradicional.

Para el desarrollo en .NET Core se utilizan otro tipo de herramientas y procedimientos.


¿Qué concluimos de esto? Que el lenguaje C# tiene un gran alcance y es compilado por los tres sistemas operativos, con el uso de ciertas librerías, así que las limitaciones existen, mejor dicho, en los entornos de desarrollos proveídos, mientras no se tengan las bastas herramientas que existen en Windows y la capacidad de despliegue que tenemos usando IIS en server Windows también, en otras plataformas, el uso del lenguaje seguirá siendo mayor en su plataforma nativa. Microsoft está trabajando para resolver esto, como ya se menciono, con eL Framework .NET Core.

Deja un comentario