¿Qué usarías para construir una API, C #, Node.js o Python? ¿Por qué?

Depende del contexto. Si es para desarrollo web, entonces Node.js es una alternativa sólida. Asumiendo que es para el desarrollo web y dependiendo exactamente de lo que quiere decir con la interfaz de programación de aplicaciones – Wikipedia, algunos contendientes (del lado del cliente) se encuentran en los siguientes enlaces:

  • 5 mejores marcos de JavaScript en 2017 – Hacker Noon
  • Comparación de marcos JavaScript – Wikipedia (donde se enumeran las características detalladas).

Si desea un paradigma funcional con una tipificación fuerte que no

  • Sufre de cualquier tipo de ataques de inyección de código.
  • Devolver HTML no válido
  • Contienen enlaces muertos dentro de la aplicación
  • Tener desajustes entre los formularios HTML y los campos esperados por sus controladores
  • Incluya código del lado del cliente que haga suposiciones incorrectas sobre los servicios de estilo “AJAX” que proporciona el servidor web remoto
  • Intentar consultas SQL no válidas
  • Utilice la clasificación o la clasificación incorrecta en la comunicación con bases de datos SQL o entre navegadores y servidores web

Entonces Web / UR es un importante competidor para construir una API basada en web / RESTful. Sin embargo, si no conoce la programación funcional, el umbral de aprendizaje es elevado. Se puede encontrar más información en Ur / Web: un modelo simple para programar la web, y la página web se encuentra en The Ur Programming Language Family. Tenga en cuenta que los IDE están en la etapa de la infancia, pero se ha utilizado para sistemas de producción reales.

Gracias por A2A!

Respuesta corta:

Yo elegiría Node.js

Respuesta larga:

No sé una sola razón por la que alguien rechazaría usar el nodo para una API.

Node es literalmente más rápido que casi cualquier otro lenguaje web, especialmente aquellos que abren nuevos hilos; es un orden de magnitud más rápido que PHP para alojar una API si se implementa correctamente.

De hecho, es aún más rápido de desarrollar; simplemente instalando node y express cuesta unos 2 minutos de trabajo, y luego simplemente escribe funciones JS para definir funciones REST … todo el trabajo ya está hecho.

La única razón por la que alguien rechazaría un nodo para una API es si no tuviera conocimiento de qué nodo hace exactamente. Node nació para manejar API, especialmente en tiempo real o llamadas Ajax API como procesadores de aplicaciones de una sola página; es parte de la pila web MEAN, la pila de más rápido crecimiento en la historia, y los sistemas API a menudo se desarrollan con ella.

Como preferencia personal, ninguno de esos.

Para aplicaciones empresariales, probablemente iría con JAVA.

Para proyectos personales, probablemente iría con Node js o Python.

¿Por qué?

  • Todos los idiomas que mencionas son increíbles.
  • No hay una recomendación general que se ajuste a todos.
  • Por lo tanto, esta respuesta se trata de preferencias personales.
  • C # con Visual Studio IDE es mi mejor combinación de lenguaje + ide para RAD.
    • Es un tipo diferente de alegría trabajar en Visual Studio.
    • Pero C # como opción multiplataforma solo está logrando su objetivo, con NetStandard y, por lo tanto, puede esperar un poco para el desarrollo empresarial.
  • Nodo js y Python son fenomenales en RAD multiplataforma. Y es la mejor opción para un proyecto personal rápido.
  • Java es algo que encabeza la lista como la opción para una API empresarial.
    • Además de multiplataforma, el soporte extendido de la biblioteca es fenomenal.
    • Cada ecosistema define y comprende proyectos Java predeterminados, sus repositorios, su sistema de construcción, etc.
    • Después de la compilación JIT, el rendimiento de una aplicación Java es de primera categoría. (Hemos observado 8 veces más rápido que el tiempo de ejecución de los idiomas interpretados)
    • El conjunto de habilidades de toda la organización está más del lado de Java, y las personas pueden ayudarse mutuamente.
    • Node es sobresaliente en llamadas io, pero hemos visto que le falta un poco en llamadas computacionales hardcore.
    • Python es muy agradable con RAD, pero hemos visto que carece de proyectos de múltiples capas y de múltiples capas orientadas a objetos complejos.
    • Spring with SpringBoot es uno de los mejores marcos para poner en pie rápidamente una Api en Java.

    En resumen, personalmente iría con Java para un desarrollo empresarial de Api.