¿Por qué las aplicaciones web / API no tienen un método principal?

Muchos lo hacen, simplemente no lo ves.

Las API web / REST tratan sobre la presentación de funcionalidades a través de HTTP, que un cliente puede llamar.

El método / función principal ocurre muuuucho antes de ese bit.

La función principal en Java se ha llamado probablemente días, semanas o meses antes de llamar a una API REST.

Las API que ves en la web son realmente funciones / métodos “imaginarios”, no son métodos / funciones reales que ves en los lenguajes de programación.

importar chispa estática. Park. *;
clase pública HelloWorld {
public static void main (String [] args) {
get (“/ hello”, (req, res) -> “Hola Mundo”);
}
}

Así es como configura un método REST en Java / Spark, como puede ver, * es * un método principal, pero nunca lo verá, porque solo se le presenta un método llamado “/ hello”.

Básicamente, los métodos REST y los métodos en lenguajes como Java se llaman de la misma manera, pero son completamente diferentes.

Los métodos de API web / REST que ve son realmente solo direcciones web, no son métodos en el sentido de que los conocemos de Java, C #, Python o lo que sea.

¿Por qué lo harían ellos? El método principal es solo un marcador de posición o referencia que le indica al compilador y al sistema operativo que comience aquí.

Las API web no necesitan esa referencia, ya que las está aplicando a través del protocolo HTTP y no tiene o al menos no debería tener acceso para ejecutar código en el contexto de una aplicación web de terceros.

Algunas aplicaciones web tienen ganchos y cualquier JS se ejecutará automáticamente siempre que se llame en algún lugar. Algunos sistemas tienen un sistema de módulo o módulo para ejecutar dentro del alcance del sistema cuando sea necesario.

Si está hablando del idioma en sí, entonces depende. PHP se ejecuta en main (), por lo que no tienes suerte. Lo máximo que puede hacer es simplemente no incluir archivos que no desea ejecutar.

Creo que JS (nodejs) es similar a PHP. Python es complicado porque técnicamente, usted tiene un main, pero es más a qué archivo se hace referencia para ejecutar. Si tiene un archivo __main__.py en un directorio y ejecuta python en ese directorio, ese archivo se convertirá en el punto de entrada a la aplicación python.

Obviamente, Java, C, C ++, Go y otros lenguajes compilados tendrán un main. Depende del sistema. Java u otros lenguajes pueden requerir una función especial para la ejecución, ya que el servidor web puede no querer que la aplicación web se ejecute como una aplicación y tenga cierto control sobre el programa.

Ellos tienen. Por ejemplo:

11. Desarrollando su primera aplicación Spring Boot

Como cualquier aplicación Java, se llama para iniciar la aplicación.

Simplemente sucede que la aplicación se mantiene en funcionamiento durante semanas, meses o años. Por lo tanto, es un método muy poco frecuente.

More Interesting

¿Qué es un eFax?

¿Crees que los IDE basados ​​en la web son el futuro de los IDE? ¿Cuáles son las ventajas y desventajas de los IDE web? ¿Qué características tienen mucho más sentido en un IDE web? ¿Cuáles son los mejores IDE basados ​​en la web?

¿Cuánto tiempo le tomaría a un principiante de programación aprender a escribir una aplicación de una sola página con backend?

¿Existe una aplicación móvil o web para el seguimiento del tiempo de trabajo que también haga un seguimiento del tiempo restante o del trabajo excesivo del día anterior?

¿Cuáles son los aspectos económicos de una barra de herramientas del navegador web?

¿Cuáles son algunos patrones comunes de arquitectura de servidor para aplicaciones altamente escalables?

¿Cuál es la diferencia entre aplicaciones web progresivas y aplicaciones híbridas?

¿Elegirías Django sobre PHP y SQL para tu aplicación web y por qué?

¿Quiénes son los principales desarrolladores de Ruby on Rails en Singapur?

¿Cuáles son las mejores prácticas para minimizar las llamadas al servidor en una aplicación web?

¿Qué se necesitará para hacer realmente accesible la web?

¿'Aplicación de página única (SPA)' significa una aplicación que solo tiene una página en el sitio web?

Cómo construir una pequeña aplicación web usando Laravel y Vue.js

¿Es un mal movimiento no incluir algún tipo de registro de correo electrónico / creación de cuenta al crear una aplicación web y solo confiar en el registro / inicio de sesión social?

¿Qué opinas de desarrollar mi aplicación web con php y mysql?