Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Elección del runtime a utilizar #12

Closed
arsa-dev opened this issue Oct 22, 2022 · 5 comments
Closed

Elección del runtime a utilizar #12

arsa-dev opened this issue Oct 22, 2022 · 5 comments
Assignees
Labels
help wanted Extra attention is needed

Comments

@arsa-dev
Copy link
Owner

Creo esta issue para debatir el runtime a utilizar en el proyecto.

He estado leyendo esta comparativa que creo que es bastante objetiva, saco las siguientes conclusiones:

  • Deno tiene algunos beneficios en el uso de typescript de forma directa, módulos ES en lugar de SystemJS
  • No sería necesario el uso de gestor de paquetes ya que se puede importar directamente mediante urls, esto hace necesario por otro lado una serie de mejoras de seguridad que implementa Deno y no NodeJS. Por este mismo motivo el language server y typings que ofrece Deno para el proceso de desarrollo no está tan desarrollado para ofrecer un intellisense como al usar NodeJS descargando las dependencias.

Por otro lado, he estado revisando algunos de los frameworks más extendidos en el lenguaje pero no tienen compatibilidad con Deno:

Como conclusión, creo que es más conveniente en el proyecto usar NodeJS ya que está mucho más extendido y se cuenta con frameworks consolidados que nos permiten no tener que reinventar la rueda para resolver problemas ya resueltos y mantenidos por la comunidad. Aunque esto abierto ante cualquier discusión extra que no conozca y me pueda hacer cambiar de opinión.

@arsa-dev arsa-dev added the help wanted Extra attention is needed label Oct 22, 2022
@arsa-dev arsa-dev self-assigned this Oct 22, 2022
@arsa-dev arsa-dev mentioned this issue Oct 22, 2022
12 tasks
@arsa-dev
Copy link
Owner Author

arsa-dev commented Oct 22, 2022

Tras ver la extensión de visual studio code para deno he visto que lo que comentaba antes de que estaba peor integrado con las dependencias remotas no era correcto, se puede cachear esa dependencia y ya estaría disponible tanto para ejecución como para el servidor de lenguajes.

Aunque analizando un poco más las posibilidades de crear el producto de interfaz REST con Deno, en concreto en conjunto de una tecnología muy util cada vez más utilizada (OpenAPI). Tampoco he encontrado nada que ofrezca niveles de abstracción similares a los de los frameworks de NodeJS comentados anteriormente (sin soporte para Deno) por lo que habría que trabajar a más bajo nivel para disfrutar de los beneficios de Deno. He encontrado las siguientes opciones:

Fuentes: https://dev.to/craigmorten/what-is-the-best-deno-web-framework-2k69#comment-10dg6

@JJ
Copy link

JJ commented Oct 22, 2022

¿Habéis visto bun?

@arsa-dev
Copy link
Owner Author

arsa-dev commented Oct 22, 2022 via email

@arsa-dev
Copy link
Owner Author

arsa-dev commented Oct 22, 2022

Ya le he echado un vistazo, me parece mucho más interesante, aporta ventajas (principalmente de rendimiento) frente a, al menos por el momento no perjudicar en compatibilidad. Hasta el momento es el que más interesante veo de los tres que hemos analizado. De hecho no sería necesario configurar nada específico en el proyecto para hacer uso del mismo, simplemente quitar la extensión de los ficheros en los imports tal y como se haría con NodeJS. @JJ @vdeq79 si ambos estáis también de acuerdo optamos por este runtime que es lo único que le quedaría para terminar al PR #10

@vdeq79
Copy link
Contributor

vdeq79 commented Oct 23, 2022

Tras echar un vistazo a bun, me parece interesante que se presente como el runtime de JS que supere a Deno y Node.js en cuanto a rendimiento (y tiene una serie de funcionalidades que facilita el desarrollo). Y aunque sea reciente, no creo que vaya a dar problemas en el tipo de proyecto que estamos desarrollando, así que pienso que es una buena elección.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

3 participants