En este artículo vamos a responder las principales dudas sobre NestJS, comenzando con la duda número 1:
¿Qué es NestJS?
De manera directa, NestJS es un framework escrito en TypeScript para servidores que ejecutan Node.js. Como cualquier framework, Nest tiene un conjunto de clases, funciones, tipos y patrones que ayudarán y organizarán el desarrollo de aplicaciones. Una de las razones por las que NestJS ha ganado tanta popularidad en tan poco tiempo es el hecho de haber sido creado utilizando el ya popular framework ExpressJS y combinarlo con el patrón de diseño del framework front-end Angular.
¿Para qué sirve NestJS?
NestJs sirve principalmente para crear aplicaciones en el servidor. Estas aplicaciones pueden ser: API HTTP, Aplicación Web, Microservicio gRPC o Aplicación Web Socket. Elegir una de estas opciones o incluso mezclar todas ellas es decisión del desarrollador, de cualquier manera, NestJS facilita, organiza y escala cualquiera de estas soluciones de aplicación.
¿NestJS es mejor que Express?
Ser mejor o no siempre es relativo, pero ten en cuenta en esta ecuación el hecho de que NestJS tiene integrado ExpressJS, a partir de esto, además de que Nest tiene todo lo que Express tiene, también posee muchos otros recursos y añade más posibilidades de uso que el propio Express. Por eso la conclusión obvia a esta pregunta es sí, NestJS es mejor que Express.
¿Cuál es la diferencia entre Nextjs y NestJS?
Aunque el framework Next tiene la posibilidad de crear APIs y Aplicaciones Web, su enfoque principal está en el Front-End y no en el Back-End. Next se construye usando React y su principal característica es la renderización del lado del servidor. Lado que es el principal y único entorno de Nest, que aunque tenga su patrón de organización inspirado en Angular (otro framework Front-End), Nest es un framework Back-End y no Front-End como Next. Sin embargo, además de los nombres muy parecidos, comparten otras similitudes como el lenguaje JavaScript, la necesidad de ejecutar Node.js y la fuerte popularidad de la comunidad.
¿NestJS y Nodejs son iguales?
No. Node es el motor responsable de ejecutar el lenguaje JavaScript en el servidor, también es un requisito previo de NestJS y no un framework competidor. NestJS además de usar NodeJS para funcionar, tiene un conjunto de códigos listos y un patrón de diseño para crear aplicaciones en NodeJS.
¿NestJS es OOP?
Sí. Solo para aclarar OOP (programación orientada a objetos) es un recurso de los lenguajes de programación. JavaScript, por su parte, tiene objetos y algunos recursos que hasta la fecha de hoy no han sido implementados en EcmaScript son resueltos por el superset TypeScript, que es utilizado por NestJS y por eso también es un requisito previo.
¿Vale la pena aprender NestJS?
Con certeza sí, por experiencia propia aquí en Hcode usamos tanto Node.js como NestJS y ganamos mucho tiempo en el desarrollo de nuevas funciones utilizando el framework NestJS además de los nuevos recursos que nos ofrece. Por eso recomendamos encarecidamente su uso si tu Back-End es en Node.js y especialmente si piensas escalar tu aplicación ahora o en el futuro.
¿NestJS es FullStack?
Primero vamos a entender qué es FullStack. FullStack se utiliza para definir toda la Stack o áreas necesarias para ejecutar completamente una aplicación. Por ejemplo, imagina que necesitamos crear una tienda virtual, ¿qué vamos a necesitar? Si defines que necesitarás una Base de Datos, un Lenguaje de Programación Back-End y un Front-End y respectivamente eliges MySQL, Node.js y React, esa es la Stack de este proyecto. Si desarrollas y dominas estas tres Stacks, entonces eres FullStack en este proyecto. Ahora que entendemos el concepto de FullStack, la pregunta que necesitamos hacer es: ¿Es NestJS la única solución que necesitamos para crear toda nuestra aplicación? Si la respuesta es sí, entonces en este proyecto puedes decir que Nest es FullStack, pero la verdad es que en la mayoría de los casos necesitarás otras Stacks como una base de datos y un Front-End que no son parte de NestJS, y al final, en este caso la respuesta es que NestJS no es FullStack.
¿Las empresas están usando NestJS?
Sí, además de que la propia Hcode usa NestJS, en el sitio oficial de Nest es posible ver una lista de las empresas que utilizan NestJS como por ejemplo: Roche, Adidas, Capgemini, Decathlon, Auto Desk, Neo4j y la lista sigue. Puedes consultar la lista completa en este enlace del sitio oficial de Nest. Y podemos asumir que con la facilidad que trae NestJS, más empresas migrarán o crearán nuevos servicios utilizando este framework.
¿Por qué no usar NestJS?
Así como tenemos innumerables razones para usarlo, sin duda siempre habrá innumerables otras razones para no usar NestJS, la respuesta y las razones variarán de proyecto a proyecto, pero podemos imaginar algunas posibilidades de por qué alguien no usaría NestJS, como por ejemplo no tener profesionales experimentados en el área, no poder usar Node.js en sus servidores, tener un sistema legado en otro lenguaje de programación o incluso por no identificarse con TypeScript o los patrones de NestJS. En fin, esta lista podría continuar teniendo nuevos motivos, pero cada uno necesitará sopesar los pros y los contras antes de decidir usar o no NestJS y proponer una alternativa a la altura de él.
¿NestJS es fácil de aprender?
¡Sí! Y principalmente con Hcode, ya que tenemos cursos de NestJS que enseñan a fondo los conceptos fundamentales y con ejemplos prácticos que van más allá de lo que se describe en la documentación oficial, que también podemos decir que está bien hecha y tiene muchos ejemplos que ayudan a quienes están aprendiendo sobre este framework.
¿NestJS es mejor que Laravel?
Nuevamente podemos decir que mejor es relativo al escenario como un todo que se está evaluando. Ambos frameworks son increíbles y recomendados para su uso en producción, también ambos tienen recursos para solucionar los problemas comunes y necesidades que tendrá una aplicación. Sin embargo, utilizan lenguajes de programación diferentes, en el caso de Laravel se usa PHP, y por eso el lenguaje puede traer o dejar de tener recursos específicos en comparación con JavaScript. Pero aun así podemos destacar que Laravel tiene más tiempo en el mercado y la Web todavía tiene un uso mayor de PHP en el Back-End, probablemente debido a otra aplicación PHP llamada Wordpress. Pero eso hace que aún tengamos más profesionales especialistas en PHP que en NodeJS, sin embargo, creemos que este escenario seguirá cambiando y volviéndose más competitivo y equilibrado con el avance de NestJs y posiblemente otros frameworks y lenguajes que puedan surgir con el tiempo.
¿Cuál curso de Hcode debo comenzar para aprender NestJS?
Como ya mencionamos anteriormente, necesitas tener algunos requisitos previos para sacar el mayor provecho de NestJS, como ya saber Lógica de Programación, conocer la Lenguaje JavaScript, saber cómo se comporta en los servidores usando NodeJS y también el famoso superset TypeScript que nos da acceso a más recursos en este lenguaje que son utilizados en NestJS. Pero si ya tienes estos conocimientos, sugerimos comenzar con el curso de Fundamentos de NestJS que abordará los principales conceptos de NestJS y explicará los términos y patrones de diseño utilizados por el framework, mientras desarrollamos una API RESTful como ejemplo práctico. Vale la pena recordar también que tanto el curso de Nest como todos sus requisitos previos están disponibles en Hcode Class, nuestra plataforma de cursos online a la que tienes acceso con solo una suscripción.
Si aún tienes otras dudas sobre NestJS, por favor háznoslo saber enviando tus comentarios o contactándonos.