Un desarrollador front-end puede significar muchas cosas diferentes dependiendo de la compañía para la que trabajas, pero diría que la mayoría de los desarrolladores front-end hacen la mayor parte de su trabajo en la capa de vista de un MVC y pueden aventurarse en la capa del controlador también dependiendo del pila de aplicaciones
La capa de vista puede ser compleja debido a la naturaleza misma de las aplicaciones y dispositivos web modernos. Dado que el desarrollador front-end es responsable de presentar una vista coherente en todos los dispositivos y navegadores, es importante tener la capacidad de depurar en todos los navegadores y dispositivos diferentes, al igual que los principios de diseño receptivo.
En su mayor parte, diría que los desarrolladores front-end pasan mucho tiempo traduciendo maquetas de diseño en HTML y CSS y luego agregando interactividad, que podrían ser cosas como animaciones de UI, menús desplegables, etc., con JS. En el caso de que esté trabajando en aplicaciones y no en sitios, puede ser responsable de conectar los elementos de la interfaz de usuario a las API creadas por un desarrollador de back-end utilizando Angular o jQuery para enviar / extraer datos de la aplicación. En este caso, puede tomar un poco más de propiedad de la capa de controlador (C en MVC) ya que parte del procesamiento o validación de datos puede ocurrir en el cliente o en el front-end.
- ¿Qué tecnologías se deben usar si quieres hacer un servicio como Flickr?
- ¿Las restricciones de hojas de estilo en cascada (CCSS) deben reemplazar a CSS?
- Cómo desarrollar una estructura de base de datos y programar un código de cupón condicional
- Cómo encontrar un sitio web de alojamiento barato
- ¿El nuevo MacBook Air 2011 es bueno para el desarrollo web? ¿Por qué o por qué no?
Debe tener tecnologías para un desarrollador front-end
HTML 5, CSS 3, JavaScript, jQuery, Bootstrap / Foundation, herramientas de desarrollo (Chrome, Firebug, Web Inspector) y quizás un marco JS como Angular, Ember, Backbone o Knockout.
Es bueno tener tecnologías
Cualquiera de los marcos JS (Angular, React, Ember, Knockout, Backbone, etc.). SASS / LESS, Grunt, Gulp
Cosas que te distinguirán
Node.js, PHP, Python, C # o cualquier lenguaje “back end”. Aunque es posible que no lo use a diario, conocerlo lo suficiente como para colaborar con otros desarrolladores lo convertirá en una mejor opción.
Bases de datos SQL y no SQL por el mismo motivo que el anterior.
Experiencia MVC. A menos que solo desee crear sitios web estereotipados, sepa lo que esto significa arquitectónicamente y pueda articular por qué es importante y cómo encaja en él.