Desarrollador de pila completa aquí (lo que significa que conozco todas las capas en el desarrollo web).
El desarrollo web tiene, en general, cinco capas, independientemente de la metodología. Me correlacionaré con el método MVSC (Modelo, Vista, Servicio, Controlador) aquí, pero YMMV:
- Servidor: se ocupa de asegurarse de que la infraestructura de su servidor esté en funcionamiento. Esto a veces se integra en la capa Base de datos, pero en esta capa necesitas un administrador de sistemas competente que conozca su pila LAMP de principio a fin.
- Base de datos: esto es lo que llamaría la capa Modelo. Esta capa asegura que su aplicación web pueda comunicarse con su base de datos correctamente. Los modelos se colocan aquí, al igual que cualquier servicio de mapeo. Usos: SQL + cualquier idioma utilizado en el backend
- Backend: esta capa maneja la lógica del lado del servidor, escribe los Controladores y los Servicios (los Controladores manejan la validación de formularios, el enrutamiento y asegurarse de que se invoquen las plantillas adecuadas mientras los Servicios contienen su lógica comercial). Lenguajes utilizados: PHP, Java, C #, python o node.js
- Frontend: esta capa maneja la interfaz y la lógica del lado del cliente. Está casi totalmente preocupado por las Vistas servidas por el backend. Usos: HTML, CSS, JavaScript y cualquier biblioteca JS que use su aplicación.
- Diseño: parte puramente visual, a menudo parte de Frontend, apariencia de su aplicación web, así como funcionalidad. No utiliza ningún programa en particular y ni siquiera tiene que ser desarrollador. Debería saber cómo usar Adobe Creative Suite o un software equivalente.
Una persona puede aprender los cinco (como yo), o solo uno o dos. Puede tener un desarrollador de pila completa, pila completa múltiple o uno de frente / reverso y uno de base de datos / servidor. Depende de usted lo que tiene más sentido.
- Necesito construir una API REST, pero debería implementar un patrón MVC. Estoy confundido sobre lo que debería ir en la sección de vista. Alguien puede explicar?
- ¿Puedo aprender desarrollo web y programación Java lado a lado, si soy un principiante?
- Sé C ++ y Java, ¿cuál es el mejor sitio web para mejorar mis habilidades de codificación?
- Estoy interesado en el desarrollo web. ¿Qué curso debo seguir: J2EE-Struts con Hibernate Framework o J2EE-Hibernate con Spring Framework? ¿Cuál es la diferencia entre los dos?
- Cuando agrego una columna a una tabla existente, ¿se convierte automáticamente en una clave principal?
¿Qué deberías hacer primero?
- Decide una aplicación web. Puede ser un clon de una aplicación ya existente, como Facebook, Gmail o WordPress, o algo completamente nuevo, como un juego web. La parte importante es que comienzas a codificar algo.
- Decida las responsabilidades: ¿debería Joe ocuparse de Frontend mientras Sarah maneja el servidor y Tom se encarga de la base de datos / backend? Tal vez Joe prefiera trabajar en el backend, no importa cómo divida estas capas, solo que tome algún tipo de decisión.
- Aprenda las tecnologías que necesita aprender. Si Joe tomó Frontend, ahora debería aprender algo de HTML, CSS y JavaScript. Si Tom tomó Base de datos / Backend, debería aprender SQL y decir, python.
- Ahora, comience a codificar lentamente, elija un marco de aplicación web. Soy partidario de Zend, pero eso es PHP, y PHP es un lenguaje muy “asqueroso” con muchas verrugas todavía. Es mejor que 2005, pero aún no es genial. Django y Python es una buena alternativa. Siempre que comience a codificar, siempre puede volver a escribir la aplicación una vez que el prototipo esté listo.
- Una vez que tenga un prototipo que funcione, comercialice su producto, ya sea para inversores o directamente a clientes.
Y ahí lo tiene, eso es más o menos cómo iniciar su negocio. ¡Buena suerte!