Con NPM y Dotnet CLI podemos compilar, ejecutar y desplegar proyectos sin depender de un IDE (interfaz de desarrollo como visual code). También, nos permite ser completamente transversales a la plataforma en la que estemos programando (Windows, Linux, MacOS), ya que estos no cambian en lo absoluto, incluso si usamos contenedores.
¿Qué es NPM?
NPM es el sistema de paquetes por defecto para Node.js, por lo que está orientado a proyectos JavaScript tanto frontend como backend, es simple y completamente Open-source y también tiene una versión pro para el manejo de paquetes privados.
¿Qué es CLI?
Dotnet CLI es un conjunto de comandos que vienen incluidos en el dotnet SDK y que nos permiten compilar, ejecutar, desplegar e instalar paquetes en aplicaciones .NET, también es completamente open source y multiplataforma y utiliza el sistema de paquetes nuget (https://www.nuget.org).
NPM vs Dotnet
En este artículo les mostraré una comparativa entre características de ambas herramientas y los comandos del CLI. Primero comencemos haciendo una comparativa general:
Características | NPM | Dotnet |
---|---|---|
Lenguajes | Javascript | C#, F#, Visual Basic |
Sitio de Paquetes | https://www.npmjs.com | https://www.nuget.org |
Sistema operativo | Windows, Linux, MacOS | Windows, Linux, MacOS |
Plataforma | Node.js | Dotnet sdk |
Empresa | Microsoft | Microsoft |
Ahora en la siguiente tabla veremos una comparativa de los comandos de cada uno de los CLI:
Comando | NPM | Dotnet |
---|---|---|
Ejecutar una app | npm start | dotnet run, dotnet watch run |
Ayuda | npm help | dotnet —help |
Obtener la version | npm -v, npm -version | dotnet —version |
Compilar | npm build | dotnet build |
Ejecutar pruebas unitarias | npm test | dotnet test |
Agregar un paquete | npm install "nombre paquete" | dotnet add package "nombre paquete" |
Listar paquetes instalados | npm ls, npm list | dotnet list package |
Crear un proyecto base | npm init | dotnet new "template" |
Estos son los comandos más comunes, pero NPM y dotnet tienen algunos adicionales. Quiero resaltar algunos del dotnet CLI que son propios de este por estar orientado a lenguajes compilados.
dotnet clean
: elimina los archivos que se generaron en la última compilación.
dotnet publish
: publica la app especificando la plataforma que se usará.
Y si estás trabajando en un proyecto full stack con .NET desde el backend y React.js, Angular o cualquier librería/framework de JavaScript ambas herramientas te serán de muchísimas ayuda.
¿Cuál es tu favorito? ¿NPM o Dotnet CLI? Te leo en los comentarios 🧐
Y no olvides tomar mis cursos, puedes ver la primera clase de cualquiera de ellos GRATIS. ¡Nos vemos en clase 👋!