¿Qué idiomas, en orden, se deben aprender al querer convertirse en un desarrollador web front-end? ¿Qué pasa con un desarrollador web full stack?

Estás en el camino correcto con HTML y CSS, pero esa es puramente la capa de presentación (es decir, cómo se ve el sitio web en lugar de cómo funciona). El más importante para aprender es Javascript, y esto te abrirá todo.

Aprenda Javascript vainilla, obtenga la sintaxis y aprenda cómo interactúa con el DOM HTML. Pruebe cosas en la consola de Javascript en las herramientas de desarrollo de su navegador (las usará mucho). Luego, elija algunos de los conjuntos de herramientas y marcos más utilizados, como jQuery, que simplifican la interacción DOM y la funcionalidad AJAX. Luego busque en uno de los marcos MV * como Angular, Backbone o Ember para construir una interfaz de aplicación front-end completa. En el lado de la presentación, no estaría de más investigar los gustos de Bootstrap, que simplifica significativamente los diseños de front-end y la capacidad de respuesta en todos los dispositivos.

Además, probablemente esté aprendiendo las formas “modernas” de hacer cosas en el front-end con HTML y CSS. Asegúrese de volver también y aprender los métodos anticuados, usando HTML3-4, y con el diseño y el diseño usando tablas. Esto puede sonar como basura hoy en día, pero de vez en cuando se le pedirá que cree cosas como correos electrónicos HTML; realmente tiene que usar los métodos de diseño más básicos, de mínimo común denominador posibles en estas circunstancias, dado La gran variedad de software de correo electrónico que utilizan las personas. Muchas, muchas personas todavía usan versiones antiguas de Outlook o * shiver * Lotus Notes (mucho más que quienes usan los gustos de IE6-7). Puede usar CSS en línea, y algunos softwares de correo electrónico más modernos admitirán una hoja de estilo incrustada (útil para correos electrónicos receptivos), ¡pero realmente tiene que codificar los estándares de 1999 la mayor parte del tiempo para esto!

Como líder, lidiarás mucho con elementos de diseño. Entonces aprende sobre eso. Conozca Photoshop, incluso si es solo para cortar y optimizar imágenes. Aprende un poco de psicología del diseño y teoría del color. Aprenda los mejores formatos de imagen para usar en diferentes situaciones. Aprenda a combinar imágenes en sprites CSS para ahorrar ancho de banda cuando corresponda. Aprenda dónde puede usar elementos SVG y cómo acomodar pantallas de ultra alta resolución (por ejemplo, pantallas Retina de Apple). Aprenda CSS en la medida en que pueda reemplazar muchas imágenes de mapa de bits con CSS puro (gradientes, sombras, animación, etc.).

Este es pequeño, pero muy importante: a las personas que escriben contenido de texto les encanta entregárselo en un archivo de Word. Si copia y pega fuera de Word, incrustará una carga completa de HTML superfluo que probablemente romperá su código. ¡Así que aprende a quitarlo!

Puede encontrarse trabajando con equipos con procedimientos de desarrollo más formalizados: metodologías como “cascada” y “ágil”, y procesos como la integración continua y las pruebas automatizadas. Hay mucha terminología, procedimientos y reglas para aprender en este tipo de entornos, y muchos pros y contras a los que no voy a entrar aquí. Pero una cosa que debe aprender desde el principio es cómo usar el control de fuente como Git, Mercurial o Subversion. Obtenga una cuenta de GitHub o Bitbucket, aprenda a comprometer, bifurcar y fusionar código con ella, y esté preparado.

En el back-end, puede analizar los gustos de PHP (fácil de comenzar) y, cuando esté listo, profundizar en algunos de los sistemas más grandes basados ​​en framework como Cake / Laravel / Symfony (PHP) , Python / Django, Ruby / Rails, .NET o Java. Sin embargo, si lo ha hecho bien con Javascript hasta este punto, también podría buscar en Node.js, básicamente un intérprete de Javascript del lado del servidor y un micro servidor que puede ocupar el lugar de cualquiera de los otros idiomas de back-end, y, cuando se usa con un marco como Express, también puede manejar MVC.

También tendrá que aprender una tecnología de base de datos: MySQL es un buen punto de partida para principiantes, al igual que PostgreSQL. Tendrá que aprender el lenguaje de consulta SQL, aunque la importancia de esto se compensa en cierta medida por la capacidad de utilizar herramientas ORM para aplicar esquemas de bases de datos directamente a las matrices. También puede aprender a usar una de las soluciones NoSQL: MongoDB y CouchDB son populares, usan la notación de objetos Javascript estándar para la estructura y no son tan rígidos como las bases de datos SQL tradicionales.

Y sí, voy a ir allí. Si vas a aprender Photoshop y vas a obtener una suscripción a Adobe CC, aprende un poco de Flash. Puede ser obsoleto en los dispositivos móviles y comenzar a ser así en el escritorio, pero aún no es una tecnología muerta, y muchos de los avances de HTML en los últimos años todavía se están poniendo al día con lo que Flash podía hacer hace 10 años. Por ejemplo, el enlace de datos bidireccional “revolucionario” de Angular: ¡Flash ha podido hacerlo desde que introdujo campos de texto dinámicos con Actionscript a principios de la década de 2000! También se está convirtiendo en una tecnología bastante popular para el desarrollo de aplicaciones móviles multiplataforma y sigue siendo el único juego en la ciudad cuando se trata de una transmisión de video adecuada (en lugar de descargar videos progresivamente), por lo que definitivamente vale la pena tenerlo en su kit de herramientas.

Entonces, ese es su kit de herramientas de programación. Pero tener todas estas herramientas a su disposición le ofrece muchas opciones. Por lo tanto, también recomendaría estudiar la interfaz de usuario y el diseño de la experiencia del usuario, y aprender a usar las herramientas que ha aprendido de la mejor manera posible. También tendrá que aprender a hacer que sus sitios web funcionen bien con Google, no tiene mucho sentido usar AJAX para llenar sus páginas si desea que Google pueda indexarlas. El contenido cargado dinámicamente es genial, pero se puede buscar contenido “estático”.

En cuanto a cómo hacer una carrera con él, su cartera lo es todo. Cuando empiece, tome todos los trabajos que pueda encontrar, haga un trabajo tan bueno como pueda con él y construya un sitio de cartera. Sea positivo y comprometido, tenga buenos consejos y opiniones informadas, sea un buen jugador de equipo y mantenga una mente abierta. Aprenderá más en el trabajo de lo que nunca leerá Stack Overflow (e incluso Quora).

Además de la respuesta de Geir Bækholt, un desarrollador de pila completa es alguien que puede desarrollar y administrar una solución completa desde la concepción hasta el mantenimiento. Una lista no exhaustiva de habilidades:

  • Diseño front-end: interfaz de usuario, diseño de experiencia de usuario
  • Arquitectura de fondo
  • Arquitectura de base de datos (si corresponde)
  • Selección y mantenimiento del servidor (si corresponde)
  • Pruebas (preferiblemente pruebas unitarias automatizadas y pruebas exploratorias)
  • Conocimiento y mantenimiento de la planificación de lanzamientos.
  • Conocimiento y mantenimiento de publicaciones privadas de forma interna, así como publicaciones públicas.
  • Mantenimiento continuo de todo el sistema después del lanzamiento.

Suponiendo que se refiere al desarrollador WEB front-end:

  1. HTML (marcado sintáctico, no programación. Pero debes saberlo).
  2. CSS (tampoco programando)
  3. JavaScript (el lenguaje de programación de la web front-end).
  4. Python o Java, Ruby o C #, tal vez incluso PHP (hmm … no, es broma. No PHP), o cualquier cosa que pueda usar en el backend / a, solo porque saber más de un lenguaje lo convierte en un programador más inteligente, al igual que saber más de un lenguaje humano te convierte en un humano más inteligente. 😉
  5. XML, SQL, todo tipo de otras pequeñas cosas que tampoco están programando.

Hay toneladas de otras pequeñas cosas en el medio para llenar las grietas. Para ser un desarrollador front-end razonable, debe (y aprenderá) mucho, no solo idiomas y marcas. Los detalles técnicos son menos de la mitad del trabajo, pero son un buen punto de partida.
(No. JQuery y marcos similares no son idiomas).

  1. Línea de comando de Unix y sysadmin
  2. Vi scripting y personalización
  3. Gama de langs útiles para Linux. Python, Perl, Awk, Sed, Yacc, Bash, PHP, Ruby, etc.
  4. Aprende bien el compilador de C y conoce bien el stdlib
  5. Obtenga una gran competencia con SQL en todas sus formas, aprenda también noSQL y varias bibliotecas ISAM y también almacenes de valores clave como redis
  6. Aprenda una serie de protocolos como POP IMAP HTTP, etc., y pueda hacer cualquiera de ellos desde telnet
  7. Evita los productos de Microsoft
  8. Use js, Java, nodo, etc.
  9. Aprenda el lenguaje de programación go y úselo para aplicaciones móviles nativas y de back-end.
  10. Bien hecho, ahora eres fulldeck webdev.

Esto cubre el orden y la estructura tanto para el front-end como para el desarrollo de stack completo. La respuesta de Rishabh Tayal a ¿Cuáles son los mejores idiomas para aprender a convertirse en un desarrollador de pila completa (web)?

Podría ayudarte.

  1. Javascript
  2. Swift (iOS)
  3. Java

Si tuviera que elegir en qué dedicar mi tiempo a aprender, para cualquier tipo de desarrollo que se haga en mi futuro, precisaría los tres idiomas anteriores.

Necesitas

  1. HTML
  2. CSS
  3. JavaScript
  4. Jquery
  5. Luego ingresas a las bibliotecas JS como angular, backbone, ember