¿Cuál es la estrategia correcta para aprender el desarrollo web completo desde cero?

En primer lugar, espero que comprenda cuáles son los niveles en un desarrollo web de pila completa.

Curiosamente, Upwork ha escrito un buen artículo sobre esto: ¿Qué es una pila de software? Elija la pila adecuada para su proyecto

Entonces una pila de software tiene:

  1. Lado del cliente
  2. Servidor web
  3. Servidor de aplicaciones
  4. Base de datos

Desde que comenzó con PHP, esa es una buena opción.

PHP se ejecuta en la capa del servidor de aplicaciones, por lo que, como cualquier lenguaje de programación de fondo, ya sea JavaScript (NodeJs), Python, Ruby, etc.

Vamos a entender la pila.

1. Lado del cliente: cada navegador comprende estos tres idiomas.

  • HTML: YAML, PUG (JADE) ..
  • CSS: SASS, MENOS, ESTILO …
  • JavaScript: jQuery :: TypeScript, CoffeScript, Babel >> marcos JS

Por lo tanto, todos los desarrolladores front-end conocen estos 3 idiomas. Además de estos, también usan bibliotecas y marcos que hacen que su trabajo sea más rápido y modular.

El más flexible pero potente es JavaScript. Por lo tanto, los programadores han superado su límite y aprovechado su utilidad para obtener el máximo uso de la poderosa máquina de un cliente (usuario). Como resultado, se desarrolló mucho desarrollo en la creación de bibliotecas y marcos.

Principiante en desarrollo front-end: HTML + CSS + JavaScript básico (o jQuery)

Intermedio en desarrollo front-end: HTML + SASS / LESS (cualquiera …) + buena comprensión de JavaScript y algo de framework JS (ReactJS o Backbone)

Desarrollador front-end avanzado: Jade (cualquiera …) + módulos CSS y componentes con estilo + comprensión más profunda de JavaScript.

2. Servidor web: muchos programadores no consideran esto como parte de la programación. Pero quienes han adquirido conocimiento de esto eventualmente se han convertido en mejores programadores.

Josh Lockhart, el creador de SlimPHP y autor de “PHP de la manera correcta”, recomienda aprender el protocolo HTTP que ayudará a los desarrolladores a comprender mejor la web. Con la introducción de HTTP2, las cosas cambiarán un poco, para mejor. Desarrolladores, mejor estén listos.

Aprenda lo suficiente para configurar una aplicación web básica. Para un aprendizaje más profundo, debe profundizar en el aprendizaje de un servidor web, así como de la red y protocolos relacionados.

3. Servidor de aplicaciones: aquí es donde se ejecuta su lenguaje de programación de back-end.

Por ejemplo, PHP se ejecuta en el servidor Apache y nginx, JavaScript se ejecuta en el tiempo de ejecución de NodeJS y así sucesivamente.

Existen diferentes tipos de lenguajes de programación. Los más populares son 1. Lenguajes de programación orientados a objetos y 2. Lenguajes de programación funcional.

El concepto OOP se adapta mejor a la arquitectura MVC que se usa en la mayoría de las aplicaciones web en estos días.

Si está aprendiendo PHP, puede escribir programas de 3 maneras. 1. Procedimiento, orientado a 2 objetos, 3. Funcional

Principiante Desarrollador de back end: Conceptos básicos de programación + conexión a la base de datos

Desarrollador de back-end intermedio : programación orientada a objetos con arquitectura MVC

Desarrollador avanzado de back end: Uso de patrones de diseño y principios SOLIDOS en programación.

4. Base de datos: hay una gran cantidad de software de base de datos de código abierto. Algunos están en el concepto de bases de datos relacionales (RDBMS), algunos están basados ​​en archivos.

RDBMS: MySql, MS Sql, Maria DB, PostgreSQL ..

Basado en archivo: Mongo DB, Couch DB ..

Al tener antecedentes de RDBMS y haber leído mucho sobre ello en mi graduación, de alguna manera siempre selecciono un RDBMS, pero si surge la necesidad, podría cambiar mis preferencias.

Si está aprendiendo un RDBMS, aprenda:

  • Principios de ACID
  • Mapeo de relaciones entre tablas.
  • Crear una base de datos con formas normales estrictas (al menos hasta la tercera forma normal)
  • Crear uniones en tablas.

Aunque puede parecer obvio para el tercer ojo sobre tener una base de datos con tablas habituales como “Usuarios”, “Roles”, “Módulos”, etc., pero viene con experiencia en cuanto a qué tipo de base de datos será mejor para un sistema.

Para un sitio web normal en WordPress, tiene 12 tablas y para un sitio web normal en Drupal tiene 40 tablas.


Cuando las personas ponen en sus currículums que son desarrolladores completos, lo más probable es que quieran decir que son buenos con los lenguajes de programación front-end y back-end de su elección.

Simplemente están usando la nomenclatura que la industria quiere escuchar. Los reclutadores que no entienden mucho las pilas de tecnología están más impresionados con la etiqueta “Desarrollador de pila completa”.

No estoy desacreditando a ningún desarrollador que afirme ser una persona de pila completa, pero dudo mucho si dichos desarrolladores han explorado estos cuatro niveles de la pila web.


Mi opinión personal es, no vayas por la pila completa, si estás solicitando trabajo. Conviértete en un experto en una pila particular. Aún mejor, conviértase en un experto en un lenguaje o marco específico.

Un eslogan como: “AngularJS expert y Front-end dev” o “Laravel expert” sería una perspectiva mucho mejor para cualquier equipo de desarrollo.

Oh! Si usted afirma ser un experto en un marco, entonces sea uno, no ponga una declaración falsa. Asegúrese de tener un buen repositorio de github con algunos buenos ejemplos. Tenga un blog tecnológico pequeño pero útil, etc. Realice la charla para que cualquier persona que vea su trabajo lo entienda como un experto.


Entonces, ¿quieres ser bueno con PHP? Aprende de :

Manual PHP

PHP: la forma correcta

Para el desarrollo completo, necesitará aprender HTML, CSS, JavaScript y una tecnología del lado del servidor como Node.js, Ruby on Rails, Python o PHP. Existen varios recursos en línea para aprender el desarrollo web. Algunos de los recursos que prefiero son:

Codecademy y Treehouse son excelentes recursos de aprendizaje. Codecademy le permitirá experimentar y aprender la sintaxis en un entorno interactivo, y Treehouse tiene miles de videos de cursos que puede ver.

Si encuentra que podría beneficiarse de una estructura adicional, considere un programa más inmersivo. Thinkful ofrece cursos Full Stack Flex (tiempo parcial) e Ingeniería de inmersión (tiempo completo). ¡Soy un mentor en Thinkful, yo mismo!

Me parece que muchos de los estudiantes con los que trabajo llegan a Pensativo después de intentar un programa de autoaprendizaje y descubrir que se beneficiarían de una orientación adicional. El beneficio de un programa como Thinkful’s es que no solo tiene acceso a un plan de estudios actualizado, sino que también tiene acceso a un mentor.

Una ventaja de trabajar con un mentor es que tiene un recurso experimentado con el que trabajar para comprender cada nuevo concepto y luchar con cada desafío. Otra ventaja es que tener sesiones regulares con un mentor ayuda a mantener a los estudiantes motivados y trabajando hacia sus objetivos. Para alguien que está en proceso de aprender nuevos conceptos de desarrollo, este es el camino que recomendaría.

“El desarrollador de pila completa sabe algo sobre todo”

Déjame responder y trataré de responder en breve. Como mencioné anteriormente, ser un desarrollador full stack no es una tarea de un día o una semana. Déjame explicarte desde cero.

Para ser un desarrollador de pila completa, debe aprender tecnologías frontend y backend y de base de datos, y trataré de enumerar algunas de ellas.

Interfaz –

Inicialmente, debe aprender html , css , bootstrap , JavaScript , jquery y siempre que sienta que es muy competente en estas tecnologías, puede aprender angularjs, reaccionar para avanzar.

Backend –

Para el backend hay muchas tecnologías presentes como php, .net, nodejs, java o python . puedes comenzar eligiendo uno de ellos según tu conve. Para avanzar, puede aprender el patrón de desarrollo de mvc

Base de datos

Tienes que aprender al menos una herramienta de base de datos y puedes comenzar con mysql o mongodb

Despliegue

Hoy todos usan tecnología en la nube para el despliegue de la aplicación. si puede aprender cualquier tecnología en la nube, obtendrá beneficios adicionales y puede comenzar con Amazon Web Services (AWS): servicios de computación en la nube al obtener una suscripción gratuita de un año, pero necesitará conocer algunos comandos básicos de Linux para administrar servidores en la nube

La mejor de las suertes ! Vota si te ayuda.

Para ser honesto, no hay mejor manera. Y usted está legítimamente abrumado cuando dice que lo está.

La web es un lugar muy volátil y por eso se está desarrollando. Las tecnologías que usa hoy pueden o no ser la mejor opción mañana. Las cosas pasan de moda rápidamente. Por ejemplo, quizás hace 12 años, PHP era muy relevante cuando se trataba de construir aplicaciones web robustas, pero hoy la gente preferiría hacerlo utilizando otras tecnologías como Node.js.

No digo esto para hacerte sentir demasiado abrumado. Aprender. Aprende todos los días. Las tres cosas que definitivamente permanecerán constantes en el futuro previsible son HTML, CSS y JavaScript. Asegúrate de conocerlos bien. Vea cómo trabajan otros desarrolladores y por qué: esta será probablemente una de sus mejores guías.

No podría recomendar una mejor manera de aprender cosas que construyendo cosas. Dése proyectos y asegúrese de que sean un poco imposibles para usted porque eso es lo que lo empujará a pensar fuera de la caja y aprender cosas nuevas para realizar la tarea que tiene entre manos.

Recomiendo Cours en ligne et formations diplômantes mentorées

¡Esto tiene todo tipo de cursos de desarrollo web, todo gratis!

Necesitas entender la Web. Entonces necesitas aprender HTML5. Además, necesitas agarrar CSS. También puede aprender java script y jquery para animación.

¡Aclamaciones!

¡Feliz desarrollo!

Freecodecamp

Aprenda a codificar y ayudar a organizaciones sin fines de lucro

Te prometo que este es el mejor lugar desde el que puedes aprender desarrollo web si quieres aprenderlo adecuadamente. Te tomará alrededor de un año dependiendo de cuánto tiempo pases todos los días, pero valdrá la pena.

Lo tienen todo planeado para ti. Solo necesita registrarse y comenzar a aprender. Además, es gratis como su nombre indica XD

Debe tener conocimiento en diseño front-end como HTM, CSS y etc. Back-end como base de datos y programación del lado del servidor como Java o PHP, algo así.