Cómo aprender PHP desarrollo web lo más rápido posible.

Lo primero que debe hacer es darse cuenta de que está tratando de abordar dos trabajos a la vez (posiblemente 3 o 4 trabajos diferentes en algunas compañías, donde el diseño de UI, UX y diseño visual son posiciones separadas). Para ser justos, no es una combinación totalmente impopular y le dará una mayor ventaja que, digamos, ser un diseñador de UX y un DBA, pero también es el doble de trabajo que solo aprender uno u otro.

UX / UI

En el lado de UX y UI, los siguientes sitios son útiles:
Definición e información del campo complejo de la experiencia del usuario (UX)
UX Booth – Una publicación de diseño de experiencia de usuario
Interaction Design Association – Página de inicio
Yahoo Design Pattern Library
UI-Patterns.com
Patrones de diseño móvil, recursos e inspiración.

Los siguientes libros también son valiosos:
No me hagas pensar
Diseñando lo obvio
Comunicar diseño: desarrollar documentación de sitio web para diseño y planificación

Temas específicos en los que debería enfocarse:

  • diseño de interacción (IxD)
  • usabilidad
  • pruebas de usuario
  • arquitectura de la información (IA)
  • accesibilidad
  • diseño centrado en el usuario (UCD)
  • wireframing (esta es una gran notación: notación de bocetos interactivos)

Diseño visual

En el lado del diseño visual, aprenda a usar software como Photoshop, Sketch e Illustrator. Aprende sobre tipografía, sistemas de cuadrícula, teoría del color, marca visual, etc. Y, lo más importante, pasa mucho tiempo observando e inspirándote en el excelente diseño. Pase al menos media hora al día navegando por sitios como Dribbble y Behance. Pregúntate: ¿Qué es lo que me gusta / no me gusta de cada pieza? ¿Por qué algunos diseños se ven mejor que otros? Y, al menos al principio, intente recrear con precisión algunos de los diseños profesionales que realmente le gustan.

A List Apart es una buena guía para seguir también para muchos de estos temas.

Desarrollo

Para el desarrollo de front-end, recomiendo:
Fundamentos de la Web – Desarrolladores de Google
Kit de inicio web – Fundamentos web

Esos recursos lo familiarizarán con algunas de las herramientas y flujos de trabajo de vanguardia.

Para aprender HTML, CSS y JS, consulte Mozilla Developer Network.

Una manera fácil de comenzar es descargar uno de los marcos de trabajo de boilerplate / bootstrap (como HTML5 Boilerplate o Twitter Bootstrap). Lea la documentación y busque las etiquetas HTML y los selectores de CSS / propiedades / etc. no estás familiarizado con lo que avanzas. Bootstrap, en particular, lo expondrá a algunas características CSS más avanzadas, que muestran cómo se puede implementar un diseño sensible.

Recomiendo un editor como Atom (creo que el sitio de desarrolladores de Google sugiere Atom o SublimeText) configurado con Emmet, LiveReload, jshint y Git. Hará que el desarrollo sea mucho más fácil / rápido.

Además, aprende a codificar prolijamente. Mucha gente puede construir sitios bastante complejos dentro de un año de asumir el desarrollo inicial. Pero a menudo lo que separa a los buenos de los terribles es cómo organizan su código. ¿Siguen un estilo de codificación sano y consistente? ¿Comentan su código? ¿Modulan su código? ¿Usan nombres sensibles (para ID de elementos, clases, nombres de variables, nombres de funciones)? Desarrolle estas mejores prácticas desde el principio.


Edit: Leyendo la excelente respuesta de los usuarios de Quora, me doy cuenta ahora que mi respuesta puede sentir que te están lanzando al final profundo. Creo que su enfoque es más apropiado para un principiante completo, y luego puede consultar gradualmente los recursos que publiqué una vez que haya creado su primer sitio.

Además, visite Webmasters Stack Exchange, así como User Experience Stack Exchange, Graphic Design Stack Exchange y Stack Overflow. Puede hacer preguntas y obtener respuestas bastante buenas la mayor parte del tiempo en estos sitios de preguntas y respuestas. Navegarlos también es una buena manera de obtener gradualmente más y más conocimiento sobre estos campos.

¿Por qué aprender desarrollo en línea?

El aprendizaje en línea es un poco contrario al tradicional programa universitario de cuatro años. Hasta hace unos años, era casi imposible encontrar un curso de desarrollo web en un entorno universitario tradicional. En los últimos años, esto ha mejorado un poco, pero el desarrollo web de aprendizaje aún requiere mucha auto-motivación. Además, las mejores empresas de desarrollo de aplicaciones web recomendaron utilizar estas fuentes en línea.

Grandes sitios web para ayudarte a aprender desarrollo web en línea:

  • Treehouse: Uno de los principales recursos de aprendizaje premium en línea es Treehouse. El programa tiene un costo mensual con dos niveles de precios. Funciona guiándole a lo largo de varias “pistas” que están destinadas a enseñarle una habilidad específica o lenguaje de programación desde principiante hasta avanzado.
  • Lynda: Lynda se parece un poco a Treehouse, ya que ofrece una variedad de cursos de video impartidos por instructores en línea por una tarifa mensual. Sin embargo, en lugar de dividir las cosas en pistas, Lynda simplemente le da acceso a miles de cursos que van desde principiantes a intermedios a avanzados.
  • Udemy: Udemy sirve más como una plataforma que un enfoque estructurado para el aprendizaje. Usando Udemy, los instructores pueden establecer cursos que están destinados a ser pistas de aprendizaje extremadamente completas e independientes que le enseñan una habilidad particular.
  • Codeacademy: Codeacademy es otro sitio de aprendizaje en línea basado en cursos, pero tiene un enfoque ligeramente diferente. Por un lado, es completamente gratis. Y en lugar de ofrecerle un conjunto de videos para aprender, se le guía a través de ejemplos interactivos que le permiten programar de inmediato.
  • WPSessions: si está buscando un recurso de aprendizaje que esté un poco más centrado en WordPress, entonces WPSessions podría ser una buena opción. El sitio fue iniciado por Brian Richards y funciona organizando grupos de video tutoriales en sesiones.
  • Tuts Plus: Tuts Plus en realidad ofrece dos formas diferentes de aprender. Su sitio está lleno de tutoriales gratuitos que se centran en una sola cosa, como comenzar con una biblioteca de Javascript específica o los fundamentos de CSS.
  • Khan Academy: Khan Academy fue fundada por Salman Khan en 2006, y desde entonces se ha convertido en una plataforma de educación en línea sin fines de lucro. Ofrece cursos en una variedad de temas, aunque su enfoque tiende a ser en Matemáticas y Ciencias.
  • CSS Tricks: pídale a cualquier desarrollador web que haya una lista de lugares para aprender, y les garantizo que mencionarán CSS Tricks. Una gran cantidad de desarrolladores web aprendieron revisando consejos sobre CSS Tricks y siguiendo los ejemplos de Chris.
  • Javascript elocuente: Javascript es definitivamente el más complejo de los lenguajes front-end y será un obstáculo inmediato para aquellos que buscan aprender desarrollo web.
  • Codrops: Codrops es un recurso para desarrolladores web en cualquier nivel, en busca de un poco de inspiración. El sitio está lleno de tutoriales y demostraciones de códigos que llevan el código de front-end al límite.

** EDITAR – 2017 **

Dado que esta respuesta sigue recibiendo muchas visitas, este es el camino que actualmente recomiendo para los desarrolladores completamente nuevos. Su núcleo sigue siendo Free Code Camp, que solo ha mejorado desde mi última edición.

Paso 1. Ve a Dash e intenta completar los primeros tres proyectos. Puedes hacer los cinco si quieres, pero si puedes obtener los tres primeros, tienes el talento necesario para aprender a desarrollar la web.

Paso 2. Si aún desea aprender, vaya a este curso gratuito de la Universidad de Stanford y obtenga el certificado al final. No se preocupe, no se requieren conocimientos matemáticos o de programación. Es una introducción a la informática y explicará algunos conceptos que es importante entender a medida que avanza. Es un curso corto que puede completar en una o dos semanas.

Paso 3. A estas alturas ya tendrás una idea básica de a qué te enfrentas. Habrás hecho algunos ejercicios de codificación y aprendido algo de teoría. Si está listo para comenzar a trabajar en proyectos reales, comprométase con unas 1000 horas de aprendizaje y comience en Free Code Camp . Terminará con una cartera en línea de múltiples proyectos, e incluso alguna experiencia del mundo real trabajando con organizaciones sin fines de lucro. Conocerá el desarrollo de la parte frontal y posterior, y tendrá un sólido dominio de JavaScript, que es el lenguaje de programación de Internet.

1. ¿Cómo funciona exactamente la web y qué conocimientos se deben tener para hacer que un sitio web funcione?

Bueno, esa es una gran pregunta, pero aquí hay un bosquejo en miniatura de cómo funciona en general: las páginas web funcionan en un modelo cliente / servidor. El servidor web (por ejemplo, Apache) almacena sus páginas web en su raíz de documentos (es decir, un directorio). Los visitantes llegan a su sitio a través de una URL. La URL, junto con los argumentos contenidos en ella, se pasan al servidor como una solicitud. La solicitud se procesa (a menudo se entrega a un motor de secuencias de comandos del lado del cliente de algún tipo, como PHP, que a su vez puede hacer llamadas a la base de datos a una base de datos del lado del servidor, como MySQL) y luego se devuelve al visitante y se muestra en el navegador web. Una vez que está en el navegador, el contenido puede ser modificado por los lenguajes de script del lado del cliente (generalmente JavaScript, generalmente a través de jQuery), y las solicitudes adicionales del servidor se pueden realizar de forma asíncrona a través de AJAX, o de manera sincrónica mediante el envío de formularios, que envían solicitudes adicionales al servidor. .

Hacer que todo eso suceda requiere bastantes habilidades, todas las cuales desarrollarás con el tiempo. Además de los idiomas de front-end y back-end (ver más abajo, en respuesta a su pregunta # 2), deberá familiarizarse con FTP / SFTP (para transferir sus archivos desde su plataforma de desarrollo a su servidor web) , SSH (para acceder / editar archivos directamente en el servidor, cuando sea necesario), phpMyAdmin (la herramienta basada en web que la mayoría de los hosts proporcionan para la administración de bases de datos) y cPanel (la herramienta basada en web que la mayoría de los hosts proporcionan para la administración del sitio).

2. ¿Qué idiomas debo saber para el desarrollo de front-end y back-end?

Para desarrollo front-end, HTML5, CSS3 y jQuery. Familiarícese con el diseño web sensible ( http://www.abookapart.com/produc …), ya que esto lo convertirá en consultas de medios, que son útiles.

Para el desarrollo de back-end, hay muchas opciones, y muchos adherentes religiosos a cada uno. Un denominador común es SQL. La mayoría de los sitios hablan con bases de datos, por lo que debe saber hablar con ellos. Estas son algunas de las posibles combinaciones:

PHP / MySQL, Ruby / Rails / MySQL, ASP.NET MVC / SQL Server, Python / Django / MySQL

Mucha gente odia PHP. Yo no. PHP ha sido muy bueno para mí. Sin embargo, le aconsejo que aprenda sobre MVC y, si usa PHP, lo use junto con un marco MVC como CodeIgniter ( http://ellislab.com/codeigniter )

3. ¿Cuánto debo saber para comenzar con un proyecto y los cursos de Codeacademy y Udacity son suficientes para adquirir esas habilidades?

No he usado los recursos que has enumerado, pero soy fan de Codecademy ( http://www.codecademy.com/ ) y de Code School ( https://www.codeschool.com/ ), ambos que tienen pistas de cursos de desarrollo web.

4. ¿Cómo puedo comenzar con un proyecto después de haber completado los cursos básicos de los MOOC?

Nunca esperes para empezar a codificar. Toma lo que sabes ahora mismo y crea un sitio con él. Ahora mismo. No importa cuán limitado sea su alcance. Puede ser una página. Puede ser un hola mundo. No importa. Construir cosas Se aprende haciendo. Consiga una cuenta de alojamiento compartido barata, un cliente FTP y un editor de texto. Eso es todo lo que necesitas para comenzar. Una vez que comience a tener sitios de construcción cómodos sobre usted y su gato, encuentre amigos o organizaciones benéficas que necesiten sitios. Pueden ser tus primeros clientes. Y este es un buen libro para aprender a trabajar con clientes: http://www.abookapart.com/produc

Además de todo lo mencionado anteriormente, nada de esto será de mucha utilidad a menos que desarrolle una apreciación por el diseño en sí. No tienes que ser un diseñador gráfico, pero debes conocer un buen diseño cuando lo veas. Así que tendrás que aprender un poco sobre los principios de diseño, tipografía y similares. Dado que su pregunta se centra en el desarrollo, en los aspectos básicos de hacer que las cosas sucedan, en mi respuesta me he centrado en eso. Pero, para ser algo más que un técnico, querrás reflexionar sobre la estética de la cosa y la experiencia del usuario (UX).

Entonces, en cuanto a un camino general? Comience con HTML / CSS. A continuación, agregue un poco de jQuery. Luego agregue un poco del lenguaje de scripting de su elección y algo de SQL. A lo largo del camino, aprenda algo de teoría (por ejemplo, Diseño web responsivo) y conéctese a la comunidad de diseño / desarrollo para que comience a tomar conciencia de las tendencias y las nuevas formas de resolver problemas.

No más de un mes para aprender, no menos de una vida para dominar …

La web sigue cambiando, por lo que ningún plan de estudios universitario típico te ayudará a aprenderlo bien. El desarrollo web es uno de los campos que cambian más rápidamente y, por lo tanto, debe entrenarse para aprender pormismo .

Comienza con el aprendizaje de HTML, pasa a CSS y luego a JavaScript. Inicialmente, puede consultar algunos libros de texto de la escuela secundaria, pasar rápidamente a los tutoriales en línea de W3Schools en línea y comenzar a probarlos. Entonces empieza a tratar de hacer páginas web básicas desde cero. Nunca descargues plantillas y las edites. Haga su propio sitio web personal para probar, coloque sus fotografías y todas las fuentes y colores de fondo extraños de los que se sentirá avergonzado un año después 🙂

Ahora olvide W3schools para obtener referencias y comience a usar la Red de desarrolladores de Mozilla para aprender técnicas avanzadas y mejores fundamentos, especialmente en JavaScript.

Una vez que sea bueno con los conceptos básicos de JavaScript, continúe con el aprendizaje, pro JavaScript de este libro por John Resig Técnicas Pro de JavaScript: John Resig: 9781590597279: Amazon.com: Libros
Después de tener un fuerte dominio de JavaScript, realmente se sentirá lo suficientemente capacitado para escribir buenas aplicaciones web y aplicar diferentes patrones de diseño . Siga la revista Smashing: para diseñadores y desarrolladores profesionales de sitios web para obtener las últimas actualizaciones. Mantenga un buen seguimiento de lo que hacen las empresas como Google en la construcción de aplicaciones web de próxima generación.

Ahora siéntase libre de explorar todos los horizontes del desarrollo web y prepárese para aprender y adaptarse a las últimas tecnologías.

Por último, diría que es un proceso de aprendizaje interminable cuando se trata del desarrollo web, y siempre te sentirás honrado de seguir siendo un estudiante.

1. Elige un área de desarrollo web que te emocione.

No puedes simplemente “convertirte en un desarrollador web” leyendo un libro determinado o viendo una cierta cantidad de videos. El desarrollo web es un gran campo, y tratar de ser un intercambio de todo tipo de actividades probablemente te dejará exhausto, frustrado, y solo un poco más adelantado que cuando empezaste.

Hay ideas fundamentales que se aplican en todas las disciplinas, pero, en última instancia, es necesario especializarse. Sin embargo, tiene que comprometerse con algo para siempre: es más fácil moverse a otra área una vez que haya dominado una, y no estará limitado por su elección. Alguien que está familiarizado con PHP puede hacer mucho más que alguien con un conocimiento básico de diez tecnologías web de vanguardia.

Mientras tenga un conocimiento de HTML y CSS, simplemente debe elegir lo que le parezca interesante. Tal vez descubra con qué están construidos sus sitios web favoritos. Encontrarás que Rails está en todas partes, pero los marcos de JavaScript están en aumento. Estoy trabajando con Meteor porque me gustan sus funciones en tiempo real. Sus razones, sin embargo, no importan precisamente. Solo trata de seguir tus propios intereses, ya que esa es la única forma en que podrás mantener tu motivación.

Si nada te emociona específicamente, quédate con las tecnologías más comunes, como JavaScript y PHP. Hay tanto material de capacitación disponible que al menos se emocionará con la cantidad de apoyo disponible.

2. Ignore (la mayoría de) la “guía” de los desarrolladores web experimentados.

Los desarrolladores web experimentados suelen ofrecer consejos bien intencionados a los principiantes que no son prácticos de implementar. Esto es porque ellos:

No recuerdo ser un principiante.

Espere demasiado de alguien que solo necesita comprender lo básico.

Tiene preferencias basadas en problemas que nunca puede encontrar. (Como problemas con la escala a millones de usuarios).

Pregunte qué idioma debe aprender, por ejemplo, y el debate que sigue no será el más adecuado para usted . Será un debate basado en gran medida en los sesgos que los desarrolladores han desarrollado a través de su trabajo.

Así es como lo veo:

Ya sea que comience o no a aprender PHP, Rails o JavaScript, o lo que sea, es irrelevante. ¿Por qué? Porque hacer el cambio de un idioma a otro es increíblemente insignificante en comparación con dar el salto de no ser un desarrollador web a ser un desarrollador web.

Hay desarrolladores web experimentados con excelentes consejos pero, cuando se ofrecen consejos, pregúntese: ¿Es esta realmente la mejor manera para que un principiante se acerque a este proceso? ¿O es así simplemente como el desarrollador deseó haber aprendido?

3. Dese un proyecto preciso (y alcanzable).

Después de aprender los conceptos básicos del desarrollo web, intente construir algo sin seguir un libro o tutorial. De lejos, esta es la manera más efectiva de:

Consigue la emoción de hacer algo.

Descubre los puntos débiles de tu conocimiento.

Aprende a resolver realmente los problemas.

No importa lo que elija construir, pero mantenga el alcance del proyecto lo más pequeño posible. Si puede pasar días en este proyecto, es demasiado grande. Hazlo más pequeño. No quieres que se alargue.

Asegúrese también de definir un punto final para el proyecto. ¿Qué características tendrá cuando pueda etiquetarlo como “hecho”? Quieres saber cuándo puedes sentirte satisfecho con lo que has hecho. (Y esto no tiene que significar cuando el proyecto está listo para el mundo ya que no hay necesidad de publicar la creación).

Dependiendo de qué área de desarrollo web se especializa en ciertos proyectos, puede ser más fácil de crear, pero aquí hay algunas ideas que vale la pena considerar:

· Una aplicación de lista de tareas.

· Una herramienta privada de blogging.

· Una herramienta para el seguimiento de los entrenamientos.

Básicamente, cualquier tipo de proyecto que tenga como objetivo principal rastrear algunos datos básicos es una buena manera de probar su conocimiento como principiante.

4. Comprometerse a una cantidad específica de práctica diaria.

Cuando comiences con el desarrollo web, progresarás rápidamente en algunas áreas, pero llegará un momento en que tu progreso se ralentizará y aquí es donde muchos principiantes se dan por vencidos y se dan por vencidos.

Esto sucede porque los principiantes suelen confiar en lograr hitos para sentirse satisfechos. Sin embargo, los hitos no son predecibles. Después de tener una idea de lo básico, puede pasar días o semanas sin dar saltos significativos.

Existe, sin embargo, un enfoque alternativo:

En lugar de centrarse en lograr hitos, comprométase a aprender y practicar el desarrollo web durante una cantidad específica de tiempo todos los días. Al menos veinte minutos es un buen punto de partida, pero no hay límites ni requisitos precisos. Simplemente elija la longitud que pueda administrar razonablemente de manera consistente.

5. Comprometerse con una cantidad significativa de material de entrenamiento.

Es una creencia simple que conduce a un estado de habilidad, y la idea se aplica fácilmente al desarrollo web. Tienes que escribir un montón de código si quieres ser un desarrollador, pero lo que mucha gente no se da cuenta es que el código no tiene que ser el tuyo. Hay un inmenso valor en seguir con el código de los libros y tutoriales y el material de capacitación en video, como el que se cubre en sitios como SitePoint y en libros y cursos de sitios como Learnable.

Debe comprometerse con el material; debe considerar el propósito de cada línea de código a medida que lo escribe, pero a pesar de que está “aprendiendo de memoria”, todavía está aprendiendo.

Esto es lo que la mayoría de la gente no considera:

La sintaxis no es la parte difícil del desarrollo web. Es un obstáculo para los principiantes, pero, después, la parte difícil es determinar cómo pensar cómo resolver ciertos problemas. Aquí, la gran ironía es que los principiantes a menudo piensan en soluciones mucho más complejas de lo que lo haría un profesional.

Con esto en mente, el beneficio de seguir con una inmensa cantidad de material de entrenamiento es que:

· Puedes ver cómo diferentes desarrolladores resuelven diferentes problemas.

· Puedes ver cómo diferentes desarrolladores resuelven problemas similares .

Cuando esté listo para trabajar en sus propios proyectos, esta exposición a cómo se pueden resolver los problemas proporcionará las herramientas mentales necesarias para:

Identifique el núcleo de cuál es el problema real.

Averigua qué se requiere para resolver ese problema.

Es posible que no pueda recordar ninguna solución precisa, pero eso no importará. La mayoría de los problemas se han resuelto antes, de una forma u otra, y la mitad de la dificultad de “hablar en código” es entender lo que estás tratando de decir. Más allá de ese punto, la sintaxis y los detalles son mucho más fáciles de comprender.

Solo he compartido un puñado de consejos de “imagen grande” para enseñarte a ti mismo sobre desarrollo web, pero definitivamente son cosas que desearía que alguien me hubiera dicho cuando comencé.

Esto es lo que me parece una forma fácil y organizada de comenzar el desarrollo web . Puede omitir los pasos que ya conoce.

  1. Para aprender a programar en la Web, primero debe saber qué es un sitio web. ¿Cuáles son los principales roles de los scripts del lado del cliente, del lado del servidor, de los protocolos (http), de los navegadores?
  2. Rastrear el viaje completo del servidor, es decir, desde escribir google.com en el navegador y cargar la página completa.
  3. ¿Por qué http es apátrida? ¿Papel de la sesión para superar esto?
  4. Comience a aprender html y poco JavaScript Etiquetas básicas Carpa 🙂 Alerte, cambie el color del fondo de la página a través de javascript, etc. Diviértase jugando con html, javscript y css
  5. Server side scripting Comience con php Utilice todos los elementos de entrada necesarios: escriba y cree formularios Valide formularios con javascript sin formato Recupere los datos de formularios enviados y visualícelos a través de php

Creo que puedes completar 1 a 5 rápidamente. Es una parte interesante para todos los programadores web principiantes, debido a la emoción visual que obtienen al usar html y css por primera vez /

Entonces muévete a cosas serias !!!

En este momento, usted sabe cosas fundamentales del desarrollo web y el funcionamiento del sitio web.

Ahora, es su responsabilidad elegir el lenguaje, la plataforma y el marco más apropiados.

Nadie aquí puede ayudarte con esto; Tienes que considerar tus intereses personales y planes futuros para decidir.

Mi recomendación es ir con php , ya que lo aprendiste en las etapas iniciales.

  1. A continuación, se encuentran las bases de datos a. Aprende a conectar la base de datos b. Consultas básicas de SQL. Seleccionar, insertar, actualizar y borrar c. Manipular entradas de usuario utilizando la base de datos
  2. Ahora, comienza a crear un sitio web personal; o cualquier sitio web simple
  3. Descarga cualquier sitio web de código abierto y aprende de él.

Aquí hay algunas referencias, que pueden ayudarle.

1. W3 Schools – para aprender lo básico de html, css, JavaScript, asp, consultas de base de datos

2. Php.net – para todo sobre php

3. Para explorar proyectos de código abierto.

http://bitbucket.org/

http://github.com/

http://www.codeplex.com/

http://sourceforge.net/

Recuerda siempre que hay varios pueblos aquí para ayudarte; Si algo sucede, publícalo en stackoverflow.

Encuentra a alguien con cierta cantidad de experiencia en programación web para que te guíe; Siempre es fácil aprender de programadores experimentados.

El desarrollo web está en constante evolución. Esto lo convierte en una lucha para los principiantes que desean entrar en su mundo. Hay muchas formas de crear una aplicación y no hay una sola autoridad con la única solución verdadera. Dada la naturaleza turbulenta del desarrollo web, siga estos pasos a medida que comienza a aprender.

IKEA también vende el antídoto que evita que sus manuales de instrucciones lo absorban por completo.

Tecnologías Web? Solo elige uno

Eres un principiante, por lo que no se espera que entiendas los pros y los contras de estas herramientas web de la competencia. Por lo tanto, no puede discernir cuál se adapta mejor a sus necesidades. Aquí hay algunos consejos para ayudarte a elegir uno:

  • ¿Hay una descripción específica del trabajo que desea cumplir o la empresa para la que desea trabajar? Aprende su pila.
  • ¿Quieres construir un servicio competitivo? Averigüe qué herramientas utiliza su competencia y aprenda sobre ellas.
  • En todos los demás casos, lanzar una moneda .

Los principios que aprendes mientras dominas estas herramientas serán paralelos a los utilizados en los demás. Cada marco ofrece una base de datos, actualizaciones de documentos, una conexión entre la página y el servidor, etc. Está eligiendo qué destornillador utilizar, pero al final, todos le ayudan a ensamblar un IKEA Flukengaffer.

Nombre de usuario: T4E_0N3_zooOomg

Aprende a navegar por la línea de comandos

Independientemente del marco que elija, deberá ejecutar comandos en una CLI (interfaz de línea de comandos). Casi todas las herramientas de desarrollo proporcionan una forma de manipularlo a través de la CLI. De hecho, la mayoría no proporciona una GUI (interfaz gráfica de usuario) en absoluto. De los cientos de recursos que pueden ayudarte a aprender a usar un CLI, Codecademy es mi favorito .

Bienvenido a Hello World , el único lugar en la Tierra donde puedes montar ‘The Oxford Commodore’

Construye tu aplicación de inicio

Es fácil encontrar un tutorial para crear su primera aplicación, independientemente del marco. Consulte esta lista corta para la referencia.

Django

  • Escribiendo tu primera aplicación Django
  • Instalación de Django y primer tutorial de aplicación
  • Instala Django y crea tu primera aplicación
  • Tutorial de Django: Mi primera aplicación de Django

MEDIA

  • Una introducción a la pila MEAN
  • Aprende a construir aplicaciones web modernas con MEAN
  • Tutorial Mean Stack – Tutorial para principiantes

Carriles

  • Primeros pasos con rieles
  • Aprende Ruby on Rails: el último tutorial para principiantes
  • Tutorial de Ruby on Rails
  • Aprende Ruby on Rails

Sacar esa primera aplicación fuera de la puerta le da una idea aproximada del proceso para configurar un entorno, armar piezas y desplegar. Estos tutoriales le dan un rápido aumento de dopamina para recompensar sus centros de placer y motivarlo para que continúe … ¡ellos se emocionan al aprender más!

Arthur, hablé con el cliente y en el futuro, no quieren que sus gráficos presenten más cráneos abiertos. Estoy seguro de que entiendes

Lluvia de ideas sobre una idea de proyecto

Este proyecto será la zanahoria que colgarás delante de ti para motivarte cuando los tiempos se pongan difíciles (y se pondrán realmente, realmente difíciles). Crea algo que desees construir desesperadamente, algo que desees que haya existido, incluso si cumple tus propósitos y los de nadie más. ¿Tengo una idea? ¡Genial!

A continuación, divida esa idea en historias de usuarios. Las historias de usuario ayudan a convertir un producto en una lista de experiencias que los desarrolladores pueden enfocar en implementar. Aquí hay una muestra de historias de usuarios para una lista de tareas pendientes:

  • Como usuario, quiero ingresar una tarea como un elemento de la lista de tareas para poder colocarla en mi lista de tareas
  • Como usuario, quiero marcar una tarea para poder marcarla como completada
  • Como usuario, quiero archivar una tarea para que ya no la vea.
  • Como usuario, quiero iniciar sesión para poder guardar mis tareas en la nube

Así sucesivamente, y así sucesivamente. Elija entre tres y cuatro historias que pertenezcan a su MVP ( producto mínimo viable ) y luego diseñe algunos esquemas para ayudarlo a visualizar la interfaz de cada uno. Con una lista de características y un conjunto de diseños que lo acompaña, tiene un objetivo al que debe aspirar en su viaje de desarrollo.

Muy bien, voy a ver más allá del hecho de que este personaje se ve exactamente como nuestro cliente. Por favor, no más particiones de calaveras de ahora en adelante, ¿de acuerdo?

Centrarse en la parte delantera

La mayoría de los desarrolladores no funcionan de esta manera, pero como está aprendiendo, le sugiero que se centre primero en el aspecto de la parte frontal (orientado al usuario) de cada característica. De esta manera recibirás un feedback visual para tu progreso. Esta retroalimentación es clave para su desarrollo: necesita ver su trabajo cobrar vida para motivarlo.

Independientemente del marco que elija, es probable que el aspecto Frontend del mismo requiera JavaScript, por lo que debe usarlo y aprenderlo más a fondo. Sugiero mirar en estos recursos:

  • Tutorial de JavaScript de W3
  • Conferencias de JavaScript de Douglas Crockford
  • Codewars : problemas de codificación en varios idiomas con pruebas en el navegador

Mejor, pero esto es solo un montón de logotipos pegados juntos. Siento que tomamos un giro equivocado en alguna parte

Construir el backend

Esta es probablemente la parte más difícil, así que atornille el cinturón de seguridad a la silla de su escritorio y fíjese. Ha diseñado e implementado las páginas para sus funciones, ahora es el momento de implementar la funcionalidad que requieren al usar la tecnología backend. Esto requiere que repases Python (Django), Ruby (Rails) o JavaScript de nuevo (MEAN).

Lo peor de esta parte es que aprender cómo las funciones de backend requerirán que regrese y reescriba partes de su frontend. No dejes que esto te detenga: se espera. La clave es que estás a mitad de camino, tus características son visibles, pero no funcionales. Una pieza del rompecabezas está en; el otro queda

Sin embargo, esta también puede ser la parte más emocionante de su viaje. Después de mirar una interfaz muerta durante semanas (probablemente meses), estás deseando que se haga realidad. Use StackOverflow, las guías y Google para ayudarlo a desarrollar estas características.

Acabo de buscar en Google “tablero de dibujo”, y este fue el tercer resultado. ¿Te importa este proyecto, Arthur?

Volver al tablero de dibujo

Trajiste tu proyecto a la vida, y por eso, deberías felicitarte. No es una hazaña menor convertir un gran sueño en realidad. Después de todo ese trabajo arduo y cuesta arriba, me temo que debo volver y hacerlo todo. Aprendió mucho a lo largo del camino y, como resultado, está preparado para crear una aplicación más robusta y ejecutada adecuadamente de lo que podría haber tenido cuando comenzó.

Recomiendo tomar un descanso de su propio código, ya que podría estar harto de él, y comenzar a buscar proyectos de código abierto como guía. Vaya a GitHub y busque proyectos creados con el marco que eligió para aprender. Asegúrese de que los proyectos que vea tengan al menos un puñado de colaboradores que trabajen activamente en ellos.

Estudiar el código fuente es valioso por estas razones y más:

  • Explorar bases de código extranjeras es una habilidad que todos los desarrolladores deben tener si desean contribuir con los productos existentes (en el trabajo o por diversión)
  • Las bases de código de código abierto populares proporcionarán buenos ejemplos de mejores prácticas
  • Mirar el código de otra persona lo ayudará a aprender nuevos patrones y soluciones que no ha considerado anteriormente

Cuando esté listo, reevalúe la arquitectura de su aplicación. Considere qué puede mejorar, qué puede reemplazar y qué puede eliminar por completo para ayudar a simplificar y mejorar la calidad de su código fuente.

En el nombre de Dios, ¿qué tiene que ver un paraguas con la mentoría, Arthur? ¡El cliente está furioso! Mi oficina. AHORA

Buscar la tutoría

A medida que desarrollas tu aplicación y aprendes nuevas habilidades, te recomiendo que encuentres un mentor. La tutoría es uno de los métodos de enseñanza más antiguos y seguros. Si puede encontrar un desarrollador profesional dispuesto a ayudarlo en su viaje, alcanzará sus objetivos mucho más rápido. Alternativamente, puedes contratar uno usando un servicio como HackHands y AirPair .

Por último, si ha llegado al final de su cuerda y simplemente no puede avanzar al siguiente nivel, o simplemente desea acelerar su aprendizaje, le recomiendo que consulte la Pista para desarrolladores de Full Stack de Bloc. Bloc, donde escribo y edito el plan de estudios, une a los estudiantes con mentores profesionales que los ayudan a aprender Ruby on Rails y el desarrollo web de JavaScript.

Cualquiera que sea el camino que elijas, te deseo suerte en tu viaje educativo.

Actualización: a partir de agosto de 2016 ya no estoy afiliado a Bloc de ninguna manera.


¡Gracias por leer! Si le gustó mi respuesta, por favor, ‘ upvote ‘ para que otros usuarios también puedan encontrarla. Y si quieres, sígueme para obtener más respuestas divertidas sobre el desarrollo de software.

¿Quieres ayuda para construir tu aplicación web o escribir subtítulos ingeniosos? Vamos a trabajar juntos .

¿Su objetivo es aprender cómo construir un sitio web completo, incluida la gestión del aspecto y los datos por su cuenta? Si es así, diría que debería aprender HTML, CSS, JavaScript y una tecnología de servidor, como Node.js, Ruby on Rails o Python. Si prefiere no administrar el lado del servidor, puede aprender solo HTML, CSS y frontend JavaScript.

Codecademy y Treehouse son excelentes recursos de aprendizaje si eres un principiante en la codificación. Codecademy te permitirá experimentar y aprender la sintaxis en un entorno interactivo, y Treehouse tiene miles de videos de cursos que puedes ver.

Si desea alcanzar un nivel superior, considere un programa más inmersivo. Soy mentor en Thinkful, una escuela de codificación en línea. Thinkful ofrece un curso Frontend Web Development que cubre todo, desde HTML semántico hasta AJAX, incluyendo CSS, jQuery y JavaScript. Al final, estarás bien versado en FEWD. Si está buscando un programa profundo y completo con el objetivo de convertirse en un desarrollador de pila completa, consulte los cursos Full Stack Flex (tiempo parcial) y Engineering Immersion (tiempo completo).

Ambos cursos ofrecen sesiones 1 a 1 de mentores. Además de eso, también puede elegir entre más de 30 horas de sesiones de preguntas y respuestas organizadas por un mentor cada semana, o subirse a Slack para obtener ayuda de mentores y compañeros.

Los cursos están orientados a los resultados: el Informe de trabajos se actualiza cada mes para darle una idea clara de la tasa de colocación laboral (actualmente el 95%) y la mejora salarial de los estudiantes (actualmente un promedio de $ 19,916).

Un montón de sugerencias con respecto a esto:

  • No espere hasta que sus cursos hayan terminado antes de comenzar a construir su primer proyecto. Empezar hoy. Piense en una idea para un sitio web que le interese, no un sitio web de juguetes estúpidos, sino algo que personalmente usaría. Y comienza a construir ese sitio web: aprende sobre la marcha.
  • Para el backend, los buenos lenguajes son Python y Ruby. PHP es, de hecho, el más fácil, pero le recomiendo encarecidamente que no lo haga: le enseñará cosas malas que será difícil de desaprender. Además, deberá elegir un “marco de desarrollo web” que facilite la creación del sitio web. Para Python sugeriría Django, para Ruby sugeriría Rails.
  • Habrá mucha gente que le dará muchos consejos sobre cómo ese idioma es el mejor, y cómo este marco es más flexible. Ignora a esas personas. Desea elegir algo que sea bueno y que tenga una gran comunidad. Esos son los más fáciles de aprender y de obtener ayuda. Recomendaría Python + Django
  • Elija un libro introductorio para el idioma que desea aprender (ya sea un libro real o un libro en línea). Por ejemplo, para python sugeriría un byte de ython. Hojee el libro rápidamente en uno o dos días.
  • Del mismo modo, habrá un libro sobre el marco que ha elegido. Para Django sugeriría El Libro de Django. Nuevamente, hojee todo en uno o dos días.
  • Lea un tutorial en línea para el marco que ha elegido y repáselo. De hecho, implemente el sitio web que se proporciona en el tutorial. Por ejemplo: Escribir tu primera aplicación Django. Esto no debería llevarte más de una semana.
  • Ahora, según el conocimiento adquirido al crear el tutorial, debería poder comenzar a crear su sitio web básico. Por supuesto, todavía no estará familiarizado con todas las funciones necesarias para crear el sitio web, ya que solo ha hojeado los libros, no los ha estudiado realmente. Pero al menos sabes qué sección del libro consultar cuando te quedas atascado implementando alguna característica de tu sitio web.
  • No intente ser demasiado elegante con su primera versión. Consigue un sitio web muy sencillo funcionando.
  • Una vez que tenga su sitio web en funcionamiento en su máquina local, ponga su nuevo sitio web en línea con un proveedor de alojamiento gratuito como Heroku. (Nota: la instalación de su aplicación en Heroku no es trivial, pero nuevamente encontrará tutoriales paso a paso que lo ayudarán en este proceso).

En este punto, ha creado su primer sitio web, probablemente 2 semanas después de su inicio. Tal vez no entendiste todo en ello. Tal vez ese sitio web es bastante básico y horrible. Pero esta es la mejor manera de aprender.

Ahora, decida seguir mejorando este sitio web o elija otro sitio web para construir. Los pasos a seguir en esta ocasión son:

  • Nuevamente lee los libros para tu idioma y tu marco. Dedica un poco más de tiempo a comprender los detalles que te perdiste la última vez.
  • Escriba / reescriba su sitio web basándose en los nuevos conocimientos que haya aprendido. Tal vez usted agregue algunas características avanzadas. Tal vez vaya a reescribir un módulo que hizo muy mal la primera vez porque todavía estaba aprendiendo el idioma.

Repita este proceso, ad infinitum. En el fondo, sigue haciendo tus MOOCs.

No hay un “camino correcto” definido y, a partir de las respuestas, realmente se puede decir que las personas tienen opiniones y tienen sus propias ideas sobre cómo las personas deberían hacer esto. Entonces, permítame señalarle primero dos lugares que ya he escrito sobre esto:

  • Cómo empezar a ser un desarrollador web (rápidamente)
  • Lo que debes hacer durante tu verano como estudiante de desarrollo web

Ambos se dirigen a personas como usted, en la cúspide de ingresar al campo, pero no están seguros de dónde ingresar y cuánto necesitan saber.

En cuanto a tus preguntas:

1.
La mejor manera de describir la experiencia completa de un desarrollador web es que cree un sitio en una computadora (un servidor) y otras personas accedan a este sitio desde su computadora. Eso es. ¿Qué conocimiento necesitas saber? Bueno, solo CSS básico y HTML y cómo configurar un hosting. Hay muchos tutoriales sobre eso y podrás ponerlo en marcha en 10-15 minutos. Un alojamiento es básicamente su capacidad para colocar sus archivos en un servidor que se ejecuta 24/7 para que otros puedan acceder.

2.
Este es un tema muy debatido, pero escogería la ruta más fácil y emocionante que lo preparará para el futuro.

Quédate con PHP / MySQL para el backend. ¿Por qué PHP? Porque no es el mismo lenguaje que era hace 5 o 6 años o incluso hace un año. Es un lenguaje robusto y ampliamente difundido con una gran comunidad. Te llevará años antes de que alcances sus límites técnicos y para entonces, deberías saber otros idiomas también. ¿Es PHP un callejón sin salida? De ninguna manera lo es, es un lenguaje muy útil y hay una razón por la cual proliferó el mercado como lo hizo. MySQL es solo un estándar, puede probar PostgreSQL también, pero hay una comunidad más pequeña para ello. Todos pueden discutir conmigo todo lo que quieran, pero me parece que PHP tiene la mayor utilidad y facilidad de aprendizaje de todos los otros idiomas que existen. (lee mi blog para más información)

También es posible que desee ver algunos marcos de PHP una vez que se familiarice con PHP. Mi sugerencia personal es Laravel. Es el más fácil y uno de los más poderosos que existen.

¿Qué pasa con el front-end? Es básicamente solo HTML, CSS y Javascript. Nada más. Es posible que también desee aprender a trabajar con jQuery.

3.
Empezar ahora. Comience inmediatamente con cualquier conocimiento que tenga. ¿Solo puedes codificar archivos HTML? Bien, haz un sitio pequeño. ¿Solo puedes usar CSS? Bien, haz un buen sitio pequeño. Y sigue adelante. Ser iterativo Cuanto más hagas, mejor.

Uno de mis primeros proyectos de PHP (antes de comenzar a usar MySQL) fue un generador de poesía. Te hacen una serie de preguntas que luego se traducen en un poema limpio. Raro, sí, lo que sea, fue mi primera experiencia de “aplicación de una sola página”. Mi siguiente proyecto fue un pequeño blog. Y luego un motor de cotizaciones (algo así como una “cotización aleatoria del día”) que contaba con un front-end, back-end y un sistema de correo. Luego fui a un blog más grande, y así sucesivamente. ¡Solo sigue adelante! 🙂

4.
Comience por obtener una cuenta de alojamiento y un dominio. Mi sugerencia personal es usar Stablehost (Revisión de Webhost: StableHost (vs Justhost, vs Godaddy) <- mi opinión). A partir de ahí, basta con hacer apps y scripts. Cree una subcarpeta de "laboratorios" y simplemente ponga sus experimentos allí. Inicia un blog y escribe sobre tus experiencias. Crea una cuenta de github y aprende git, comienza a publicar tus proyectos allí (AntJanus (Antonin Januska) · GitHub <- mira mi repo para ver qué estoy haciendo).

En cuanto a tener un camino sistemático, solo revise mis primeros 2 enlaces. Son los más sistemáticos cuando se trata de aprender dev.

Ser un desarrollador de front-end significa tener una amplia gama de conocimientos y, con la experiencia, adquirirá algunas habilidades, especialmente habilidades blandas que le permitirán crecer en la antigüedad de front-end.

¿Estás seguro de que esto es lo que quieres? Hay algunos requisitos no técnicos para el trabajo:

  1. ¿Te gusta resolver problemas?
  2. ¿Te gusta resolver problemas complicados?
  3. ¿Estás motivado cuando algo es difícil de lograr o lograr?
  4. ¿Te gusta escribir código por días y días?
  5. ¿Tienes una mente curiosa?

He tenido un buen número de personas que dijeron que querían ser desarrolladores front-end, pero una vez que dejaron los tutoriales, los cursos de capacitación y se adentraron en la jungla, que es el mercado de trabajo para desarrolladores front-end, solo se quejaron de los desafíos que tenían en frente a ellos

  • Compatibilidad del navegador
  • Implementando diseños fuera de la caja.
  • Tan poco tiempo, mucho que hacer
  • ¿Por qué 0.1 * 0.2 devuelve 0.020000000000000004 y no 0.2, esto está en mal estado? (pista: precisión de punto flotante)
  • y así…

Lo suficientemente curioso para mí, la mayoría de ellos eran bastante fáciles de resolver si investigas Stackoverflow o Google .

Ahora que está seguro de que quiere ser un desarrollador de aplicaciones para usuario, le mostraré el camino, pero depende de usted tomarlo.

Usted es un cinturón blanco , necesita aprender los fundamentos básicos del desarrollo de aplicaciones para usuario:

Aprende HTML [1] necesitarás ser un maestro en ello. ¿Cuál es la forma correcta de estructurar un documento? ¿Qué es un elemento de bloque? ¿Qué es un elemento en línea?

Aprende CSS [2], así es como haces que tu estructura HTML sea hermosa.

Aprende Javascript [3]. Javascript le permite ampliar la funcionalidad. Este será un trabajo de por vida, ya que se mantiene en constante evolución y los marcos aparecen como hongos en el bosque. Puedes comenzar con jQuery [4], que es la forma más fácil y rápida de lograr algo interesante.

Aprende Git [5] y GitHub [6]. El control de versiones es un gran problema una vez que empiezas a trabajar con otras personas. Git es uno de los sistemas de control de versiones más utilizados. ¡GitHub es una comunidad mundial llena de regalos y, eventualmente, será su cartera! Considera esto tu patio de recreo. También CodePen [7] es genial para inspirarse y aprender viendo otros proyectos.

Un error común que muchas personas cometen es aprender los marcos de JavaScript porque son populares en este momento, en lugar de tomarse su tiempo para consolidar el conocimiento de JavaScript y cómo funcionan realmente los marcos. Esta es la razón por la que muchas personas dicen que saben ReactJS o Angular y una vez que reciben un error no tan común, no tienen ni idea de por qué está sucediendo y cómo solucionarlo.

JavaScript no es bonito pero es poderoso!

En su ruta de aprendizaje, siempre debe estar atento a lo que está sucediendo , Front-End Front [8] y Frontend Focus [9] son ​​buenos recursos para eso.

Crea proyectos personales para probar y aprender . ¿Qué aprender animaciones SVG [10]? ¿Tienes curiosidad por VueJS [11]? Busca en la web los proyectos que te parezcan interesantes e intenta desarrollarlos. ¡Deben desafiarte y debes estar motivado por ese desafío!

A medida que adquiera más experiencia laboral , deberá aprender cómo administrar su trabajo, especialmente cómo hacer las cosas con alta calidad y más rápido . Para esto tenemos varias herramientas que puedes aprender. SASS [12] y LESS [13] son ​​herramientas que pueden ayudar a organizar, estructurar y desarrollar CSS más rápido . Personalmente prefiero SASS pero es un gusto personal.

Gulp [14] y Webpack [15] son ​​herramientas de automatización en JavaScript que te ayudarán a hacer las cosas de manera más eficiente.

En el camino de convertirse en un cinturón negro …

Lograr el dominio en el desarrollo de front-end no es fácil, la red mundial siempre está evolucionando y es difícil mantenerse al día.

Debes aprender sobre la usabilidad [16] y la accesibilidad [17], dos disciplinas que son cruciales para cualquier desarrollador de front-end pero que muchas veces se dejan de lado.

Personas de todos los departamentos acudirán a usted en busca de orientación , especialmente diseñadores sin experiencia que quieran mejorar su trabajo. ¡Tendrás que ayudarlos!

Mencioné algunas herramientas que estamos usando actualmente. Eventualmente dentro de 10 años algunos de ellos quedarán obsoletos. Pero en este momento y en los próximos años seguirán siendo las herramientas de intercambio para nosotros.

Te he mostrado el camino joven dragón, ahora vete y sé libre!

Notas al pie

[1] Introducción a HTML

[2] Introducción a CSS

[3] Primeros pasos de JavaScript

[4] Centro de Aprendizaje jQuery

[5] Prueba Git

[6] Construir mejor software, juntos

[7] CodePen

[8] Front-End Front – Básicamente, noticias front-end

[9] Frontend Focus

[10] La introducción simple a la animación SVG

[11] Vue.js

[12] Sass: Sass Basics

[13] Empezando | Less.js

[14] gulp.js

[15] webpack

[16] Usabilidad 101: Introducción a la usabilidad

[17] Introducción a la accesibilidad web.

Sitios web / aplicaciones por lo general consta de dos partes:

1) Interfaz frontal: esta es la interfaz de usuario, la parte que realmente ve e interactúa. HTML, CSS y Javascript son las tecnologías principales que se utilizan para desarrollar el front-end. Como debe haber notado, los archivos HTML / CSS / Javascript son servidos por un servidor web y son procesados ​​por el navegador (cliente) para mostrar la interfaz de usuario. Estos archivos se pueden servir de forma estática o se pueden generar dinámicamente utilizando tecnologías de Back-End. Necesitas aprender HTML, CSS y Javascript. No hay alternativas.

Una vez que haya dominado los fundamentos de HTML, CSS, Javascript, que es todo lo que básicamente necesita para desarrollar el front-end, puede aprender algunas otras tecnologías relacionadas. Puede prescindir de estas tecnologías, pero éstas harán que su tarea de desarrollo web sea mucho más fácil. Son :

a) bibliotecas javascript: jquery / ExtJS / YUI / etc. Estas bibliotecas hacen que trabajar con javascript y ajax sea mucho más fácil. Te sugiero que te concentres en jQuery e ignores el resto por el momento . Puedes aprenderlos más tarde si lo deseas.

b) Marcos de Javascript: angular.js / backbone.js / sproutcore / etc. Frameworks avanzados de MVC para proyectos que usan muchos javascript. Ignora todo esto por el momento. Puedes aprender esto más tarde si lo deseas.

c) frameworks frontend: twitter bootstrap / foundation. Aprende cualquiera.

d) preprocesadores CSS: LESS / SASS. Agrega nuevas capacidades a css como variables, mixins, etc. Aprende cualquiera.

e) Coffeescript: Un lenguaje que compila a javascript. Ignorarlo en este momento. Quieres aprender javascript antes de aprenderlo.

2) Back-End: Aquí es donde reside la lógica de negocio principal. Normalmente, una aplicación de back-end consiste en un lenguaje de programación, un marco y una base de datos. Su función es realizar la lógica empresarial en el servidor, guardar la información en la base de datos y enviar los cambios en la interfaz de usuario al cliente como HTML. Si el back-end es una API REST, puede servir JSON / XML en lugar de HTML y Javascript puede actualizar HTML después de analizar JSON / XML. Usted tiene muchas opciones cuando se trata de lenguajes / marcos para backend y puede elegir cualquiera de acuerdo con su vinculación. No tienes que aprender todo. Aquí hay algunas opciones:

PHP + CodeIgniter / Yii / Symfony / etc.

Python + Django / Frasco / etc. (Yo uso esto y te sugiero que aprendas lo mismo)

Ruby + Rails / Sinatra / etc. (pero también puedes aprender esto)

C # + ASP .net MVC

Javascript (node.js) + Express framework

Otros lenguajes / marcos: Erlang, Clojure, Lisp, Scala, Haskell, etc.

Las bases de datos utilizadas son relacionales (MySQL, PostgreSQL, SQL Server, etc.) o NoSQL (MongoDB, CoucheDB, etc.). La base de datos que elija dependerá de los requisitos del proyecto.

Mi pila sugerida para que aprendas:

Front-End: HTML, CSS, LESS, JavaScript, JQuery, BootStrap
Back-End: (Python + Django o Flask) o (Ruby + Rails)
Base de datos: MySQL y MongoDB

Fuente de la imagen: Eduonix.

Desarrollo web se especifica en dos partes:

  1. Interfaz
  2. Back-end

Interfaz

Para aprender Front-end tienes que aprender estas tres cosas:

  • HTML
  • CSS
  • JavaScript

Para aprender esto aquí hay algunos enlaces que puedes consultar:

  • Aprende HTML y CSS en línea | Código de la escuela
  • Tutorial HTML
  • CSS Tutorial
  • HTML y CSS
  • 30 días para aprender HTML y CSS
  • Introducción a HTML y CSS
  • Tutorial de JavaScript
  • Tutorial de Javascript
  • Tutorial de JavaScript – javatpoint

Back-end

A medida que decida PHP como lenguaje de programación back-end, primero debe comenzar con los conceptos básicos de programación. Aquí están los enlaces:

  • Conceptos básicos de programación
  • Conceptos básicos de programación de computadoras

Después de aprender que tienes que aprender lenguajes de programación básicos como C, C ++.

  • Aprende C – Tutorial interactivo de C gratis
  • Aprendiendo C / C ++ paso a paso
  • Conceptos básicos de programación de computadoras

Para aprender el back-end debe tener el conocimiento de la base de datos.

  • 18+ Mejores recursos en línea para aprender SQL y conceptos de bases de datos

Los enlaces anteriores proporcionarán los recursos para aprender la base de datos.

Si eres bueno con la programación y la tecnología de front-end, puedes aprender PHP. Aquí están los enlaces;

  • Tutorial PHP 5
  • Tutorial de PHP
  • Aprender PHP – Tutorial interactivo de PHP gratis
  • Tutorial de PHP

Feliz codificación 🙂

Yo sugeriría ir a hackr.io.

Aquí puede buscar varios tutoriales sobre PHP y MySQL, entre otros, recomendados y recomendados por la comunidad de más de miles de miembros.

Para PHP le sugiero que consulte: http: //www.afterhoursprogramming

Este tutorial es muy simple y solo hará que aprendas sobre la sintaxis básica del idioma. Si está familiarizado con C o python o cualquier otro idioma, puede terminar este tutorial en un fin de semana.

Luego proceda a MySQL. Te sugiero que busques tutoriales en Hackr.io. Aprenda consultas básicas y de selección, supresión, etc. a uniones y subconsultas. Además, te sugiero que elijas una básica y la sigas mientras escribes las consultas en lugar de solo leerlas.

Ahora, como mencionaste, quieres crear aplicaciones web complejas, por lo que necesitarías aprender un marco para eso. El mejor framework de PHP IMHO es Laravel. Puede tomar de 1 semana a un mes dependiendo de su nivel actual de programación.

Además, comience de a poco y comience de forma simple, poco a poco comenzará a construir los “complejos”. 🙂

ATB. Seguir aprendiendo.

  • Medita 15 minutos después de despertarte para enfocar tu mente y aprender paciencia.
  • Toma adderal y compromete de 6 a 8 horas de práctica cada dos días. Serás más productivo que hacer 3-4 horas todos los días porque entrarás más en la zona. Apila tus días para que hagas cosas de administrador de tu vida (diligencias, facturas, gimnasio, etc.) por las tardes y los días “libres”. Finalmente, saldrá del adderal a medida que adquiera más fluidez con la codificación y se convertirá en una actividad mentalmente menos fatigante para usted.
  • Encienda su teléfono en silencio y cierre las pestañas para correo electrónico, Facebook, etc.

1. Tome las pistas HTML / CSS y Javascript en codeacademy.com

2. Haz este tutorial en Meteor http://meteortips.com/first-mete

3. Construye tu propia aplicación.

En 16 horas, conocerá todos los aspectos básicos y tendrá una aplicación de pila completa en vivo en Internet. Dentro de otros 16 puedes tener tu propia aplicación simple construida.

Desde aquí, HACER: busque un mentor para que le indique dónde aprender a continuación, responda preguntas difíciles, seudocodificar, etc … Ir a un aula es una exageración porque realmente no necesita ayuda la mayor parte del tiempo y luchar para encontrar respuestas es parte de El desarrollador de habilidades. Dependiendo de la cantidad de horas por semana que esté haciendo, una a tres reuniones durante aproximadamente media hora debería ser suficiente. Este modelo es de Bloc; Trabajo para ellos porque creo que su método generalmente es el más eficiente en tiempo y dinero.

NO: vuelva a hacer tutoriales, lecciones y problemas de práctica. La mejor manera de aprender es construyendo aplicaciones. Veo que muchas personas se atascan en interminables ciclos de tutoriales y nunca comienzan a construir cosas. Los estudiantes que construyen cosas serán mucho mejores desarrolladores.

Comience con lo básico del desarrollo web.

Primero aprender HTML, CSS.

Puede aprender esto en W3Schools Online Web Tutorials y aprender a codificar.

Luego, continúe con el marco de arranque mediante el cual puede hacer que los sitios web sean más rápidos. Reduce su tiempo y puede hacer que el sitio web sea receptivo.

Puede aprender bootstrap leyendo la documentación en Bootstrap · El framework front-end más popular y con mejor respuesta para dispositivos móviles del mundo.

Entonces comienza a aprender JavaScript y JQuery. Puede aprender estos idiomas en Learn to code JQuery es la biblioteca de JavaScript y le permite escribir menos código y hace que el código sea más fácil de escribir y leer.

Ahora eres un desarrollador de sitios web front-end.

Felicidades

Ahora la parte seria. Desarrollo de sitios web backend.

Debe tratar con servidores, bases de datos, conectividad de inicio de sesión y registro y mucho más.

Para esto debes aprender una base de datos y un lenguaje del lado del servidor.

Php, Python son mis recomendaciones para lenguajes de programación del lado del servidor.

Aprender la base de datos MySQL.

Eso es. Se necesita tiempo para aprender y dominar cada parte. Sigue adelante. Todo lo mejor.

TLDR: Aprender construyendo.

1. A nivel estratégico:

Muchos de los mejores programadores autodidactos son increíblemente apasionados en resolver problemas, a menudo problemas que ellos mismos tenían. Comenzaron aprendiendo los sencillos trucos y herramientas necesarios para hacer que sus vidas facilitadas por la computadora sean un poco más fáciles y se graduaron para resolver problemas cada vez más complejos en la web.

La forma más motivadora de aprender es tener un problema que desees resolver desesperadamente, ya sea crear una startup, un sitio web personal, automatizar una tarea tediosa … cualquier cosa que te involucre emocionalmente lo suficiente como para superar los inevitables períodos de dolor cuando arañar a Google buscando la causa de un problema en particular.

Un segundo lugar es si necesita aprender a conseguir un trabajo para poder comer y poner un techo sobre su cabeza. Pero en mi experiencia, la pasión positiva es en realidad más poderosa (y creativa) que incluso la amenaza de la miseria.

Desde el punto de vista de la motivación, es la diferencia entre PULRIRSE hacia la meta usando el poder de esa meta y EMPUJARSE a través de un montón de material solo porque cree que se supone que debe aprenderlo. Es MUCHO más poderoso motivarte con el resultado primero.

Es por eso que es tan difícil simplemente preguntarle a un desarrollador cómo aprender; por lo general, le brindarán muchos recursos y asumirán que saben por qué los están aprendiendo. Si no te has dado cuenta de tu motivación, te será muy difícil aprender por tu cuenta sin la estructura de un profesor que te obligue a hacer tareas.

Por lo tanto, el paso 1 es descubrir un objetivo / proyecto de proyecto y conducir hacia él.

2. En un nivel táctico:

Construir. Construir. Construir. No solo proyectos tutoriales de juguete… sitios reales. Necesitas tomar posesión de tu educación y, de hecho, construir cosas desde cero en tu propia computadora.

Está bien empezar de cero (todos lo hicieron) y aprender lo básico, pero no te quedes atascado pensando que ya has terminado. Es posible que te sientas bien contigo mismo al completar los cursos básicos de Codecademy [1] o Treehouse [2] o Code School [3], etc. o tutoriales paso a paso, pero en realidad solo te dan entre el 5 y el 10% de los camino allí (a pesar de las afirmaciones de marketing de lo contrario). No es nada si no puedes aplicarlo por tu cuenta.

Si comienza con el objetivo que mencioné anteriormente, entonces su tarea es trabajar hacia atrás y aprender las cosas que aún necesita saber para llegar allí. Es probable que implique la construcción de piezas de tamaño pequeño como proyectos separados en el camino, pero siempre podrás decir “Lo hice porque me enseñó XYZ, que necesito saber para poder construir ABC”. La alternativa es acumular una lista de habilidades que estás tratando de aprender y abrirse camino a través de ellas … no una receta para el éxito.

Incluso si no es un proyecto grande en particular lo que te motiva, deberías encontrar algún producto que quieras construir. Una excelente manera de probarte a ti mismo es comenzar a copiar sitios web existentes. Si eres una persona de primera línea, comienza clonando la página de inicio de Google y ve hacia sitios y diseños más complejos.

Si también estás buscando en el back-end, tus opciones son un poco más interesantes porque puedes jugar con todo tipo de contenido dinámico. Comience tan granular y contenido como pueda, pero siga desafiándose.

3. El camino más eficiente

Si has descubierto tu motivación y entiendes que estarás construyendo muchos proyectos en el camino para llenar los vacíos, el último problema restante es cómo realizar la tarea de manera más eficiente. La única forma de hacer las cosas del lobo es que Google no puede entender cada paso que llegas y que no entiendes. Ha funcionado para muchos a lo largo de los años.

Te animo a buscar ayuda de terceros siempre que puedas. Nadie realmente aprende “por su cuenta”, incluso si solo estás leyendo un montón de publicaciones de blog de otras personas. Pero es MUCHO más eficiente superar los bloques conceptuales (cuando no sabes lo que no sabes) hablando con un ser humano real. Una conversación de 10 minutos con cualquier persona que haya trabajado en sitios web puede ahorrarle todo tipo de molestias al tratar de analizar las publicaciones del blog para obtener el tipo correcto de pepitas conceptuales. Internet suele ser bueno para resolver problemas específicos, pero malo para proporcionar una orientación más flexible o estratégica. Incluso solo entrar en una sala de chat o una sesión de IRC y hacer tus 3 preguntas tontas puede ser un gran avance.

Lo mejor de todo, consigue un amigo. Asociarse con alguien, incluso si están a 10 zonas horarias de distancia. Si puedes encontrar a alguien con la misma motivación o unidad o meta que tienes, tienes una ventaja enorme sobre la persona que todavía está luchando solo en casa. Ahorra tiempo porque no necesitas atascarte en los mensajes de error durante 4 horas y puedes compartir información estratégica en el camino.

Finalmente, si está buscando un camino claro hacia adelante, lo invito a revisar mi proyecto, The Odin Project, que es un plan de estudios gratuito que traza un camino hacia el aprendizaje del desarrollo web mediante el uso de los recursos existentes en la web.

De cualquier manera, motívate, construye cosas, encuentra un amigo.

[1] Aprende a codificar
[2] Aprende diseño web, desarrollo web y más
[3] Aprender haciendo – Code School

Primero, entienda lo que es un desarrollador de front-end:
Evite el hecho de que ser un Desarrollador de Front-End no solo significa desarrollar Interfaces de Usuario, sino que también tiene que trabajar en sincronización con la persona de back-end. Debe conocer las llamadas a la API y los estándares de seguridad a seguir.

Siempre recuerda el hecho de que cualquier cosa que escribas en el front-end puede ser superada y manipulada por alguien, por lo que, desde el punto de vista de la seguridad, no puedes hacer mucho al respecto, pero debes asegurarte de que se eliminan las principales lagunas. Cuidado en el backend.

Es posible que tenga que trabajar en Android, iOS o Web Frontend, aunque suenen diferentes, todos son más o menos iguales, aparte de la sintaxis y los idiomas involucrados, los principios son los mismos. Para comprender los principios básicos de front-end y cómo los desarrolladores de front-end interactúan con los desarrolladores de back-end, les sugeriré que comiencen con el desarrollo web.

  1. Aprenda HTML y CSS: eso es bastante obvio si desea realizar un desarrollo web porque lo que vea en su página web no es más que html y CSS (la forma en que lo ve está manipulada por los lenguajes del lado del servidor y javascript).
  2. Sepa cómo funciona Bootstrap – Atleast sabe qué es bootstrap. No tiene que aumentar la sintaxis, pero usarla le ayudará a diseñar rápidamente.
  3. Domine CSS y aprenda a usar las herramientas profesionales para el diseño web (facilitarán su trabajo y lo ayudarán a diseñar páginas web de aspecto elegante).
  4. Haz de Javascript tu mejor amigo: si quieres trabajar en la parte delantera de la web, Javascript será tu mejor amigo. Tienes que dominar javascript, cómo manipular el árbol DOM usando Javascript, etc.
  5. Intente usar el Javascript SDK de Facebook para comprender cómo interactúa Javascript con el backend y la magia que puede hacer.

Y el resto depende de tu imaginación. Una vez que sabes cómo funcionan las cosas, lo que importa es tu creatividad.

Hola,

¡BrainStation es una escuela de educación tecnológica con ubicaciones en Toronto, Vancouver, Costa Rica y Nueva York! Tenemos cursos en Desarrollo Web a través de una variedad de ofertas diferentes en función de su compromiso de tiempo preferido.

Éstos son algunos de los diferentes tipos:

Desarrollo web a tiempo completo

  • Programa de desarrollo web a tiempo completo de 10 semanas en el que aprendes los idiomas front y back end. Este programa está disponible tanto en el campus como en línea, según sus necesidades. Desde la perspectiva del contenido, BrainStation se centra en todo el material que necesita saber para comenzar un nuevo trabajo como desarrollador web después de la graduación. El contenido está dirigido por la industria y se está adaptando constantemente para enseñar lo último en tecnología. Nuestro programa es un compromiso de 10 semanas a tiempo completo de lunes a viernes de 10 am a 6 pm

Desarrollo web a tiempo parcial

  • Si no puede comprometerse con un programa de tiempo completo, este curso es un programa de 10 semanas, 3 horas a la semana, en el que puede aprender los conceptos básicos de todo lo relacionado con el desarrollo web. El curso está diseñado para que usted esté constantemente aprendiendo material y aplicando ese conocimiento directamente a un desafío en clase, todo lo cual se convierte en un proyecto final durante las 10 semanas.

Talleres de fin de semana

  • BrainStation también ofrece cursos intensivos condensados ​​para que usted pueda usar material. Estas ofertas de fin de semana son perfectas para aquellos que no pueden comprometerse hasta 10 semanas, pero que aún desean aprender suficiente material para entrar en la puerta.

Si tiene alguna pregunta sobre el desarrollo web de aprendizaje, no dude en comunicarse con nosotros en [email protected]