Quiero aprender completamente el desarrollo web. ¿Dónde puedo encontrar una lista de libros que me pueden ayudar a aprenderlo por completo? Me alegrará saber que hay algunas series de libros de clase mundial para el desarrollo web.

Gracias por el A2A. Espero que mi respuesta aquí lo lleve a avanzar en el camino para convertirse en desarrollador web.

PREÁMBULO A LA RESPUESTA

Permítanme comenzar clasificando el “desarrollo web” en dominios más pequeños, y luego tratar de dar una idea de lo que se necesita para dominar cada uno de ellos. En mi opinión, la mayoría del “desarrollo web” se enmarca en una de estas categorías:

  1. Poner en funcionamiento un sitio web simple en un dominio
  2. Obtener un portal basado en el Sistema de gestión de contenido (CMS) en funcionamiento en un dominio
  3. Extender un CMS existente para proporcionar algunas funciones personalizadas que no están disponibles listas para usar
  4. Desarrollar un portal personalizado desde cero, con el único propósito de satisfacer necesidades comerciales específicas
  5. Desarrollar una “plataforma” (o marco) extensible que otros portales puedan usar.

[Hay varias otras formas en que uno puede dividir todo este “desarrollo web”, por supuesto, pero, aquí, voy a seguir con los tipos de proyectos más comunes para desarrolladores]

Dada mi categorización [simplista] de los esfuerzos de “desarrollo web”, ¿cómo se puede llegar a ser competente? Aquí va…

1. Obtener un sitio web simple en funcionamiento en un dominio:
Teóricamente, lo único que necesita para esto es HTML. Sin embargo, dependiendo del navegador utilizado para ver el sitio web, puede o no verse como se pretendía.

Por lo tanto, debe agregar CSS a la mezcla: restablecer los estilos definidos por el navegador / agente de usuario y luego aplicar estilo a todos los elementos HTML de la forma en que desea que se vean. En este punto, tendrá un sitio web simple que se ve y se siente como lo imaginó, sin importar el navegador o la plataforma que se utiliza para verlo [en su mayor parte, ya que existen diferencias en la visualización / representación del navegador. mismo CSS].

Según los estándares actuales, un sitio web bonito que no hace nada es, básicamente, inútil, lo menos que se espera es cierta interactividad. Aquí es donde entra JavaScript, algo que le permite crear interactividad en una página HTML …

Pero JavaScript, como la mayoría de los lenguajes, consta de utilidades primitivas, y puede ser muy frustrante tener que escribir varias líneas de código solo para asegurarse de que un botón proporcione un indicador visual al hacer clic. Afortunadamente, ese es un problema que se ha resuelto varias veces, y hay bibliotecas que lo ayudan a hacerlo en 1-2 líneas de código. Como “desarrollador web”, uno necesita conocer al menos una [o más] biblioteca de JavaScript … no como un prerrequisito técnico, sino por el bien de la productividad.

En esencia, todos los “desarrolladores web” necesitan saber, al menos, los conceptos básicos de HTML / CSS / JavaScript, y una biblioteca de JavaScript. Aquí hay algunos recursos para aprender HTML / CSS / JS:

  1. Tutoriales web en línea de W3Schools
  2. Red de desarrolladores de Mozilla

Aquí hay una lista de las bibliotecas / marcos JavaScript populares de uso común [con los que he trabajado]:

  1. jQuery
  2. Herramientas inmejorables de JavaScript: el kit de herramientas de Dojo
  3. Biblioteca YUI
  4. Marco de JavaScript para crear aplicaciones web de escritorio enriquecidas

2. Poner en marcha un portal basado en CMS en un dominio:
¿El sitio web simple que describí en el n. ° 1? Se ve bien y hace algo cuando se hace clic en un botón, etc. ¡Excelente!

Sin embargo, hay un gran problema: no es fácil agregarle más contenido / páginas o cambiar el texto en el sitio web. Lo que necesitamos es un sistema que permita que varias personas cambien el contenido [según los permisos de acceso, por supuesto] fácilmente. Este es el problema que los sistemas de gestión de contenido resuelven …

Si la definición de “desarrollador web” equivale a “alguien que construye sitios web donde las personas inician sesión, agregan / modifican / eliminan contenido y luego cierran sesión”, todo lo que uno necesita agregar a la caja de herramientas es saber cómo manipular uno [ o más] marcos en esta Lista de sistemas de gestión de contenido

En esencia, uno puede “desarrollar” sitios web que brinden mucha funcionalidad al agregar componentes estándar de FOSS en un CMS conocido, y luego diseñar las páginas web para que se ajusten a las pautas de marca del Cliente.

Personalmente, he trabajado solo en el siguiente CMS basado en PHP, y todos son bastante buenos:

  1. Drupal.org | Fontanería comunitaria
  2. Joomla! El CMS en el que confían millones para sus sitios web
  3. Open Source CMS / Framework
  4. WordPress ›Herramienta de blog, plataforma de publicación y CMS

Uno puede detenerse aquí si el objetivo es ganarse una vida digna, esencialmente, ser un “experto en desarrollo web” sin hacer ningún “desarrollo” real en el día a día.

3. Extender un CMS para proporcionar una funcionalidad personalizada no disponible de fábrica
El problema con detenerse en el n. ° 2 es que, cuando un Cliente regresa con un requisito específico basado en casos de uso de negocios, puede o no haber un módulo comercial que se integre en el CMS de elección que ya cumple los requisitos.

Cumplir los requisitos específicos de casos de uso de negocios es donde la “programación real” comienza a entrar en juego … y, dependiendo del CMS de elección, uno necesitará agregar PHP / RoR / Java / Python / et al. a la caja de herramientas.

Esto requiere aprender un lenguaje de programación y, en la mayoría de los casos, cierto conocimiento de la persistencia / recuperación de datos, ya sea un sistema de almacenamiento basado en un sistema de archivos, un RDBMS o NoSQL.

En mi experiencia, PHP parece ser el lenguaje / marco de elección más popular para desarrollar sistemas CMS, mientras que MySQL y MongoDB parecen constituir las opciones populares para los almacenamientos RDBMS y NoSQL respectivamente. Uno puede aprender sobre cada uno de estos en sus respectivos sitios web:

  1. Preprocesador de hipertexto y tutorial de PHP 5
  2. La base de datos de código abierto más popular del mundo.
  3. El manual de MongoDB 2.6

Tener un conocimiento profesional de PHP / MySQL / MongoDB y el servidor web utilizado para alojar el CMS (generalmente, Apache) es otra etapa en la que uno puede detenerse y ser un experto en “desarrollo web”. Sin embargo, esta etapa implicará algo de programación, y ayudará a extender / modificar el CMS para garantizar el cumplimiento de casos de uso comerciales específicos …

4. Desarrollar un portal personalizado desde cero
Esta es la categoría en la que la programación “real” es absolutamente necesaria: no se tiene nada para comenzar y se necesita instalar un portal web que implemente casos de uso de negocios específicos del cliente, según lo definido por algún tipo de documentos de requisitos.

Dado que los casos de uso de negocios se pueden ejecutar desde el simplista [capturar datos del perfil del usuario durante el registro, por ejemplo] hasta los muy complejos que involucran flujos de trabajo que duran más de días [el proceso de originación del préstamo, nuevamente, por ejemplo], supondré aquí que desarrollo “implica desarrollar solo el portal, y no las capas de lógica de negocio / middleware.

En ese supuesto, el “desarrollador web” es responsable de:
1. Las páginas HTML reales con las que el usuario ve / interactúa en cada visita al portal
2. El código del lado del servidor que recupera los datos que muestran las páginas en el n. ° 1 (de un medio de almacenamiento o de otro sistema)
3. El código del lado del servidor que almacena los datos ingresados ​​por el usuario en las páginas del n. ° 1 (en un medio de almacenamiento o en otro sistema)

El desarrollo de las páginas HTML requiere el mismo conjunto de habilidades que las enumeradas en la categoría # 1: desarrollar sitios web HTML simples. Sin embargo, es posible que se necesiten algunas habilidades adicionales, a saber, cierta familiaridad con los Patrones de experiencia del usuario, Principios de diseño: Jerarquía de patrones de información y el uso de la biblioteca JavaScript antes mencionada para obtener / almacenar datos del servidor web.

El desarrollo del código del lado del servidor para enviar datos a pedido y almacenar datos según sea necesario es otra área donde entra en juego la “programación real”. Es posible que el “desarrollador web” deba tomar varias decisiones incluso antes de escribir la primera línea de código.

Por ejemplo:
1. ¿Cuál es la plataforma de elección para desarrollar el servidor? Las opciones obvias son Java (y cualquier cosa escrita encima de la JVM), .NET, PHP, RoR, Erlang y node.js

2. ¿Se debe optar por la programación orientada a objetos, la programación funcional, la programación dirigida por eventos o algún otro estilo? La respuesta a esta pregunta influirá en la elección de la plataforma …

3. Si, por ejemplo, la plataforma elegida es Java, ¿se va con J2EE, es decir, la ruta “tradicional”? ¿O se va con algo nuevo como Vert.x? ¿Qué tal la búsqueda ha terminado. o The Scala Programming Language, que tienen un uso bastante extendido?

4. ¿Es más sencillo llenar las páginas HTML / CSS / JavaScript completamente en código, o debería uno de los motores de plantillas desde aquí: Comparación de motores de plantillas web?

5. ¿Cuál es el mecanismo de almacenamiento de datos? ¿Un sistema existente que es responsable del almacenamiento / recuperación de datos en varios otros sistemas? ¿Un RDBMS como MySQL o PostgreSQL? ¿Una solución NoSQL como MongoDB o Cassandra? ¿Una combinación de los tres (Autorización / Autenticación en un sistema existente, con algunos datos en RDBMS pero datos transaccionales en NoSQL, por ejemplo)?

6. ¿Qué tipo de escalabilidad / fiabilidad / rendimiento necesita el lado del servidor? ¿Es necesario un caché (como Memcached o Redis)? ¿Cómo va a escalar el sistema y qué mecanismos deben establecerse para garantizar que varias instancias del servidor con equilibrio de carga no operen en la misma pieza de datos al mismo tiempo, produciendo diferentes salidas?

7. ¿Cómo se logra la comunicación entre el servidor web y el navegador – Formulario antiguo POSTS / SOAP Requests / RESTful API? ¿Cuál es el mecanismo de formato de datos – XML ​​/ JSON? ¿O hay un requisito para el intercambio de datos en tiempo real usando WebSockets?

[NOTA: no estoy haciendo otras preguntas que definitivamente necesitan ser respondidas; en su mayor parte, otros especialistas se encargan de esas operaciones, y no los desarrolladores web. Diseño de esquema RDBMS, por ejemplo, o topología de red]

No existe una respuesta única para todas estas preguntas, y cualquier combinación de las tecnologías mencionadas en esas 7 preguntas es una combinación válida.

Los “grupos” tecnológicos más comúnmente conocidos son:
1. Pila Java / J2EE: con múltiples variaciones según el cliente.
2. La pila de Microsoft: esencialmente, todo en .NET e IIS
3. La pila LAMP, con Memcached como caché
4. MEAN stack, con Redis como caché

Uno podría, por supuesto, tener una pila como la siguiente:
1. node.js / express.js como marco
2. Redis como el caché
3. PostgreSQL como el RDBMS
4. Dojo Toolkit como la biblioteca de JavaScript de elección en las páginas HTML

O este:
1. ERuby como lenguaje, ejecutándose en una JVM, como framework
2. Memcached como el caché
3. SQL Server como el RDBMS
4. MooTools como la biblioteca JavaScript elegida

La segunda es una pila más peculiar, pero el punto es que funcionará, y probablemente funcionará tan bien como la primera pila. Sin embargo, en mi experiencia, un “desarrollador web” puede sobrevivir aprendiendo cualquiera de los “grupos” tecnológicos mencionados anteriormente.

¿De dónde aprender cada pila? Varias fuentes en Internet, pero, hasta donde yo sé, no hay un sitio web “canónico” para aprender ninguno de ellos.

5. Desarrollar una “plataforma” extensible
Esto es, básicamente, una extensión a la categoría # 4, en el sentido de que las decisiones que el “desarrollador web” debe tomar son exactamente las mismas.

El único caso de uso adicional que admiten las plataformas es que varios otros sistemas [y no solo el HTML “incorporado”] pueden acceder a los datos de los que es responsable este portal.

Desarrollar una plataforma, por lo tanto, requiere una decisión adicional: ¿Cómo se expone la API a sistemas de terceros? ¿JABÓN o DESCANSO? ¿Y cuál es el formato de datos? XML o JSON?

La tendencia actual parece ser JSON sobre RESTful API. Aquí hay algunos recursos para comenzar con el diseño de RESTful API:

  1. Diseño API | Apigee
  2. Transferencia de estado representacional

FIN DE PREÁMBULO A LA RESPUESTA

Ese fue un largo preámbulo, estoy de acuerdo, espero que haya sido útil para explicar mis puntos de vista sobre lo que implica el “desarrollo web”. Como se puede ver, hay varias cosas que intervienen en él, y ninguna persona puede ser verdaderamente un “maestro” en absoluto. Lo mejor que se puede esperar es elegir una “pila de tecnología” e intentar dominar esa pila.

LA RESPUESTA
La pregunta que se hace es qué libros, cuando se leen, harán de uno un maestro del “desarrollo web”. A eso, mi respuesta es:

Hay demasiadas cosas involucradas en el “desarrollo web” para que cualquier conjunto de libros sea realmente útil. Sin embargo, lo que será útil es el mismo conjunto de habilidades que hacen de cualquier persona un buen desarrollador:

  1. Algún sentido estético: las páginas HTML deben verse bien. Por lo tanto, aproveche los marcos como Bootstrap y El marco front-end receptivo más avanzado de ZURB para garantizar que el portal esté utilizando estilos de aspecto y sensación [casi] estándar de la industria
  2. Algunos pensaron en diseñar las estructuras de datos RESTful API y JSON que pasan de un lado a otro: seguir las mejores prácticas aquí ahorrará mucho tiempo en el futuro cuando un cliente de terceros necesite usar los datos de los cuales el portal web en cuestión es responsable, o cuando las nuevas versiones de la API necesitan ser desarrolladas y lanzadas.
  3. Una buena y sólida comprensión de los patrones de diseño, algoritmos y estructuras de datos, para garantizar que el código sea mantenible y extensible a largo plazo.
  4. Una buena y sólida comprensión de los modelos de concurrencia, factores que afectan la escalabilidad y la confiabilidad, para garantizar que el centro de datos pueda implementar instancias agrupadas y con equilibrio de carga de su portal sin experimentar dificultades.

Puede recoger las habilidades mencionadas anteriormente en los libros, por supuesto, y para los desarrolladores principiantes, definitivamente serán útiles. Sin embargo, mi consejo para usted será que elija una pila, piense en un proyecto de software libre que sea popular en una pila diferente y el puerto: nada lo ayuda a aprender a escribir código mejor que escribir código.

Aquí hay algunas ideas [aleatorias] sobre lo que puede hacer para practicar:

  1. Puerto http://www.joomla.org/ o http://www.redmine.org/ a la pila MEAN
  2. Puerto http://expressjs.com/ para, por ejemplo, eRuby o vert.x

La idea aquí no es completar la transferencia, sino poder aprender 2 pilas diferentes casi al mismo tiempo. Si logras terminar el puerto, eso será increíble, aunque 🙂

Espero que esto ayude. ¡La mejor de las suertes!

PD: Es una respuesta larga, larga, y puede haber varios errores ortográficos y gramaticales aquí. Mis disculpas por cometer errores de comisión y omisión, y siéntase libre de editar / corregir, según sea necesario.

EDITAR: Por alguna razón, algunas partes de mi respuesta original se repitieron en el texto. Entonces, con suerte, la respuesta se vuelve más corta y más legible ahora. Disculpas por lo que haya causado ese error.

Bueno, dudo que realmente puedas aprender / dominar el desarrollo web leyendo libros.

El desarrollo web es mejor aprendido y dominado por la práctica y la exploración. Casi todo lo que necesita saber sobre el desarrollo web está disponible de forma gratuita y dispersa como blogs, artículos y tutoriales en Internet: use su motor de búsqueda favorito y comience a explorar. Deberá invertir y dedicar mucho tiempo frente a su computadora con conectividad a Internet para continuar su viaje en la exploración del aprendizaje de la tecnología web.

Para comenzar su aprendizaje, recomendaría los siguientes pasos (basados ​​exclusivamente en mi opinión personal):

  • Primero aprenda sobre la semántica del protocolo HTTP (sé que es un enfoque de abajo hacia arriba y muy radical, pero funciona muy bien). Necesitará saber qué son las solicitudes HTTP, qué significan los códigos de estado HTTP, los patrones y encabezados de solicitud / respuesta, las sesiones, las cookies, etc. Aprenda sobre la arquitectura RESTful.
  • Conozca cómo funcionan los servidores web y los servidores de aplicaciones web (servidores http, CGI, FGCI, middleware del lado del servidor) desde la perspectiva arquitectónica. Pruebe e instale un marco de servidor de aplicaciones web de su elección (hay muchos proyectos de código abierto para elegir, personalmente recomiendo Node.Js). Obtenga una comprensión básica sobre cómo poner en funcionamiento el servidor web y servir páginas web básicas desde la documentación de su sitio web desde su sitio web – node.js
  • Aprende HTML y HTML5. Puedes comenzar desde aquí:
    Red de desarrolladores de Mozilla: guías y referencias HTML (HTML)
  • Aprende CSS desde aquí:
    Red de desarrolladores de Mozilla – Guías y referencias CSS (CSS)
  • Practique lo que aprende creando ejemplos de páginas HTML / HTML5 con estilos CSS y renderizándolos en un navegador web.
  • Aprende JavaScript desde aquí:
    Red de desarrolladores de Mozilla – Guías y referencias de JavaScript (JavaScript)
  • Una vez que haya aprendido las tecnologías básicas del lado del cliente, es posible que desee aprender también la programación del lado del servidor. Node.js es un buen puente (ya que también puede aplicar las habilidades de JavaScript que aprendió en el lado del cliente al lado del servidor).
  • Aprenda los marcos de aplicaciones web del lado del servidor como express (framework de aplicaciones web node.js)
  • A medida que aprenda las tecnologías anteriores, intente crear sitios web que funcionen desde cero e improvise en ellos. Pruebe y explore varios kits de herramientas, bibliotecas y marcos en Internet (tanto para tecnologías del lado del servidor como del lado del cliente): experimente con ellos, aproveche para agregar características a sus proyectos de aplicaciones web
  • Conozca los trucos y rasgos de algunos de los principales gurús del desarrollo web (como se documenta en sus blogs, artículos y diarios). Mire algunos de los sitios web impresionantes, explore / realice ingeniería inversa de su código del lado del cliente y vea cómo funcionan.

Esto es solo el comienzo, como equilibrarse en una bicicleta. Una vez que hayas llegado a este punto, descubrirás automáticamente los siguientes pasos por tu cuenta 😉

Por lo tanto, es un ciclo continuo de aprendizaje y mejora en lo que ya sabe de los recursos disponibles y compartidos en Internet.

¡Así es como se convierten los verdaderos desarrolladores web!

¡Buena suerte en tu esfuerzo!

Hola anónimo Gracias por el A2A.
En lugar de recomendarte los libros, te diré el enfoque que me ha ayudado mucho personalmente. ( Descargo de responsabilidad : el único libro de Web Dev que estudié fue un Capítulo de HTML en nuestro Libro de texto de la Séptima Clase, esos eran momentos en que era elegante)

Desglosaría la curva de aprendizaje del desarrollo web en tres fases.
1. Comprenda la lógica: si está familiarizado con la programación, sabe qué esperar. Si no, no hay nada de qué preocuparse. Comience con PHP y MySQL. Es muy fácil configurarlos, y aún más fácil codificarlos. Ideal para principiantes.
Principios de PHP y MySQL: de principiante a profesional (Voz de expertos en desarrollo web): W Jason Gilmore: 9781430231141: Amazon.com: Books es un libro que te ayudará mucho. Realmente nunca lo leí, pero lo hojeé una vez en una biblioteca y descubrí que era realmente útil. En ese momento, comencé a considerarme un buen programador de PHP, pero este libro todavía me enseñó (en literalmente 5 minutos, descubrí 4 nuevos conceptos que me ayudaron en mi próximo proyecto).
Pero antes de leerlo, te sugiero que comiences a construir algo. Abhay Rana me retó a hacer un “clon de Twitter en una semana”. Era muy básico, sin AJAX, sin javaScript, validación mínima, pero lo logré y estaba orgulloso de ello. Aunque ahora veo enormes fallas enormes en ese código, aún lo conservo como una reliquia nostálgica.

2. Diseñe la cara: simplemente, cómo aparecería su IU, cómo el usuario descubrirá qué botones alternar para lograr qué acción, qué enlaces hacer clic para llegar a dónde. Las personas, en su mayoría principiantes, a menudo ignoran este aspecto de la Web y fracasan miserablemente, o crean sitios web malos, siempre que planean convertirse en profesionales. Así que, ¡cuidado, una página hermosa es imprescindible!
Para empezar, observe los sitios web que considera hermosos. Luego, intente construir esos diseños por su cuenta. Cuando no pueda lograr algo, use Google. Por ejemplo, si desea una acción de clic para alternar el color del botón, busque el color del botón de alternar al hacer clic en JavaScript
Debido al alcance generalizado y la universalidad de JavaScript (y una buena cadena de búsqueda de su parte), lo más probable es que obtenga lo que necesita. Experimente con varios tipos de validaciones y procesamiento de datos. Vea lo que funciona mejor para usted. Tenga en cuenta que está haciendo estos complementos en la aplicación que comenzó a construir en el Paso 1.

3. Haciéndolo increíble: lo que tienes hasta este punto es un sitio web que (posiblemente) hubiera sido bueno si se usara a principios de los 90. Ahora es el momento de ensuciarse las manos con UX. No usarías nada si no fuera divertido de usar. ¡Hago clic en un botón porque es hermoso! Cuando, después de completar esta respuesta, haga clic en el botón azul “Agregar respuesta”, estaré encantado de cómo se aprieta y mi animación Quora se hace cargo del flujo de mis pensamientos. Aprende todo eso. Personalmente evité AJAX hasta que estuve un año en Web Dev. Lamento haberlo hecho, aunque lo compensé más tarde. ¡AJAX es increíble! jQuery es asombroso. ¡Abrázalo!
Tu amigo fiel Google Search siempre está a tu lado. Literalmente aprendí todo, sí, TODO lo que sé a través de la Búsqueda de Google. CSS-Tricks, http://www.smashingmagazine.com/ , etc. son blogs increíbles para explorar lo que está de moda en UX.

4. Expandiendo horizontes: aprenda sobre otras tecnologías, como J2EE, Python, Rails, etc. Todos estos tienen una gran cantidad de documentaciones en línea y libros electrónicos gratuitos y no pirateados. Ahora revisa libros al azar que son altamente recomendados y sonríe ante lo poco que sabías cuando comenzaste.

(Actualizaré la respuesta cuando tenga más ajustes a esto)
Todo lo mejor; ¡feliz aprendizaje!
Bienvenido a Web Dev. ¡Al infinito y más allá!

Mucha gente ya ha respondido esto y algunos han compartido pocos enlaces, detalles de libros. Permítanme compartir mi respuesta de todos modos como se me pidió.

No solo para el desarrollo web, sino para cualquier cosa que alguien necesite aprender en la vida, los libros por sí solos no son suficientes. Hay que intentar, fallar, fallar y luego hacer que funcione. Dado que solicitó un desarrollo web completo, le respondo con poca visión amplia en mente y no solo front-end solo.

  • Comience con la imagen general de Cliente-Servidor y luego sumérjase lentamente en ella.
  • Comprender el protocolo HTTP, el mecanismo de solicitud / respuesta, etc.
  • Comprender los clientes HTTP (navegadores) y los servidores (Apache, Tomcat, IIS, etc.) y sus funciones.
  • El desarrollo web completo no se trata solo del lado del cliente, sino también del desarrollo del lado del servidor. Aprenda e intente comprender ambas partes tanto como sea posible.
  • Haga algunas tareas pequeñas para usted mismo con ideas en mente para aplicar y evaluar su aprendizaje.
  • Si desea enfocarse en el desarrollo front-end web, entonces necesita aprender HTML, JS, CSS, su propósito y cómo trabajan juntos para hacer algunas cosas bonitas en el navegador.
  • Explore y estudie otras aplicaciones web de código abierto y aprenda cómo se desarrollan.
  • Aprenda sobre los marcos de desarrollo web: Rails, Django y Spring, etc.
  • Aprenda a usar las herramientas relacionadas: IDE, FTP, SSH, Shell Scripts, SVN, GIT, etc.

Ahora esta lista puede parecer muchas cosas para aprender, pero no es tan difícil. También recuerde que aprender algo es una cosa y convertirse en un experto es otra. Dominar lleva mucho tiempo. Necesita un enfoque dedicado y una mente curiosa para sumergirse más y más en él.

Ahora de vuelta a los libros. Lamentablemente, es posible que no pueda ayudarlo con la lista exacta de libros, pero sugeriría que consulte los sugeridos por otros. Personalmente aprendí el desarrollo web usando Quanta (Quanta – KDE UserBase Wiki) en Linux Box en el pasado (2002-2003). Tenía documentación integrada para HTML, MYSQL, PHP, etc. y así es como empecé.

¡Buena suerte!

Yo diría que comienza aprendiendo lo siguiente:
1. JavaScript
2. HTML5 y CSS

En lugar de basar su aprendizaje exclusivamente en libros, intente también aprender de la propia Web. Algunos enlaces útiles son:
1. Los mejores recursos para aprender JavaScript
2. https://developer.mozilla.org/en
3. http://jsfiddle.net/

Una vez que haya terminado con lo anterior, intente familiarizarse con ciertos marcos y bibliotecas de JavaScript comunes:
1. jQuery
2. knockout.js
3. angular.js

Básicamente ahora, después de haber aprendido lo anterior, está en ese punto donde puede aprender cosas de acuerdo con sus necesidades.

También tenga en cuenta que el mundo del desarrollo web es enorme. Es absolutamente imposible aprender “todo” sobre todo. Sin embargo, es posible volverse competente en un pequeño subconjunto de tecnologías / idiomas.

No se recomienda leer libros en el desarrollo web (ya que la información se actualiza continuamente). Debería leer los datos de la red con más frecuencia que confiar en los libros.

para el front end:
Nivel básico :
HTML + CSS + JavaScript + JQuery + AJAX: Tutoriales web en línea de W3Schools

Nivel más alto :
HTML: Un recurso para desarrolladores HTML5 web abiertos; HTML5
CSS: hojas de estilo en cascada
Javascript: JavaScript
JQuery: jQuery
(Puedes usar php para renderizar)

Para backend:
– Teniendo en cuenta la utilización de la aplicación web que va a desarrollar, debe decidir qué modelo de base de datos (sql o noSql) se adaptará a su aplicación y con qué idioma desea desarrollarla.
-Para SQL dbs puede usar mysql como su db persistente y sqlite como su db de prueba; Para Nosql puede usar mongoDB como su db persistente y redis como caché.
-Para operaciones asincrónicas, puede usar CELERY para que pocas de las tareas se puedan completar en segundo plano.
-Para un desarrollador de Python, los siguientes sitios son muy útiles.
python: Bienvenido a Python.org
mongoDB: MongoDB
redis: Redis
mysql: la base de datos de código abierto más popular del mundo
sqlite: Página de inicio de SQLite
apio: apio: cola de tareas distribuidas

PD: Para cualquier problema, stackoverflow siempre está ahí para ti.

He leído estos El primero es todo lo que necesitas en realidad. Otros son para referencia adicional. Todos estos son publicados por O’Reilly.

1. Aprender PHP, MySQL, JavaScript, CSS y HTML5: una guía paso a paso para crear sitios web dinámicos

2. JavaScript: la guía definitiva: active sus páginas web (guías definitivas)

3. PHP Cookbook: soluciones y ejemplos para programadores PHP

Recuerde tener a mano la documentación oficial de PHP / JavaScript o lo que sea que esté aprendiendo. Esto ayuda mucho.

Sigue estos enlaces

50 libros imprescindibles sobre desarrollo web – Artículo de Tuts + Code

Los mejores libros de desarrollo web: ¡según lo votado por usted! – Artículo de Tuts + Code

Nettuts + Libros de desarrollo web aprobados

http://code.tutsplus.com/article

No te daré ningún recurso. Las otras respuestas te han dado más recursos de los que pude. Sin embargo, diré esto: no vas a dominar el desarrollo web solo leyendo un montón de libros. La programación (cualquier programación, incluido el desarrollo web) requiere experiencia. La experiencia no se puede enseñar ni estudiar a partir de un libro. Debe ser ganado. Así que adelante y lea libros, pero no olvide aplicar sus habilidades, porque esa es la única forma en que aprenderá los ‘detalles AZ’.
También deberías leer esto:
Enseñate a ti mismo a programar en diez años

Esta es una pregunta muy abierta y estoy seguro de que muchos compartirán mi opinión de que no existe esto como aprender completamente el desarrollo web. Uno puede intentar familiarizarse con varios aspectos del desarrollo web de software. Ahora, antes de intentar responder a esta consulta, haría algunas suposiciones (tal vez algunas de ellas podrían no ser correctas) a) Eres bastante nuevo en el desarrollo de software, b) Tratando de comprender cómo construir una aplicación web simple c ) Tal vez en pocas semanas quiera intentar construir un sitio más robusto
Para comenzar: a) Debería comprender html, css (Pruebe la serie de libros para dummies o el sitio de las escuelas del W3C) b) Practique lo que ha leído y antes de saltar al siguiente paso, comprenda html y las hojas de estilo c) Elija un idioma con los que pocos de sus amigos cercanos están un poco convencidos puede ser python, .net (C #, VB.NET) o cualquier cosa que le parezca deseable d) Busque o pídale a un amigo que defina un enunciado del problema para el que pueda construir un sitio web. sitio e) Comience a construir y resuelva los desafíos que se presentan

Una vez que haya creado el sitio por completo, tendrá confianza para avanzar y adentrarse en el mundo de la programación y la programación web en general, Happy Coding 🙂

Creo que si comienzas a leer libros para el desarrollo web en un intervalo de tiempo muy menor, comenzarás a aburrirte.

en mi opinión, usted va para iniciar su sitio web personal, para obtener una comprensión básica del lenguaje web, vaya a los Tutoriales web en línea de W3Schools, intente usar una plantilla web gratuita, aprenda a diseñar software como photoshop, Adobe Edge series, piense creativamente y busque con seguridad su aplicación web .

Intente aprender código de plantillas, sitios web, ejemplos, proyectos y, por supuesto, trabajando en su proyecto.

si realmente quieres aprender por libro, te recomendaré que busques cualquier libro que dé suficiente conocimiento para comenzar o encabezar la primera serie de libros.

Por último, pero no menos importante, aprende mientras trabajas.

Conceptos básicos: HTML, XHTML, CSS y JavaScript iniciales: Jon Duckett: 9780470540701: Amazon.com: Libros

Inmersión en jQuery: JavaScript y jQuery: The Missing Manual: David Sawyer McFarland: 9781449399023: Amazon.com: Books

PHP: PHP inicial y MySQL: de principiante a profesional (Voz de expertos en desarrollo web): W Jason Gilmore: 9781430231141: Amazon.com: Libros

No creo que leer libros ayude. Pronto olvidará las cosas y todo su arduo trabajo será inútil. Deberías hacer algunos proyectos (comenzar con poco) . Si tiene dudas , consulte libros o material en línea que otras personas mencionen. Aprende nuevas tecnologías. No tiene sentido aprender completamente el desarrollo web. Mantenga sus metas pequeñas y claras.

Bueno, http://www.lynda.com es un sitio increíble para aprender todo tipo de cosas interesantes. El sitio web proporciona videos tutoriales descargables para una gran cantidad de temas, incluyendo desarrollo web, PHP, SQL, AS400, etc. Definitivamente es algo que debe probar. Los sitios web mencionados en otras respuestas también son geniales.

Primero tendrá que comenzar con los conceptos básicos del desarrollo web, es decir, HTML, CSS.
Para HTML y CSS, recomendaría los siguientes libros:
1. Encabezar primero HTML y CSS
2.Html y css: diseño y creación de sitios web por Jon Duckett
3.Html, xhtml, css para tontos
4. Desde cualquier tutorial en línea como Página en w3schoosl.com
Después de aprender HTML y CSS, tendrá que aprender otros idiomas como Javascript, jquery, ajax, php.
Para eso, puede usar la serie Head First, ya que ha preguntado acerca de una serie de libros de clase mundial.

Lo siento si esto no responde a la pregunta directa, pero como han notado otros encuestados, es bastante extraño que se les pregunte cómo aprender el desarrollo web de un libro.

Aumentando las respuestas existentes, diría que debe comenzar de manera simple. El desarrollo web no es tan simple hoy como lo era en los días en que una persona, el llamado ‘webmaster’, tenía un sitio web completo, pero aún puede aprender cómo ser un webmaster en algún sentido, que es el primer paso de ser desarrollador web

Entonces, aunque la mayoría de las personas aquí se están centrando en HTML / Javascript, hay lugares más fáciles para comenzar. ¿Qué tal simplemente aprender a poner un sitio web básico en línea?

WordPress resume muchos de los detalles de guardar un sitio web para usted; incluso como desarrollador web experimentado, todavía lo uso cuando un cliente llama a un sitio que no es principalmente interactivo: un ‘desarrollador real’ podría no llamar a este desarrollo, ¡pero las personas reales no pueden notar la diferencia!

Intenta instalar WordPress en tu computadora local o en otra cuenta de hosting. Debería poder encontrar un buen tema y configurarlo con contenido. A continuación, puede probar suerte personalizando un tema (¡no tan difícil como podría pensar!), Instalando complementos y, más avanzado, escribiendo complementos.

Añadiría que todo es más fácil si tienes una idea para practicar. Cuando tenía 14 años, era un amigo y quería crear un sitio web para alojar la biblioteca de ROMs de Super Nintendo y tener un resultado tan específico en mente hizo que fuera mucho más fácil aprender que solo centrarme en ‘aprender desarrollo web’.

En el caso del desarrollo web, debe aprender html, php o ASP.NET, javascript, css (opcional) y necesitará algunos conocimientos de la base de datos. Para ello, puede leer desde tutorialspoint desde el siguiente enlace
Últimos tutoriales para LISP, jQueryUI, QC, D Programming, JCL, Computer Programming, Cloud Computing …
Ahora, si desea una copia impresa, puede comenzar aprendiendo php y mysql con poco conocimiento de html, hay un buen libro para eso
Principios de PHP y MySQL: de principiante a profesional (Voz de expertos en desarrollo web): W Jason Gilmore: 9781430231141: Amazon.com: Libros

Recomiendo un enfoque interactivo y comenzar con el curso de Desarrollo Web de Udacity:

Curso de desarrollo web en línea – Cómo construir un blog – Udacity

Una vez que tenga los fundamentos, simplemente salga e intente crear la aplicación que desee. Aprenderá mucho simplemente luchando, leyendo documentación y leyendo código fuente abierto.

Comience desde w3schools.com

Aprender

1.HTML
Guión 2.javas
3.CSS

Luego intente diseñar un sitio web con los conocimientos que tiene. Luego sigue improvisando ese mismo sitio web hasta que estés satisfecho.

Una vez que haya implementado el sitio web básico, necesitará algunos otros idiomas, como jQuery, etc., que puede aprender en el momento.

Si comienzas con un libro y decides implementar las cosas después de aprender todo, eso nunca sucederá, porque el desarrollo web es un océano. Por lo tanto, el aprendizaje y la implementación deben ir de la mano.

Todo lo mejor para tus aventuras.

Solo trato de responder ya que era una solicitud de A2A.

dado que la velocidad a la que las nuevas tecnologías se incorporan al desarrollo web es mucho mayor que la velocidad a la que puede aprender esas cosas.

No puede aprenderlo por completo, trate de lograr la especialización en pocos conjuntos de tecnología.

More Interesting

Si quiero aprender solo un lenguaje de programación y uno para desarrollo web, ¿cuál debo elegir?

Tengo 16 años y quiero iniciar una puesta en marcha de software y desarrollo web, ¿sería prudente si tuviera algún tipo de idea innovadora (que no tengo)?

No estoy alcanzando ningún hito en el aprendizaje del desarrollo web. ¿Estoy en el camino equivocado?

Tengo problemas para aprender CSS en Codecademy. ¿Cuál es un sitio web más fácil de aprender?

Si elijo crear el front-end y el back-end de un sitio web y cargué el código al host y quiero actualizar el sitio, ¿qué debo hacer?

Necesito agregar la función de notificación en mi sitio web como la de Facebook usando PHP y MySQL. ¿Cómo debo comenzar?

Estoy trabajando en un sitio porno. ¿Cómo obtengo contenido para agregar al sitio?

Desarrollo web, ¿cuál es el tema de tendencia único más que nada?

Estoy trabajando de forma remota en un sitio web. ¿Cuál es la mejor manera de enviar código HTML / CSS a los desarrolladores? ¿Permitirles ver el código o copiarlo en un documento separado?

¿Qué debo aprender a continuación si conozco HTML, CSS, JavaScript, jQuery, PHP, MySQL y WordPress?

Aprendí HTML y CSS y ahora estoy aprendiendo JavaScript. ¿Cómo construyo un sitio que mantenga las opciones del usuario?

Sé HTML, CSS, Bootstrap y Javascript. ¿Qué proyectos debo hacer para exhibir en el sitio web de mi cartera?

Tengo 23 años y gano 80k / año como desarrollador front-end. ¿Qué puedo comenzar a hacer con mi dinero para no tener que trabajar cuando tenga 30 años?

He estado aprendiendo desarrollo web porque quiero hacer trabajo independiente. ¿Cómo sé cuándo estoy listo?

Voy a comenzar una empresa de alojamiento web. Quiero comprar un plan de revendedor y luego vender espacio de alojamiento para particulares. Como soy nuevo, ¿hay algún libro o video tutorial al ver cuál puedo usar para impulsar mi negocio?