¿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

Cómo crear una aplicación basada en web

¿Cuál es la mejor herramienta para crear una IU de gestión de procesos de negocio en la web? (HTML5 lienzo, una biblioteca js? Etc.)

¿Cuáles son algunas metodologías de diseño empleadas antes de comenzar la codificación en una aplicación web?

¿Son las aplicaciones basadas en la web el futuro?

¿Cuáles son las cosas que deberían importarme al desarrollar aplicaciones web?

Teniendo en cuenta que no tengo experiencia en programación, ¿debo invertir el tiempo aprendiendo PHP o Ruby / Rails para una aplicación web orientada a CRUD MVP-esque?

¿Es realmente tan fácil de aprender la codificación suficiente para poder crear algo realmente constructivo y original (léase: no solo otra aplicación tonta de Android)?

¿Cuáles son sus herramientas favoritas para el desarrollo de JavaScript front-end?

Cómo crear un inicio de sesión con Facebook o Gmail para mi aplicación web usando ASP.Net MVC 5

Al crear una aplicación web, ¿cuáles son las 10 tareas más comunes?

Cómo almacenar y recuperar eficientemente los datos del diccionario de definiciones para una página de texto

¿Es posible crear una aplicación web usando solo HTML5, CSS3 y JavaScript?

Alguien está desarrollando una aplicación web para mí. Se han solicitado detalles de alojamiento con certificación SSL para que la aplicación se pueda cargar y probar. ¿Qué debo hacer?

¿Cuáles son algunas buenas alternativas de RescueTime?

¿Es posible usar AJAX sin usar un servidor?