Realmente no entiendo "Backend / Serverside" cuando se trata de desarrollo web?

18

En el mundo del desarrollo web, ¿qué hacen exactamente los programadores backend / del lado del servidor? Supongo que realmente no entiendo todo el concepto.

Realicé los diseños HTML / CSS y el diseño del sitio web y un poco de SQL con PHP (aún mejorando mis habilidades, es más un proyecto paralelo para mí). También he hecho una pequeña cantidad de JavaScript / JQuery.

Pero no entiendo el trabajo de "backend", como los lenguajes de scripting (Rails / Python / etc) y demás. ¿Qué es exactamente lo que "haces" con ellos?


fuente
8
¿A dónde crees que van las preguntas y respuestas de este sitio y cómo?
Mayank

Respuestas:

17

Si has usado PHP, ¡entonces has hecho trabajo del lado del servidor!

En términos simples, el código del lado del cliente se ejecuta en su computadora, en su navegador web, y el código del lado del servidor se ejecuta en una computadora en Internet, y los resultados del cómputo del lado del servidor se envían a través de Internet a su navegador.

Cuando escribió un código PHP que ejecutaba sentencias SQL, las llamadas SQL se realizaron en la computadora remota (el servidor) y ese resultado, generalmente en forma de HTML generado, se envía a través de Internet al navegador.

JavaScript, por otro lado, se ejecuta en su navegador. Así es CSS.

Consulte la diferencia entre la programación del lado del cliente y del lado del servidor para obtener más información.

jmort253
fuente
13

La premisa básica es:

ingrese la descripción de la imagen aquí

El usuario da su entrada, la envía a través de una red de algún tipo y el servidor hace su magia de acuerdo con la entrada.

Básicamente, desea que toda la seguridad y validación se realice en el lado del servidor. Con las bondades que se ejecutan en el lado del cliente, como la validación de formularios discreta (¡aún debe validar el lado del servidor!).

La gran pregunta: ¿por qué?

Los usuarios pueden modificar la información en su máquina. Como ejemplo, vea los entrenadores de juegos que modifican los valores de memoria para permitir a los usuarios 'piratear' el juego. Si hace las cosas básicas en su máquina, en sus instalaciones físicas, reduce significativamente las posibilidades de que alguien altere sus controles de seguridad.


fuente
66
No usaste círculos a mano alzada. :(
brillante
Ok, ¿cuál es exactamente el objetivo de los marcos de aplicaciones web?
3
@ Mercfh: Para simplificar. Te dan la base sobre la cual construir tu visión. ¿ Quieres construir un marco de autenticación? ¿Qué tal uno para manejar fechas y vistas y controladores y enrutamiento? No lo creo a menos que fuera un ejercicio académico. Desea un marco de trabajo porque inicialmente tenía un problema que resolver, y las fechas de manejo no lo eran. :)
0

diseña cosas de front end cuando diseñas sistemas que interactúan con el cliente de tus sistemas. Observe aquí que la palabra cliente es bastante grande, pero básicamente significa que está trabajando en el front-end cuando proporciona una interfaz para el mundo exterior.

La mayoría de los sitios web son solo front-end, es decir, proporcionan información al mundo exterior y la mayoría de las veces esta información puede almacenarse simplemente como texto en archivos HTML.

Usted diseña el back-end cuando necesita proporcionar servicios y encapsular la funcionalidad que consumirá su front-end. Esto permite desplazar parte de la carga de trabajo del cliente (front-end) al servidor (back-end). Lo hará en casos en que necesite coordinar información de diferentes clientes que puedan acceder a su sistema simultáneamente. O si necesita usar un repositorio de datos central para recopilar datos dinámicos, o nuevamente si necesita algunos requisitos de seguridad específicos. Esta lista no es exhaustiva, solo ejemplos rápidos.

para abreviar, Front-end (cliente) presentará información al mundo exterior. Por lo general, estos son humanos a través de algún tipo de GUI, ya sea HTML o de otro tipo.

El back-end proporcionará medios para centralizar los servicios para que los use su front-end. El uso de un back-end no es obligatorio y agrega complejidad a un sistema, pero permite gestionar mejor la complejidad inherente al sistema que está tratando de construir.

Por ejemplo, es posible proporcionar un servicio como un wiki únicamente a través del front-end, pero tendrá muchas limitaciones que el uso de un back-end para almacenar los datos y servirlos al front-end se resolvería de una manera más natural.

Newtopian
fuente
Su explicación es excelente, excepto que dice que la mayoría de los sitios web son solo front-end. Quizás en 2003, pero hoy dije que "la mayoría", como en la mayoría, tiene algunas interacciones de back-end / base de datos.
Kyle
Mirando el SO, Facebook y todo este mundo, uno relegaría el sitio web estático al museo, pero todavía hay una gran cantidad de sitios, portadas para empresas, etc., que son solo eso. Dicho esto, tienes razón en que tiende a disminuir bastante, ya que solo instalando wordpress y ajustando un poco el CSS obtendrás el mismo resultado en una forma mucho más fácil de mantener. Sin embargo, tenga en cuenta que Front-end también designa la API RESTfull que su sitio expone mientras que el back-end es cómo se implementa esta API.
Newtopian
0

El front-end es lo que se ejecuta en el navegador, el backend como PHP se ejecuta en un servidor y almacena datos en la base de datos y hace ese tipo de cosas.

Zachary K
fuente
0

En mi opinión, el trabajo del lado del servidor (que ya se ha mencionado es todo lo que se ejecuta en el servidor desde el que se accede al sitio web) es lo que le da vida real a un sitio. Gran parte de la funcionalidad aún se puede lograr utilizando tecnologías del lado del cliente, pero en mi opinión, este es un enfoque mucho más complicado y mucho menos seguro, ya que los clientes tienen acceso a todo lo que está en el código del lado del cliente. PHP y ASP son, en cierto modo, lenguajes de programación híbridos que están destinados casi exclusivamente a servir el contenido de la página web a un navegador después de realizar algunas actividades computacionales. Cuando comienza a trabajar con python, ruby, java u otros lenguajes de programación, tiene más potencia y capacidades, pero un poco más de trabajo para enviar la información resultante al cliente al final del proceso.

Kenneth
fuente
0

Hay dos lados en cualquier aplicación web / sitio web típico.

  1. Parte frontal: qué control es la interfaz de usuario / diseño / colores / fuentes, etc.

  2. Parte posterior: maneja la manipulación de datos en la base de datos, o la manipulación de archivos, hace mucha lógica, si esto, lo hace, si no lo hace, etc. Se integra con el software del servidor web como Apache / IIS / etc., y el servidor de la base de datos software como mySQL / PostreSQL / MS SQL Server.

El reverso es el lado mucho más poderoso, porque puede hacer muchas cosas, desde crear archivos de Excel, generar informes, hacer cálculos, obtener datos de diferentes servidores.

Luego prepara y muestra esos datos, cómo se configura la parte frontal.

Hacer bien en cualquiera de los dos es trabajo duro, mucha práctica, aprendizaje y autodisciplina.

Si quieres ser el mejor, practica y nunca dejes de aprender, y nunca asumas que sabes todas las respuestas.

crosenblum
fuente