Las otras respuestas que veo aquí hasta ahora son geniales, pero parecen suponer que el interrogador ya está algo “despegado” en el desarrollo de back-end. La suposición inicial sobre cualquier desarrollador de back-end es que él o ella puede implementar con confianza las interacciones CRUD con algún tipo de base de datos estándar, SQL o noSQL, a través de una API REST. Para el verdadero principiante, este es el punto de partida para casi todo, ya sea comercio o social o lo que sea.
Aquí hay mucho que aprender correctamente, comenzando por la elección de la parte de fondo de la pila, por ejemplo, el lenguaje / marco para el servidor enrutado que implementa la API REST (javascript / node.js / express.js, ruby / rails, python / django, etc., etc.) Y el DBMS (sistema de gestión de bases de datos), SQL (p. ej., Postgres) o noSQL (p. ej. Mongo), todo lo cual implica comprender ORM (mapeo relacional de objetos) con herramientas como Sequelize para SQL o Mongoose para Mongo que se traducen entre los JSON (objetos javascript) que el navegador enviará y recibirá del servidor y los registros de datos análogos de los documentos almacenados en su base de datos.
(Si no entendió completamente todo en el párrafo anterior, suponga que no está preparado para aprender incluso sobre el desarrollo de back-end práctico hasta que lo haga. Tampoco es este el trabajo casual de unas pocas horas. No se engañe a sí mismo sobre lo que realmente entiendes porque incluso los conceptos básicos aquí son conceptualmente profundos e inherentemente les toma tiempo asimilarlos).
Se espera que cualquier desarrollador de back-end supuestamente sea capaz de discutir inteligentemente estas alternativas en situaciones prácticas, incluso si él o ella solo tienen verdadera experiencia en una fracción de ellas. En particular, el nuevo desarrollador de back-end realmente tiene que comprender la gestión de datos, lo que significa no solo cómo se pueden hacer los diferentes DBMS para almacenar y recuperar datos (consulta), sino también cómo se deben organizar los datos para el proyecto específico con el objetivo de escalado futuro y aplicaciones que aún no están a la vista. Solo la pregunta central de cómo estructurar el objeto individual (registro de datos en una tabla SQL o documento en una colección noSQL) requiere un pensamiento creativo real en todas las situaciones, excepto en las más simples.
La conclusión es que el desarrollador de back-end entiende que el producto final es la base de datos. Que Facebook, Twitter, Amazon, etc. son bases de datos a las que los clientes acceden y usan a través de servidores. La aplicación que ve el cliente es como la punta del iceberg que sobresale del agua.
Podría continuar con la línea de base incluso para pretender ser un desarrollador de back-end contemporáneo, pero en cambio aquí hay un par de sugerencias realmente prácticas para principiantes o casi principiantes.
- Investigue a fondo LoopBack, que automatiza completamente el proceso de creación de una API REST utilizando la base de datos que desee a través de un tipo de interfaz muy inteligente que abstrae las distinciones entre bases de datos. Puede crear una base de datos con una API REST increíblemente completa simplemente instalando LoopBack y siguiendo algunos pasos. Incluso le proporcionan una excelente aplicación de cliente pequeño para consultar y editar su base de datos que es muy superior a CURL o que utiliza un navegador o incluso clientes REST genéricos. Para cuando haya jugado con este tiempo, debe tener una muy buena idea de cómo debe verse y funcionar un back-end de nivel empresarial. (Incluso puede decidir usar LoopBack en proyectos).
- Eche un vistazo a un proyecto especialmente impresionante en la Universidad Angular que lo introducirá al nivel de práctica de un consultor de primer nivel en un contexto node.js / express.js / postgres / sequelize, que puede considerarse súper convencional hoy en día. Le costará una pequeña cantidad: $ 9.00 por mes por cada mes que desee acceder a él (y todo lo demás que esté disponible). Es parte de un curso de video llamado Curso completo TypseScript 2, que incluye una introducción a TypeScript que realmente te hace entender el diseño de objetos de datos en JavaScript moderno. Pero lo más importante aquí es construir un backend API REST a un nivel extremadamente profesional de claridad de diseño. Los videos son geniales y esenciales, pero el repositorio de Github lo es aún más. Te resultará muy difícil encontrar el código modelo y un proyecto modelo como este en otro lugar. Ciertamente nunca lo he hecho.