¿Por qué necesitamos un back-end en desarrollo web? ¿El front-end no puede enviar solicitudes directamente a la base de datos?

Si bien, en teoría, podría enviar solicitudes directamente desde el front-end a la base de datos, es una simplificación excesiva. Veamos algunos de los problemas:

La seguridad es la más grande y solo ella debe detener la línea de pensamiento; Usted está dando a los navegadores acceso directo a su base de datos . No sabes quién está usando el navegador. No sabe qué extensiones están usando que pueden estar modificando su código. Sin embargo, sabrán las cadenas de conexión utilizadas para acceder a la base de datos, cómo se almacenan sus datos y pueden ejecutar consultas arbitrarias con algunos conocimientos técnicos. Esto debería ser inaceptable a menos que las cosas almacenadas en su base de datos no tengan valor.

Un servidor de fondo (bien escrito) ocultará muchos de los detalles para conectarse directamente a la base de datos desde el navegador y, como intermediario, puede desinfectar fácilmente muchas entradas de usuario para evitar consultas maliciosas.

La simplicidad sería el siguiente punto que haría; Los navegadores se escriben con la intención de hablar con servidores web utilizando un conjunto limitado de protocolos. Las bases de datos esperan que sus clientes también usen protocolos específicos. Raramente hacen las dos mallas, por lo que es probable que termines escribiendo mucho pegamento entre ellas.

Cuando llega al punto en el que intenta traducir los datagramas HTTP, WebSockets o UDP a un formato que actúe como cliente para su base de datos … ha desarrollado un servidor de aplicaciones de fondo.

El rendimiento es otra razón más; dependiendo de la cantidad y complejidad de los datos con los que está tratando, su base de datos se ralentizará. Las consultas rutinarias de información tomarán más tiempo en responder y degradarán lentamente su experiencia de usuario. Una conexión directa a la base de datos no resuelve este problema.

Los servidores de fondo a menudo tienen una variedad de estrategias para minimizar el acceso innecesario a una base de datos, desde el almacenamiento en caché hasta los esquemas de autenticación. Se pueden escribir para tomar una instantánea agregada de lo que sus usuarios buscan a menudo y pueden asegurarse de que los datos estén “activos” y listos para una respuesta inmediata mientras solo acceden a la base de datos para obtener datos “fríos” menos comunes.

Esto no es exhaustivo, solo informativo.

Esa es una pregunta común para las personas nuevas en el desarrollo web, y es común por una buena razón; esa es la manera elegante de manejar la mayoría de las funcionalidades de la aplicación web. Los principiantes no han ‘bebido el koolaid’ y aprendido mucho dogma de programación web, y simplemente pueden pedir lo que necesitan. Tener que escribir un back-end alrededor de la base de datos es oneroso.

Lamentablemente, la mayoría de los desarrolladores finalmente aceptan la creencia de que es necesario un envoltorio de fondo personalizado alrededor de la base de datos, en lugar de respetar la elegancia y simplemente hacer que el acceso del navegador a las bases de datos funcione.

La plataforma RdbHost permite que el front-end acceda de manera segura a las bases de datos del servidor con SQL simple, lo que permite un proceso de desarrollo eficiente y eficiente en la creación de aplicaciones web.

Desde 2014, hemos tenido una recompensa por las hazañas demostradas, y no hemos tenido reclamantes; los hackers motivados no lo han roto.

Si su base de datos de elección admite solicitudes HTTP para manipular datos, teóricamente podría eliminar al intermediario

¿Por qué nos quedamos con el intermediario? Abstracción, encapsulación y separación de preocupaciones.

Si accedimos directamente a la base de datos, nuestro front-end está vinculado a esa base de datos; cambiar la base de datos a usar sería difícil y llevaría mucho tiempo.

De manera similar, nuestra lógica de negocios podría dictar cómo procesar los datos antes de la inserción y después de la selección. Por ejemplo, podemos usar un middleware back-end para aplicar funciones hash a los datos. ¿Es esto realmente una responsabilidad de un front-end? ¿Qué tan difícil sería esto si fueran miles de front-end?

Finalmente, como queremos separar las preocupaciones y adherirnos al principio de responsabilidad única, hacemos que el front-end sea responsable de una sola cosa: el front-end.

Técnicamente, si hiciera eso, la base de datos sería el back-end. Pero analicemos esto un poco más.

En el más simple de los sitios web, una sola página o más directamente hablando con la base de datos podría funcionar y podría funcionar bien, pero supongamos que su sitio web creció un poco y decidió mover la base de datos a un servidor en la nube o simplemente a otra máquina. En ese punto, tendría que volver a escribir todo el sitio web para hablar con la nueva base de datos y eso podría llevar bastante tiempo.

Así que agreguemos otra capa para manejar todas las llamadas a la base de datos, etc. para que su front end no tenga que cambiar cada vez que cambie su base de datos. Puf, back-end.

Esa es solo una explicación simple, la verdad es que hay MUCHAS más razones para un buen back-end y realmente deberías estudiar metodologías de diseño si quieres construir algo realmente involucrado, pero como regla simple, menos cosas hay en una capa de tu es menos probable que tenga que hacer reescrituras MASIVAS más tarde.

Técnicamente sí. Pero es una buena idea abstraer su base de datos del front end. Además, generalmente hay algo de lógica involucrada después de una solicitud de base de datos, que se delega mejor en un servidor más potente en lugar de la máquina del cliente.

Es más común usar un back-end como servicio (BaaS) para este propósito. Un BaaS maneja la autorización y validación de los datos provenientes de los clientes.

Simplemente tiene que definir reglas de validación y autorización. Esto a menudo se hace sin la necesidad de programar. Usarías una interfaz gráfica.

Por favor, use las cosas de este mundo como se definen, use su alcance real.

Una base de datos, como su propio nombre dice, es un almacenamiento de datos. Es simplemente el lugar donde almacena datos sobre usuarios, publicaciones, artículos, enlaces, módulos, etc.

El front-end es la parte del desarrollo que representa la parte visible del sitio web / aplicación web, la apariencia y la interacción con eso.

El back-end es el puente entre el front-end y los datos que ha almacenado en su base de datos. Es necesario hacer el stuf de la manera correcta. 🙂

Aquí está mi blog sobre desarrollo web: DailyGit | Consejos para desarrolladores web

Debido a problemas de seguridad, el script de front-end tiene limitaciones, como operaciones de archivos, operaciones de bases de datos, etc.

Y también dado que el front-end se ejecuta en el navegador del usuario, no hay forma de solicitar directamente un servidor de base de datos. Ser capaz de hacerlo también puede ser muy inseguro ya que los piratas informáticos inspeccionarán fácilmente el script a través de las herramientas de desarrollo del navegador y localizarán el nombre de usuario, las contraseñas, etc.

La base de datos se encuentra en el back-end.

Si no es así, la base de datos solo sirve al usuario directo y no se sincroniza con Internet o cualquier otro usuario para la mayoría de las partes. Principalmente será una aplicación fuera de línea.

Necesitamos un back-end para un centro de comando y control.

La base de datos es el back-end.

More Interesting

¿Necesito aprender un lenguaje de back-end para construir un clon de Wikipedia o sería suficiente un conocimiento de HTML y CSS?

¿Qué es diferente entre un desarrollador front y back end? ¿Estos términos se refieren tanto al desarrollo web como al desarrollo de software?

No estoy completamente seguro de cuál es la diferencia entre CMS y un lenguaje de fondo + base de datos.

¿Cómo vinculan los desarrolladores back-end su trabajo con los desarrolladores front-end?

¿La gente ha comenzado a lamentar haber elegido Python como su principal lenguaje de fondo?

¿Cuál es el mejor camino para convertirse en un desarrollador experto de back-end?

¿Cuáles son las mejores soluciones alojadas para el desarrollo front-end en la actualidad? Me gustaría aprender algo como Angular, pero quiero una plataforma alojada que gestione la base de datos y el código de fondo. Sé JavaScript muy bien.

¿Qué parte de .NET Framework es para el backend?

¿Qué más puedo hacer con mi experiencia en desarrollo web back-end?

¿Cómo comenzar a escribir el servicio de backend? ¿Debo crear bases de datos primero? ¿O debería escribir el código primero? ¿Qué es exactamente escribir código de fondo?

¿Por qué tantos desarrolladores de IU piensan que el backend desaparecerá?

¿Para cuál hay más demanda en el desarrollo de sitios web: front-end o back-end?

¿Qué hace un desarrollador web creativo y qué lo hace diferente de un desarrollador front-end y un desarrollador back-end?

¿Puedo obtener más de 1 rupia lakh por mes si voy a ser un desarrollador de pila completa con Ruby on Rails como una habilidad de fondo?

¿El desarrollo del backend es difícil de aprender?