Servidores: ¿Cómo construyo un ‘back-end’?

Estado allí. Hecho eso Trataré de apegarme a los términos simples.

“Back end” en su comprensión es en realidad algo que está más allá del “front end” HTML, CSS y Javascript, que son solo los componentes básicos de un documento estático. Son solo marcas y Javascript, un lenguaje de script que escribes para controlar elementos HTML o DOM (incluso hay servidores front-end y back-end, pero no llegaré a eso)

Para que los usuarios interactúen con más que simples animaciones de su documento estático, necesita conectarlo a los datos de una base de datos.

Cómo regular los datos y servir las páginas HTML correctas según la solicitud del usuario es tarea de un servidor web.

Olvídate de EC2 por un tiempo. Eso puede esperar. Básicamente es un servicio que le permite alquilar su servidor remoto para que no tenga que alojar su aplicación en su computadora. Es solo otra computadora (s). Puede usar su propia computadora para alojar un servidor web localmente.

Dado que Python es tan universal e incluye un servidor simple, puede probar en su terminal o línea de comandos:

python -m SimpleHTTPServer

Entonces debería mostrar un mensaje

“Sirviendo HTTP en 0.0.0.0 puerto 8000”

Eso es. Estás ejecutando tu servidor web. Abra un navegador web, o mejor aún, haga que otra computadora busque su dirección IP y puerto de esta manera:

http: //192.xxx.xx: 8000

Verá una lista de todos los archivos en su directorio actual en el navegador. ¡Está literalmente sirviendo esos archivos, en la web, como lo haría EC2! Si echa un vistazo a su línea de comando, debería ver algunas líneas más que aparecen con la palabra “GET”. Esa es la solicitud enviada desde el navegador a su servidor web. Eso es básicamente lo que la computadora servidor en el centro de datos de Amazon obtendría de los navegadores de todo el mundo: solicitudes.

Ahora, su servidor simple no sabe mucho, por lo que simplemente respondió con una página ficticia con enlaces a sus archivos estáticos. para servir qué archivo (recurso) de acuerdo con la solicitud o URL del usuario, necesita escribir programas para encargarse de eso. Ahí es donde entra el lenguaje del lado del servidor. Los programas, que se ejecutan en el servidor, básicamente hacen algo como:

si el usuario solicita “192.xxx.xx”, entonces:
responda con index.html
de lo contrario, si el usuario solicita “192.xxx.xx / registro”, entonces:
responde con signup.html
si el usuario está en “192.xxx.xx / signup” y el usuario hace clic en enviar formulario (enviar solicitud POST), entonces:
guarde lo que se haya completado en el formulario en nuestra base de datos y dirija al usuario a gracias.html

No hay un atajo excepto para entender lo básico de cómo funcionan todos (al menos lo básico) para saber lo que está haciendo. Tenga en cuenta que los archivos HTML son solo “recursos” que coloca en una computadora disponible para que el mundo la solicite. Puede servir imágenes, sonido, documentos, etc. cualquier cosa compuesta de bits y bytes. Internet comenzó con dos computadoras hablando entre sí, solicitando y respondiendo cosas. No se vuelve demasiado complejo que eso. Otras cosas son detalles técnicos. Tenga en cuenta esta estructura:

Navegador internet servidor base de datos
Donde son solicitudes y respuestas, enviando bytes de un lado a otro.

Los marcos de Python como Flask, Bottle o Ruby Sinatra son un gran lugar para comenzar un proyecto de pila completa. Puedes probar Node.js si te gusta Javascript.

Solo cuando sirve todo bien en su host local, puede mirar EC2, Google App Engine o Heroku para servir su aplicación de forma remota. No importa dónde esté su servidor. Los principios son bastante similares: cada computadora en cada extremo.

Su código se ejecuta en un servidor, una computadora que ejecuta un sistema operativo, generalmente Linux o Windows, que a su vez tiene aplicaciones como Apache o nginx como servidores web. Son esas aplicaciones las que alojan tu HTML estático y lo sirven cuando las personas lo solicitan. Esto es lo que EC2 llama una “instancia”: un servidor virtual que ejecuta un sistema operativo, que puede ejecutar un servidor web.

Para páginas dinámicas, necesita un lenguaje de script agregado al servidor web, como PHP o Python. ¡Cómo programar en ellos está más allá del alcance de una pregunta de Quora!

Lo más fácil para usted es elegir una de las imágenes EC2 pre-enrolladas que ya tiene todo instalado e intentar experimentar. Lea las guías sobre cómo configurar Apache para servir su contenido, cómo agregar PHP y vaya desde allí.

¡Buena suerte!

PHP es un lenguaje de programación que utiliza en el back-end (se ejecuta en el servidor en lugar de Javascript que se ejecuta en el navegador, el front-end).

WordPress es una aplicación PHP “un poco soirta” que básicamente te permite ejecutar un blog, pero se puede modificar para hacer muchas otras cosas. (Digo un poco más o menos, porque se trata del peor ejemplo de cómo NO escribir PHP [o cualquier código] – no es PHP, no es “otra cosa”, es un montón de “saltar a PHP, ejecutar código, saltar oof PHP “escrito en una base de papel en blanco. Es genial si no conoce PHP y desea pegar el código de otra persona en su sitio, pero no aprenda a escribir código de él, ya hay miles de sitios que No vale la pena que el TNT los explote).

MySQL es un programa de base de datos. SQL es el lenguaje utilizado para comunicarse con él.

jQuery es un pequeño paquete agradable que le brinda un gran control sobre Javascript (pero es front-end, recuerde). Algunas personas lo odian. Lo usé ampliamente. (Tiempo pasado solo porque estoy retirado, pero el último sitio que escribí usaba jQuery y un jqGrid y se podían ver 25 registros de una base de datos de 25 millones de registros con un par de clics, filtrados y ordenados, en un segundo).

Asi que …

Como conoce “algunos Javascript”, supondré que en realidad no conoce la programación: algoritmos, estructuras de datos, programación orientada a objetos, etc. Primero aprenda eso. (No aprendes eso en un lenguaje de programación, lo aprendes en inglés). Wirth ha escrito lo que considero que sigue siendo el mejor curso de programación de computadoras escrito: Algoritmos y estructuras de datos Es gratis para descargar. (Es antiguo, pero la programación, ya sea en código máquina o Haskel, sigue siendo la misma).

Luego aprende un poco más de Javascript, desde el punto de vista de un programador.

Aprende PHP. (Esa es la parte más trivial. Si conoce la programación, solo tiene que aprender qué palabras usar para hacer lo que quiere. Necesita las últimas 3 letras de la cadena, ¿qué usa? Javascript no es mucho más difícil , pero es más difícil).

Entonces aprende jQuery. Aprende la técnica llamada AJAX. (No, gente, AJAX no es un lenguaje). Puede hacer que su aplicación web parezca un programa que se ejecuta en un escritorio: rápido, rápido, algo que a su usuario le gusta usar.

SQL? Ese es un animal completamente diferente. Es como un gran cazador que aprende a pescar en aguas profundas. Hay bookd en aprender SQL en unos pocos días o unas pocas semanas. SQL básico es así de simple. Estudiarlo y aprenderlo. (No, no va a escribir programas SQL de 10,000 líneas, lo va a usar para acceder a algunos datos en una base de datos, o modificarlo o ingresarlo).

Ahora combina todo. El código que se ejecuta en el servidor (PHP) es el back-end. También puede usar PHP para generar HTML, CSS, Javascript y cualquier otra cosa que se envíe al navegador, o puede escribirlo como HTML, Javascript, etc. A veces es más fácil escribirlo como PHP. (PHP ejecuta, obtiene datos, escribe una declaración HTML utilizando esos datos, envía todo al navegador).

jQuery tiene un método simple de usar AJAX: el front-end solicita datos al back-end, los obtiene y los pega en la página donde debería aparecer. El usuario no ve nada de eso: hace clic en EE. UU. En el menú desplegable de países y aparece un menú desplegable de Estado, lleno de los 50 estados, posesiones, lo que sea que la aplicación necesite. Haga clic en un estado y aparecerá un menú desplegable de Ciudad poblada. Todo lo de “dame todos los estados en los Estados Unidos” está sucediendo en el fondo.

Como dijo Joe, EC2 es un juego completamente diferente. Aprenda a escribir sitios web interactivos primero. Luego comience a aprender sobre el uso de API. (Yahoo, por ejemplo, puede poner el clima actual del usuario en su página. También puede Google. O un ticker de acciones. Con un par de líneas de código).

Calcule unos 6 meses si hace esto todos los días, un año o dos si no lo hace, antes de ver una situación en términos del código necesario para que el sitio lo logre. No hay problemas, solo hay código que los resuelve. Cuando los ves como código desde el principio, eres un desarrollador de programas. Hasta entonces, usted es un diseñador web (el aspecto) o un codificador (codificando lo que alguien más escribió). Vas a. Finalmente. Facebook no se construyó en un día.