Cómo convertirse en un excelente ingeniero de desarrollo web front-end
¿Qué es un ingeniero front-end?
Ingeniero front-end, también conocido como ingeniero de desarrollo web front-end. Esta es una industria que se segmenta con el desarrollo de Internet.
La tecnología de desarrollo web front-end incluye principalmente tres elementos: HTML, CSS y JavaScript.
Requiere que los ingenieros de desarrollo front-end no solo dominen la tecnología básica de desarrollo web front-end, la optimización del rendimiento del sitio web, el SEO y los conocimientos básicos del lado del servidor, sino que también aprendan a utilizar diversas herramientas para el desarrollo auxiliar y teórico. conocimiento, incluida la accesibilidad del código, la facilidad de uso de los componentes, las plantillas semánticas en capas y la compatibilidad con capas del navegador.
Con la popularidad de RIA (abreviatura de Rich Internet Application) en los últimos dos o tres años, los ingenieros de desarrollo front-end también necesitan dominar lenguajes como Flash/Flex, Silverlight, XML y servidor. -Lenguajes laterales (PHP, ASP.NET, JSP, Python).
La barrera de entrada al desarrollo front-end es en realidad muy baja. En comparación con la curva de aprendizaje de los lenguajes del lado del servidor, la curva de aprendizaje del desarrollo front-end es rápida al principio y luego se ralentiza.
HTML ni siquiera es un lenguaje, ¡es simplemente un simple lenguaje de marcado!
CSS es sólo un lenguaje de decoración de estilo sin tipo. Por supuesto, también se puede considerar un lenguaje débilmente tipado.
Es relativamente fácil comenzar con los conceptos básicos de Javascript.
Debido a esto, muchos colegas en el campo del desarrollo front-end se han convertido en "talentos" por sí solos, pero la mayoría se queda en la etapa de poder usarlo, porque la curva de aprendizaje posterior Es cada vez más empinado y es difícil dar cada paso adelante.
La tecnología web front-end es un poco curandera, los puntos de conocimiento son demasiado triviales y el juego de valores técnicos está dividido por igual, es decir, la estructura de conocimiento del sistema general no es ¡Estos factores también han afectado objetivamente la precipitación de tecnología de punta "ortodoxa"! Además, se ha abusado de todo tipo de "trucos raros" y la herencia del conocimiento técnico de front-end es demasiado general, lo que dificulta que los recién llegados vean claramente la situación actual y comprendan las prioridades. Por lo tanto, en el campo de la tecnología front-end, encontrar un senior confiable es más importante que el proyecto, el equipo, la empresa o incluso el salario.
Por otro lado, como se mencionó anteriormente, el desarrollo front-end es una profesión muy nueva y la investigación sobre algunas especificaciones y mejores prácticas se encuentra en la etapa exploratoria.
Siempre surgen nuevas inspiraciones y tecnologías de vez en cuando, como sprites CSS, diseño de margen negativo, diseño de cuadrícula, etc.
Varios marcos de JavaScript surgen sin cesar, inyectando gran vitalidad en todo el campo del desarrollo front-end;
La guerra de los navegadores se está volviendo cada vez más feroz y las soluciones de compatibilidad entre navegadores son cada vez más todavía diverso.
Para satisfacer la demanda de "alta capacidad de mantenimiento", es necesario dominar el conocimiento del front-end de manera más profunda y sistemática, para crear una buena arquitectura de front-end y garantizar la calidad del código.
Con el rápido desarrollo de los dispositivos portátiles, el estándar industrial HTML5 se está desarrollando rápidamente. ¡La tecnología en el campo web no ha experimentado actualizaciones importantes en aproximadamente 10 años!
Ahora el mercado necesita excelentes ingenieros senior de front-end.
Por un lado, es una subindustria relativamente nueva. La mayoría de los programadores front-end son autodidactas y su estructura de conocimientos no es sistemática. Por otro lado, no existen cursos de este tipo en las universidades; Lo más importante es que hay cursos como Beida Jade Bird. ¡La institución de formación no tiene cursos de formación específicos para ingenieros de front-end! !
Wu Liang dijo en el prefacio de la primera página de "El Señor de los Anillos: El Retorno del Rey" de JavaScript: La mayoría de los programadores piensan que Javascript es demasiado simple y solo es adecuado para un rendimiento sofisticado. en algunas páginas web, por lo que no están dispuestos a gastar energía en aprender o creen que pueden dominarlo sin aprender.
De hecho, si un lenguaje es un lenguaje de secuencias de comandos a menudo está determinado por sus objetivos de diseño. La simplicidad y la complejidad no son criterios que distingan los lenguajes de scripting de los que no lo son.
De hecho, entre los lenguajes de scripting, Javascript es un lenguaje muy complejo. Incluso si su complejidad se mide utilizando lenguajes que no son de scripting, ¡sigue siendo un lenguaje muy complejo!
¡Javascript no es menos complejo que Perl y Python!
¿Cómo aprender conocimientos front-end?
Vivimos en un universo lleno de reglas. El orden social opera según reglas, y el lenguaje informático es casi una colección de reglas. Los predecesores de las computadoras definen reglas, las reglas nos limitan y nosotros usamos reglas para controlar los datos. Muchas veces, el control razonable de los datos proviene del dominio de las reglas.
Para aprender HTML y CSS, debes estudiarlos cuidadosa y exhaustivamente del libro. Luego necesitas practicar mucho, hacer todo tipo de rutinas, ejercicios extraños y muchos diseños para unir y comprender tus conocimientos.
Para aprender Javascript, primero debes saber qué puede y qué no puede hacer el lenguaje, en qué es bueno y en qué no.
Si sólo quieres ser un programador front-end normal, sólo necesitas recordar la mayoría de las funciones de Javascript y hacer algunos ejercicios.
Si desea comprender Javascript en profundidad, debe comprender los principios y mecanismos de Javascript. Necesitamos conocer sus orígenes y comprender profundamente la naturaleza basada en objetos de Javascript.
También es necesario tener un conocimiento profundo del comportamiento y las características de Javascript en el host del navegador.
Por razones históricas, Javascript ha sido ignorado, ¡un poco como si lo hubieran adoptado! Por lo tanto, tiene muchas deficiencias, como comportamiento inconsistente en varios entornos de host, problemas de desbordamiento de memoria, baja eficiencia de ejecución, etc.
Como excelente ingeniero de front-end, también debes comprender profundamente y aprender a lidiar con estos defectos de Javascript.
Entonces, ¿cuáles son los requisitos para un buen o incluso excelente ingeniero de desarrollo front-end?
En primer lugar, un excelente ingeniero de desarrollo web front-end debe tener amplitud y profundidad en el sistema de conocimientos. En realidad, es difícil lograr estos dos puntos. Por lo tanto, a muchas grandes empresas les resulta difícil contratar ingenieros de desarrollo front-end ideales, incluso con salarios elevados. En la tecnología no hay blanco y negro, sólo bien y mal, pero las habilidades son diferentes.
Antes, podía crear páginas web con sólo un poco de conocimiento de Photoshop y Dreamweaver.
Ahora bien, dominarlos no es suficiente. Independientemente de la dificultad del desarrollo o los métodos de desarrollo, la producción de páginas web actual está más cerca del desarrollo back-end de sitios web tradicionales, por lo que ya no se llama producción de páginas web, sino desarrollo front-end web.
El desarrollo web front-end es cada vez más importante en el desarrollo de productos y se necesitan ingenieros front-end profesionales para hacerlo bien.
El desarrollo web front-end es un trabajo muy especial que implica una amplia gama de conocimientos, que incluyen tanto tecnologías específicas como ideas abstractas. En pocas palabras, su función principal es presentar mejor la interfaz del sitio web a los usuarios.
En segundo lugar, un excelente ingeniero de desarrollo web front-end debe tener la capacidad de aprender rápidamente. La Web está evolucionando rápidamente e incluso estas tecnologías cambian casi todos los días. Si no tiene la capacidad de aprender rápidamente, no podrá seguir el ritmo del desarrollo web. Los ingenieros de front-end deben mejorarse constantemente y aprender nuevas tecnologías y modelos; confiar únicamente en el conocimiento actual no puede adaptarse al futuro. El futuro de la web será muy diferente al actual, y el trabajo de los ingenieros de front-end es descubrir cómo reflejar este cambio radical con sus aplicaciones web.
Hablando de esto, recordé lo que dijo un maestro: Para los principiantes, la nueva tecnología es nueva tecnología.
Para un maestro, la nueva tecnología es sólo una extensión de la tecnología.
Además, los ingenieros de front-end excelentes deben tener buenas habilidades de comunicación, porque los ingenieros de front-end deben satisfacer las necesidades de al menos cuatro tipos de clientes.
1. Este es un grupo de personas responsables de la planificación de aplicaciones. Se les ocurrirán muchas aplicaciones nuevas, extrañas e incluso imposibles. En términos generales, los gerentes de producto buscan la riqueza de funciones.
2. Diseñador de UI.
Estas personas son responsables del diseño visual y la simulación interactiva de la aplicación. Les importa a qué son sensibles los usuarios, la coherencia de las interacciones y la usabilidad general. En términos generales, los diseñadores de UI están interesados en interfaces de usuario hermosas y fluidas que no son fáciles de lograr y, a menudo, no están satisfechos con el error de 1 px causado por los ingenieros de front-end.
3. Estas personas son responsables de ejecutar y mantener la aplicación. El enfoque principal de la gestión de proyectos no es más que el uptime, el tiempo que la aplicación está siempre disponible con normalidad, el rendimiento y los plazos. El objetivo que persiguen los directores de proyectos suele ser mantener las cosas lo más simples posible y no introducir nuevos problemas al actualizar.
4. Usuarios finales. Se refiere al consumidor principal de la aplicación. Aunque los ingenieros de front-end no suelen interactuar con los usuarios finales, sus comentarios son muy importantes. Lo que más desean los usuarios finales son funciones que sean personalmente útiles y funciones que ofrecen los productos de la competencia.
Nicholas C. Zakas, ingeniero de desarrollo de Yahoo YUI, cree:
Los ingenieros de front-end son los trabajos más complejos en el campo de la informática. La mayoría de las ideas de programación tradicionales ya no se aplican. Para poder utilizarse en diversas plataformas, muchas tecnologías se basan en una gran cantidad de conocimientos e ideas de la ciencia blanda. Las habilidades profesionales necesarias para ser un buen ingeniero de front-end son vastas y complejas, y se complicarán aún más con la participación de todas las partes a las que, en última instancia, debe servir. La experiencia técnica puede convertirlo en un ingeniero de front-end, pero son las aplicaciones que esa habilidad crea y su capacidad para trabajar codo a codo con otros lo que realmente lo hará sobresalir.
————————————
Acerca de los libros:
Los libros HTML y CSS son similares. Busque muchas recomendaciones en Dangdang.com y Qiyou. Si cree que ha aprendido lo suficiente, puede seguir CSS Zen Garden, que es muy influyente. Se recomienda que los libros de Javascript sean escritos por extranjeros. Muchos autores de libros nacionales sobre Javascript no tienen un conocimiento profundo del lenguaje Javascript.
Los siguientes son algunos libros de Javascript recomendados:
Lectura principal:
Programación avanzada de JavaScript: un libro introductorio clásico muy completo, conocido como una de las Biblias de JavaScript. , con una explicación muy detallada. Se ha lanzado la última versión, la tercera edición, y se recomienda comprarla.
"El Señor de los Anillos: El Retorno del Rey" de JavaScript fue escrito por un gerente de proyectos de desarrollo web en Baidu y también es un buen tutorial introductorio para principiantes.
Lectura intermedia:
La guía definitiva de JavaScript: Otra Biblia de JavaScript, también muy detallada, es una lectura intermedia. Recomendado para comprar.
La esencia del lenguaje JavaScript: una obra maestra de Douglas Crockford, Yahoo Daniel y el líder espiritual de JavaScript. Aunque sólo tiene más de 100 páginas, ¡está lleno de palabras! Lectura muy recomendable.
JavaScript de alto rendimiento: otra obra maestra de Nicholas C. Zakas, autor de "Programación JavaScript".
JavaScript elocuente: con poco más de 200 páginas, este libro es breve. A través de varios ejemplos muy clásicos (la gata menstruante de Emily, el miserable ermitaño, el ecosistema simulado, el juego Sokoban, etc.), se introducen diversos aspectos del conocimiento y métodos de aplicación de JavaScript.
Lectura avanzada:
Patrones de JavaScript: el libro presenta varios patrones clásicos, como constructores, singletons, fábricas, etc., que vale la pena aprender.
Querida. JavaScript. diseño. Patrones: Apress tiene un gran libro sobre patrones de diseño de JavaScript.
Desarrollo de aplicaciones web JavaScript: un gran libro para crear aplicaciones enriquecidas, tiene una explicación más detallada del patrón MVC y también explica algunas bibliotecas de procedimientos.
Desarrollo de aplicaciones web a gran escala | Desarrollo de aplicaciones web a gran escala: no solo tiene una introducción a JavaScript, sino también una introducción a CSS y HTML, pero el contenido es muy bueno. Realmente considera cómo diseñar una arquitectura JavaScript en un programa web grande y vale la pena leerlo.
Para convertirse en un excelente ingeniero de front-end, debe seguir trabajando duro: guía de construcción de sitios web de alto rendimiento, sugerencias de optimización del rendimiento del sitio web de los ingenieros de Yahoo, sugerencias de optimización del rendimiento de YSLOW, reconstrucción de sitios web, métodos ágiles de desarrollo web , biblioteca jQuery, framework front-end, HTML5, CSS3"... ¡Todo esto necesita más investigación!
¡Todo es difícil al principio! Si puedes alcanzar este estado, puedes completar el resto tú mismo
Se suele decir que un conductor que no quiere ser sastre no es un buen cocinero.
Si sólo aprende lenguajes de programación front-end y no los entiende. lenguajes de programación back-end (PHP, ASP.NET, JSP, Python), no puede considerarse un excelente ingeniero front-end
El camino para convertirse en un excelente ingeniero front-end. Está lleno de sudor y trabajo duro.