NET

Cuando conoces el sistema operativo preferido de un desarrollador de software, a menudo puedes adivinar qué lenguaje (s) de programación usan. Si usan Windows, la lista de lenguajes incluye C #, JavaScript y TypeScript. Algunos desarrolladores heredados pueden estar usando Visual Basic, y los codificadores de última generación están incursionando en F #. Aunque puedes usar Windows para desarrollar en casi cualquier lenguaje, la mayoría se atiene a lo habitual.

Si usan Linux, obtienes una lista de proyectos de código abierto: Go, Python, Ruby, Rails, Grails, Node.js, Haskell, Elixir, etc. Parece que a medida que se presenta cada idioma nuevo, Linux recoge un nuevo conjunto de desarrolladores.

Ante esta situación, ya es hora de que los desarrolladores de Linux se sientan cómodos con .NET Core y comiencen a experimentar, tal vez incluso creando aplicaciones de producción.  Prepárate: .NET está por llegar.

Cómo instalar .NET Core en Linux

La lista de distribuciones de Linux en la que puede ejecutar .NET Core incluye Red Hat Enterprise Linux (RHEL), Ubuntu, Debian, Fedora, CentOS, Oracle y SUSE.

Cada distribución tiene sus propias instrucciones de instalación. Por ejemplo, considera Fedora 26:

Paso 1: agregua el feed del producto dotnet.

sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc
sudo sh -c 'echo
 -e "[packages-microsoft-com-prod]\nname=packages-microsoft-com-prod 
\nbaseurl=https://packages.microsoft.com/yumrepos/microsoft-rhel7.3-prod\nenabled=1\ngpgcheck=1\ngpgkey=https://packages.microsoft.com/keys/microsoft.asc"
 > /etc/yum.repos.d/dotnetdev.repo'

Paso 2: Instala .NET Core SDK.

        sudo dnf update

        sudo dnf install libunwind libicu compat-openssl10

        sudo dnf install dotnet-sdk-2.0.0

Creando la aplicación de la consola Hello World

Ahora que tienes .NET Core instalado, puedes crear la omnipresente aplicación de consola “Hello World” antes de obtener más información sobre .NET Core. Después de todo, eres un desarrollador: quieres crear y ejecutar algunos códigos ahora. Lo suficientemente justo; esto es facil. Crea un directorio, muévete hacia él, crea el código y ejecútalo:

mkdir helloworld && cd helloworld
dotnet nueva consola
dotnet run

Verás el siguiente resultado:

$ dotnet run
Hola Mundo!

¿Qué es lo que acaba de suceder?

Tomemos lo que acaba de pasar y desglosémoslo. Sabemos que hicimos mkdircd, ¿pero después de eso?

Nueva consola dotnet

Como sin duda has adivinado, esto creó el “¡Hola mundo!”, una aplicación de consola. Las cosas clave a tener en cuenta son: El nombre del proyecto coincide con el nombre del directorio (es decir, “helloworld“); el código fue construido usando una plantilla (aplicación de consola); y las dependencias del proyecto se recuperaron automáticamente mediante el comando dotnet restore, que se extrae de nuget.org.

Si ves el directorio, verás que se crearon estos archivos:

Program.cs
helloworld.csproj

Program.cs es el código de la aplicación de la consola C #. Ve y echa un vistazo al interior (ya lo hiciste … lo sé … porque eres un desarrollador), y verás lo que está pasando. Todo es muy simple.

Helloworld.csproj es el archivo de proyecto compatible con MSBuild. En este caso, no hay mucho para eso. Cuando creas un servicio web o un sitio web, el archivo del proyecto adquirirá un nuevo nivel de importancia.

dotnet run

Este comando hizo dos cosas: construyó el código y ejecutó el código recién construido. Siempre que invoques la ejecución de dotnet, verificará si el archivo * .csproj ha sido alterado y ejecutará el comando de restauración de dotnet. También verificará si algún código fuente ha sido alterado y ejecutará, detrás de escena, el comando dotnet build que, como habrás adivinado, construye el ejecutable. Finalmente, ejecutará el ejecutable.

¿Dónde está mi ejecutable?

Oh, está justo allí. Simplemente ejecuta  which dotnet y verás (en RHEL):

/opt/rh/rh-dotnet20 /root/usr/bin/dotnet

Ese es tu ejecutable.

Cuando creas una aplicación dotnet, estás creando un ensamblado … una biblioteca … sí, estás creando una DLL. Si deseas ver qué se crea mediante el comando dotnet build, echa un vistazo a bin/Debug /netcoreapp2.0/. Verás helloworld.dll, algunos archivos de configuración JSON y un archivo helloworld.pdb (depuración de la base de datos). Puedes ver los archivos JSON para tener una idea de lo que hacen (ya lo hiciste … Lo sé … porque eres un desarrollador).

Cuando ejecuta dotnet run, el proceso que se ejecuta es dotnet. Ese proceso, a su vez, invoca su archivo DLL y se convierte en su aplicación.

Es portátil

Aquí es donde .NET Core realmente comienza a partir de .NET Framework solo para Windows: la DLL que acaba de crear se ejecutará en cualquier sistema que tenga .NET Core instalado, ya sea Linux, Windows o MacOS. Es portátil. De hecho, se llama literalmente una “aplicación portátil”.

Solo para siempre

¿Qué sucede si deseas distribuir una aplicación y no deseas solicitarle al usuario que instale .NET Core en su máquina? (Pedir eso es algo grosero, ¿no?) Una vez más, .NET Core tiene la respuesta: la aplicación independiente.

Crear una aplicación independiente significa que puedes distribuir la aplicación a cualquier sistema y se ejecutará, sin la necesidad de tener .NET Core instalado. Esto significa una instalación más rápida y fácil. También significa que puedes tener múltiples aplicaciones ejecutando versiones diferentes de .NET Core en el mismo sistema. También parece que sería útil para, por ejemplo, ejecutar un microservicio dentro de un contenedor Linux. Hmmm …
¿Cuál es el truco?

De acuerdo, hay una trampa. Por ahora. Cuando crea una aplicación independiente con el comando dotnet publish, su DLL se coloca en el directorio de destino junto con todos los bits .NET necesarios para ejecutar su DLL. Es decir, puede ver 50 archivos en el directorio. Esto va a cambiar pronto. Una iniciativa que ya se está ejecutando en el laboratorio, .NET Native, pronto se presentará con una versión futura de .NET Core. Esto construirá un ejecutable con todos los bits incluidos. Es como cuando compilas en el lenguaje Go, donde especificas la plataforma objetivo y obtienes un ejecutable; .NET hará eso también.

Necesitas construir una vez para cada objetivo, lo cual solo tiene sentido. Simplemente incluye un identificador de tiempo de ejecución y crea el código, como este ejemplo, que crea la versión de lanzamiento para RHEL 7.x en un procesador de 64 bits:

dotnet publish -c Release -r rhel.7-x64

Servicios web, sitios web y más

Se incluye mucho más con las plantillas .NET Core, incluido el soporte para F # y Visual Basic. Para obtener una lista de inicio de plantillas disponibles integradas en .NET Core, usa el comando dotnet new –help.

Sugerencia: las plantillas .NET Core pueden ser creadas por terceros. Para tener una idea de algunas de estas plantillas de terceros, revisa estas plantillas, luego deja que tu mente empiece a vagar …

Al igual que la mayoría de las utilidades de línea de comandos, la ayuda contextual está siempre disponible al usar el modificador de comando –help. Ahora que ha sido presentado a .NET Core en Linux, la función de ayuda y un buen motor de búsqueda en la web son todo lo que necesita para comenzar a trabajar.

 

Fuente: Original | maslinux

¿Quién está en línea?

Hay 37607 invitados y ningún miembro en línea