¿Por qué es tan difícil aprender el desarrollo web? Me encanta Java / C ++ / Obj-C, pero JavaScript y los múltiples frameworks / bibliotecas como Backbone, jQuery, etc., me están volviendo loco.

Me parece que necesita comenzar desde el principio para comprender los conceptos básicos del desarrollo web. En el desarrollo web tiene tecnologías frontend y backend. Las tecnologías frontend se usan para construir su interfaz web, y las tecnologías backend se usan para las interacciones del servidor. Las tecnologías frontend incluyen HTML, CSS y JavaScript (frontend). HTML y CSS son lenguajes de marcado, y JavaScript es un lenguaje de secuencias de comandos que su navegador web comprende. Existen múltiples tecnologías diferentes del lado del servidor, incluidas Node.js, Ruby on Rails y Python. Solo usará uno de estos a la vez.

Para comprender cuándo y dónde usar las diferentes bibliotecas y marcos de JavaScript, primero debe tener una base sólida en JavaScript de vainilla. No es importante que aprenda todos los diversos marcos y bibliotecas. Lo importante es que comprenda los conceptos de desarrollo web para poder elegir fácilmente cualquier marco o biblioteca según sea necesario.

Existen varios recursos en línea para aprender el desarrollo web. Algunos de los recursos que prefiero son:

  • Pensativo
  • https://developer.mozilla.org/en… para una referencia HTML básica
  • http://diveintohtml5.info para aprender HTML5
  • http://meyerweb.com/eric/css para CSS
  • http://css-tricks.com para CSS
  • https://jquery.com para jQuery
  • https://developer.mozilla.org/en… para JavaScript
  • http://stackoverflow.com para todas las tecnologías
  • CodeAcademy
  • Casa del árbol

CodeAcademy y Treehouse son excelentes recursos de aprendizaje. CodeAcademy 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 de Bootcamp de desarrollo web flexible (a tiempo parcial) y a tiempo completo. ¡Soy un mentor en Thinkful, yo mismo!

Muchos de los estudiantes con los que trabajo en Thinkful se inscriben en el programa 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. Tener sesiones regulares con un mentor ayuda a mantener a los estudiantes motivados y trabajando hacia sus objetivos. Si desea chatear con alguien en Thinkful, puede enviar un correo electrónico al Asesor de Educación, Benjy a benjy [at] thinkful [dot] com.

El desarrollo web puede ser un poco abrumador porque hay muchas partes móviles:

  • diseñando la interfaz de usuario del navegador usando HTML y CSS
  • para la programación front-end, usando JavaScript y uno de los muchos frameworks como Angular 1, Angular 2, React, Ember, Meteor, Backbone, Knockout, Polymer, Aurelia, Mercury, Mithril, Vue, etc.
  • para la programación del lado del servidor, utilizando uno de los muchos lenguajes como PHP, Java, Ruby, Python, Perl, C #, Scala, Groovy, etc.
  • usando una de muchas bases de datos como SQLite, PostgreSQL, MySQL, Oracle, MongoDB, etc.
  • implementación utilizando uno de los muchos servidores web como Apache, Nginx, IIS, GWS, Tomcat, lighttpd, etc.
  • implementación utilizando una de varias plataformas de sistema operativo como Linux, Unix, macOS, Windows, etc.
  • y así.

El uso de JavaScript para la programación front-end es especialmente complicado. Es por eso que trato de evitarlo si puedo. ¡Esos malditos marcos JS tienen la vida útil de una mosca de la fruta! Ayer fue angular. Hoy es React. Mañana, podría ser Vue o alguna otra cosa. ¿Quién sabe? ¡¿A quien le importa?!

En el lado del servidor, las cosas se pueden simplificar enormemente eligiendo un buen marco completo como web2py (para Python) o Beego (para Go). Estas cosas tienden a ocultar gran parte de la complejidad. Y la buena noticia es que estos marcos son estables . Siguen siendo populares durante años y años.

Antes que nada, ¡hola!

Mi consejo para ti sería seguir con eso.

El desarrollo web es difícil de aprender. Esto se debe a que no puedes aprender un solo idioma. Por ejemplo, para hacer un sitio web para vender productos, necesita algunos lenguajes de programación. HTML, CSS, JavaScript y otros idiomas para administrar su base de datos de productos y pagos.

Sin embargo, una vez que domine un lenguaje de desarrollo, encontrará que el resto es algo natural. También puede reducirse a los recursos que está utilizando para aprender a programar.

Si está dispuesto a gastar un poco de dinero, ¡comenzar a aprender en Treehouse gratis es un excelente sitio web para aprender! Aquí es donde aprendí todos los lenguajes de programación que conozco ahora.

Solo tenga en cuenta que nadie lo sabe todo, ya que siempre se desarrollan nuevas técnicas y lenguajes.

¡Llegarás ahí!

El desarrollo web es una extensión de lo que ya ha hecho. Forma el núcleo.

La diferencia es que dividirá los componentes que normalmente forman parte de un programa (interfaz de usuario, lógica de la aplicación, almacenamiento, etc.) están todos separados. Sumérgete en las interacciones de esa red y en la naturaleza asincrónica de la web y te divertirá un poco.

Está aplicando al menos dos lenguajes de programación (es decir, JavaScript y Java), dos lenguajes de marcado (CSS y HTML) y luego los marcos y componentes en esos lenguajes que desea aprovechar.

También estás mordiendo una tonelada métrica de aprendizaje sin una base conceptual sólida. ¡No comienzas con algo como jQuery o Backbone! Debe centrarse en comprender el modelo de desarrollo web básico: HTML, procesamiento de formularios, modelo HTML DOM, componentes y patrones del lado del servidor, como Servlets y Model-View-Controller, e interacción de back-end, como con una base de datos. Comprenda lo que hace cada una de las capas antes de comenzar a entrar en las cosas avanzadas. Sin una comprensión de la base de la web, tendrá que luchar mucho más tiempo del necesario.

Hazlo en pequeños trozos, de manera simple. Agregue capacidad progresivamente a medida que aprende y comprende cada uno a su vez.

Sí, comparativamente hablando es difícil. El desarrollo web es más o menos donde estaba el desarrollo de escritorio a principios de la década de 1990, antes de que se inventaran Visual Basic, Delphi, WPF, etc. Es un desastre incoherente de tecnologías atadas para hacer cosas para las que generalmente no fueron diseñadas.

Para acercarse remotamente al desarrollo de escritorio de hace un cuarto de siglo, debe instalar Visual Studio, nodejs, npm, webpack, typecript, Angular, SASS / LESS y luego buscar componentes reutilizables básicos como cuadrículas y gráficos de todas partes github Lo que tomó un doble clic en setup.exe en 1995 ahora lleva tres días hurgando en archivos de texto, scripts y manifiestos JSON. Es fácil olvidar cuando lo estás haciendo todo el tiempo, cuán asombrosamente aún es el desarrollo web.

Aprender el desarrollo web es difícil porque estás haciendo muchas interacciones complejas con otros protocolos y sistemas. Cuando haces tus tareas de clase, pueden estar muy enfocadas, como codificar un algoritmo específico. Sin duda, esto es complicado, pero no implica interactuar con tantas dependencias externas. Dicho esto, una buena clase de redes como la que ofrece la Universidad de Washington en Coursera puede aclarar algo del misterio. Otra cosa que realmente me permitió comenzar a hacer fuertes conexiones entre la programación orientada a objetos puros para aplicaciones web basadas en clases y bases de datos es el mapeo relacional de objetos. Esto hace que la relación entre clases y tablas sea muy clara y explícita.

Porque así es, es difícil. Creo que la razón principal de esto es la estructura / entorno diferente en el que funcionan las aplicaciones web.

Tradicionalmente, al escribir un programa, generalmente puede permanecer dentro de una pequeña burbuja de programa. Todo lo que sucede está bajo tu control. Ese no es el caso de la web.

En primer lugar, toda su aplicación se sirve a través de http, se compila y se ejecuta en un dispositivo desconocido de especificaciones desconocidas, con un comportamiento algo impredecible. La conexión a Internet no está garantizada (si está escribiendo aplicaciones con capacidad sin conexión) y no puede estar seguro de que otra secuencia de comandos que escribió realmente se cargó sin escribir cheques.

Realmente la forma en que piensas es bastante diferente a la programación tradicional. Lo que he notado que los estudiantes de CS tienen más dificultades es el acoplamiento flojo. El acoplamiento flexible es realmente importante en las aplicaciones web. Sus datos deben ser flexibles, dinámicos y receptivos, lo que significa que nunca debe buscar ‘este elemento c, que es un elemento secundario del elemento con la clase foo que viene después del segundo párrafo’. Siempre. En su lugar, use clases para identificar elementos y vincular la funcionalidad a las clases. Esto permite manipular los datos con menos problemas.

Realmente, la razón por la que es difícil es porque puede ser bastante diferente de otras áreas. Debe buscar los principios detrás de MVC e intentar no sentirse abrumado por los marcos. Básicamente es otro idioma para aprender sobre JS, así que encuentre los que realmente necesita y apréndalos correctamente. No debe esperar poder escribir algo inteligible en los primeros meses de estudio. Parece que su ‘jefe’ interno tiene expectativas irrazonables o no entiende el desarrollo para la web. Por favor, no se apresure, el código que fue escrito incómodamente es obvio para cualquiera que intente hacer cambios más tarde.

Hubiera escrito una respuesta más completa pero estoy en mi teléfono. ¡Espero eso ayude!

Solía ​​sentir lo mismo cuando comencé el desarrollo web. Y todavía lo hago a veces, pero he recorrido un largo camino sin siquiera darme cuenta. No tenía conocimientos previos de programación, por lo que fue aún más difícil para mí.

Sin embargo, no piense demasiado en los diversos marcos y tecnologías. Solo da un paso a la vez.

Desde mi camino personal hasta el desarrollo web, solía abrumarme con lo mucho que tenía que aprender e intentaba consumir todo ese conocimiento juntos. Gran error para mi. Decidí dar un paso atrás, aprender programación de procedimientos simple con PHP central, y luego agregué lentamente OOP, frameworks y luego javascript. Una vez que entendí Javascript, pasé a aprender jquery.

No te atasques demasiado con todas las diferentes tecnologías disponibles. Sé consciente de lo que hay ahí fuera, pero solo concéntrate en uno. Una vez que entiendas uno, será más fácil recoger los otros.

Todavía me siento abrumado mucho. Es algo bueno. Respiro hondo y retrocedo un paso. ¡Antes de que te des cuenta, mirarás hacia atrás y verás que has recorrido un largo camino! 🙂

Olvídate de esos marcos, solo aprende JavaScript, junto con HTML y CSS.

Como regla general, si puede hacer algo solo con HTML / CSS, hágalo. Si no, usa JavaScript. Solo vaya a frameworks si absolutamente no puede descubrir cómo hacer algo en JavaScript de forma nativa.

En mi opinión, esos marcos son dos difíciles y complicados, ¡y se inventaron para facilitar la codificación en javascript!

Puede aprenderlo fácilmente de www [.] PracticalCoding [.] En Obtendrá un mentor personal y se le enseñará en vivo.
El curso comenzará el 8 de noviembre.
Mira cómo funciona

Realmente no es tan difícil, si te interesas, será muy fácil aprenderlo. Si miras un sitio con tantas funcionalidades y elementos interactivos que consideras que ese sitio es increíble, ahora simplemente piensa que si has desarrollado eso sitio, te sentirás realmente feliz y satisfecho con ese trabajo tuyo.

Entonces, aprenda el desarrollo web pensando que algún día seguramente se convertirá en un desarrollador web con muchos sitios hermosos y agradables … y eventualmente encontrará que el desarrollo web es muy fácil.

#Solo por diversión !!!
Diviértete mientras aprendes.

Esta es definitivamente una inspiración para aprender codificación.
Chicas súper calientes que enseñan desarrollo web 😉
Aprenda codificación y desarrollo web de forma divertida

Pronto aprenderá que no son difíciles en absoluto cuando se acostumbre.

El desarrollo de aplicaciones web tiene muchas bibliotecas y extensiones porque hay muchos aficionados haciendo su hobby, lo que significa que es menos profesional y menos sofisticado.

La parte difícil se produce cuando intenta crear una estructura de fondo escalable si tiene la intención de atender una gran cantidad de solicitudes.

Así que quiero desarrollar este sitio web simple para la tienda de mi mamá. ¿Por qué demonios no puedo hacer eso de inmediato? ¿Sabes por qué?

Porque … necesito pensar en los numerosos tipos de dispositivos que usarán los clientes de mi madre y el sitio web debe complacer a casi todos y cada uno de estos dispositivos. Entonces, en lugar de escribir ese único código … escribo numerosas consultas de medios y uso todos los hacks css para complacer a esos dispositivos e IE aparece para arruinar todo en lo que he trabajado tan duro.

Lo siguiente que estoy pensando es la velocidad de carga de la página … porque los clientes de mi mamá son muy impacientes. Estoy pensando en mantener los detalles de sus usuarios de hackers malvados en todo el mundo … ahora sí … entonces me pregunto al mismo tiempo … cómo para estructurar mi base de datos … estoy pensando en realizar pruebas A / B para aumentar las tasas de conversión … me pregunto si el botón comprar ahora es demasiado grande o demasiado pequeño … estoy optimizando para SEO … ¡Dios mío!

Y eso es solo el comienzo.

La programación requiere un cerebro dominante izquierdo. Si tienes un cerebro dominante derecho (y no tienes otra opción en eso, está en tus genes), nunca serás un buen programador.

Es como una obra de arte (que requiere un cerebro dominante a la derecha): si eres dominante a la izquierda, simplemente no puedes aprender a dibujar. No importa cuánto te enseñe alguien, no hace “clic”. Pero si eres dominante, nadie tiene que enseñarte nada: ves una escena y la dibujas.

Si eres dominante a la izquierda, tienes un problema y ves el programa que lo resolverá.

(Nadie recuerda todos los marcos y bibliotecas, pero un buen programador tiene una idea de dónde buscar después de un corto tiempo. Un buen artista todavía está tratando de darle sentido a todo esto).

Porque ya sabes demasiada programación, el otro tipo.

Por cierto, cuando dices “desarrollo web”, de tu pregunta asumo que te refieres a “desarrollo web frontend”.

Dijiste que amas Java / C ++ / Obj-C, lo que significa que estás acostumbrado a programar un programa ejecutable.
El desarrollo web no se parece en nada al desarrollo de un programa ejecutable, mi sugerencia es aprenderlo como nunca antes lo habías programado.

Para mí, aprendo desarrollo web cuando todavía sé un poco de programación, por lo que inmediatamente “lo entiendo”.

¿Dónde puedes aprender JavaScript como un principiante? Recomiendo el tutorial de JavaScript de W3Schools
(Sé que w3schools es malo para profesionales, pero realmente genial como tutorial para principiantes)

La mejor manera de aprender algo es usarlo mientras tanto