Red de conocimiento informático - Conocimiento informático - ¿Cómo aprender front-end de forma sistemática?

¿Cómo aprender front-end de forma sistemática?

Clasificación actual de las personas que ingresan a la industria front-end

1. Especialistas relacionados con la informática que han experimentado los fundamentos teóricos de las computadoras, como los principios de composición de las computadoras, los principios del sistema operativo y las computadoras. redes, estructuras de datos de algoritmos, patrones de diseño y haber utilizado al menos dos o más lenguajes de programación (tipificación fuerte y tipificación débil).

Ventajas: teoría y arquitectura sólidas, pensamiento informático general, buenas habilidades internas y habilidades externas más rápidas para aprender.

Desventajas: algunas personas no tienen habilidades sólidas en los detalles relacionados con el front-end, pero pueden hacerlo rápidamente si se toman el tiempo.

2. Los autoestudiantes no informáticos (incluidos los estudiantes de informática que no han estudiado bien) tienen una base teórica débil y luego, debido a intereses personales o necesidades profesionales, estudian por su cuenta el desarrollo front-end. habilidades.

Ventajas: Gran capacidad de autoaprendizaje, capaz de planificar el contenido de aprendizaje según los propios intereses.

Desventajas: algunas personas no tienen un marco de aprendizaje general para el front-end. Pertenecen a una cosa en el este y a otra en el oeste, y algunas personas no tienen un marco general. Pensando en las computadoras, se recomienda ordenar sistemáticamente la estructura del sistema de conocimiento front-end.

Algunos dilemas al trabajar en el front-end

1. Algunas ideas de programación son difíciles de entender debido a la falta de una teoría sólida de algunos algoritmos y estructuras de datos básicos. Por ejemplo, la cadena prototipo, si comprende la estructura de la lista vinculada en la estructura de datos, entonces esto no es difícil de entender. Otro ejemplo es el valor hash, si comprende la tabla hash en la estructura de datos, el valor hash. resolverse fácilmente.

2. La arquitectura de la computadora, la teoría del sistema operativo y la teoría de la red no son lo suficientemente sólidas, lo que dificulta la comprensión de algunas cosas en la etapa posterior. Por ejemplo, algunos estudiantes comenzaron con el aprendizaje front-end y luego aprendieron el desarrollo de nodos. Algunos conceptos en E/S, procesos, subprocesos, IPC y bloqueos de subprocesos eran difíciles de entender, lo que resultó en la incapacidad de usar bien la API del nodo.

3. La arquitectura general del sistema front-end no se ha pensado en profundidad.

Como resultado, puedo usarlo, pero no sé por qué lo uso y cuál es la diferencia entre usar el otro.

4. No hay maestros en el entorno de aprendizaje.

Ningún maestro puede guiarte al siguiente nivel.

5. Lo sé, pero no tomo medidas. Mi disco de red recopila una gran cantidad de información o videos y luego no sucede nada.

Cómo aprender sistemáticamente el front-end

El desarrollo de sitios web se divide a grandes rasgos en front-end y back-end. El front-end es el principal responsable de lograr efectos visuales e interactivos. comunicarse con el servidor y completar la lógica empresarial. Su valor fundamental radica en la búsqueda de la experiencia del usuario. Si ahora eres un estudiante de base cero, generalmente puedes aprender el sistema de acuerdo con las siguientes ideas:

Parte básica

1 Al aprender HTML CSS, puedes imitar algunos sitios web. y hacer páginas. Después de acumular algo de experiencia en la práctica, puede leer uno o dos libros de forma sistemática. Recomiendo "Head First HTML y CSS Chinese Edition". Este libro es demasiado detallado y no tuve la paciencia para leerlo detenidamente. Puedes considerarlo según la situación.

2. Realmente hay mucho que aprender sobre Java. Si no tiene los conocimientos básicos de otros lenguajes de programación, puede que le cueste algo de esfuerzo aprender. Se recomienda leer "La esencia de Java". Idioma" inmediatamente. JS es un tema muy confuso. Idioma, este libro puede ayudarte a distinguir la esencia del lenguaje y la escoria. Debes estudiar la esencia del lenguaje en profundidad. Siempre que pueda comprender el código escrito por otros, no es necesario que lo pruebe usted mismo.

Parte avanzada

Con la base anterior, puedes realizar un diseño web estático general, pero necesitas más aprendizaje para páginas complejas.

1. Una lectura obligada es "Dominar CSS". Después de leer este libro, debe tener una buena comprensión de conceptos como modelo de caja, flujo, bloque, en línea, cascada, prioridad de estilo, etc. Como ejercicio, puedes leer el libro "CSS Craftsman", que tiene una introducción detallada a temas como títulos, fondos, esquinas redondeadas, barras de navegación, tablas, formularios, etc.

2. El contenido mencionado anteriormente no es suficiente para hacerte competente en programación JS.

Después de tener los conceptos básicos, el contenido de aprendizaje adicional incluye:

a) Marco.

Recomiendo jQuery. Es fácil de usar y el método de aprendizaje también es muy simple. Si encuentra problemas, simplemente cree algunas páginas de acuerdo con la documentación del producto. futuro, simplemente consulte la documentación. Los marcos pueden ayudarle a bloquear las diferencias entre navegadores, permitiéndole centrarse más en la esencia del aprendizaje sobre desarrollo web. Suplemento: puedes usar Codecademy para aprender Java y jQuery, y la experiencia del usuario es realmente buena (gracias a TonyOuyang).

b) Paradigma del lenguaje Java. Puede que este nombre no sea apropiado, pero no puedo encontrar un concepto que pueda describir los dos conceptos de "orientado a objetos" y "funcional". Java no es completamente un lenguaje orientado a objetos. Muchos de sus conceptos de diseño tienen la sombra de un lenguaje de programación funcional. Incluso se dice que si no estás orientado a objetos, puedes entenderlo completamente como un lenguaje de programación funcional.

Muchas de las características del lenguaje Java existen debido a sus características funcionales del lenguaje. En esta parte, se recomienda aprender primero la teoría básica de la orientación a objetos y comprender conceptos como encapsulación, herencia, polimorfismo, etc. Wikipedia y la Enciclopedia Baidu serán sus ayudas. También recomendamos "Java orientado a objetos", que debería. Tiene una versión china. No sé mucho sobre programación funcional sistemáticamente, por lo que no puedo decir mucho al respecto. Puedes buscarlo tú mismo en Baidu.

c) Mecanismo interno del lenguaje Java. Es necesario comprender los siguientes conceptos: el alcance de las variables en JS, el método de transferencia de variables, el entorno de definición y el entorno de ejecución de funciones, cierres, los cuatro métodos de llamada de funciones (funciones generales, métodos de objeto, aplicar, llamar) , y los cuatro En el modo de llamada, a quién apunta "esto". Aprenderá más sobre esta parte en "Java Language Essence". Además, debes entender json.

d) Programación DOM, una de las habilidades centrales de este ingeniero front-end web. "El arte de la programación Dom" es una lectura obligada. Además, el libro "Java de alto rendimiento" sobre programación DOM también es muy bueno.

e) Programación Ajax, esta es otra tecnología central. Ajax recomienda consultar cierta información en Internet para comprender los pormenores de este concepto. El contenido de la Enciclopedia Baidu y Wikipedia es suficiente. La programación real es muy fácil. Hoy en día, casi todos los marcos tienen una buena encapsulación de Ajax y la programación no es complicada.

f) Comprender las diferencias entre navegadores. Esta parte incluye CSS y js. Hay muchas diferencias entre los navegadores. Se recomienda acumular más en la práctica. Además, se deben estudiar sistemáticamente el modo de representación del navegador, DOCTYPE y otros contenidos.

3.HTML5 y CSS3. La especificación HTML5 se publicó el 28 de octubre de 2014. HTML5 y CSS3 móviles se han utilizado ampliamente, por lo que debe conocerlos.

Parte de actualización

Con los conocimientos anteriores, debería poder escribir código funcional para la mayoría de los sitios web pequeños. Pero si quieres convertirte en un front-end más profesional, aún debes seguir trabajando duro. Probablemente existan cuatro requisitos superiores: 1) fácil mantenimiento, 2) comprobable, 3) alto rendimiento y 4) poco tráfico (terminal móvil).

Fácil mantenimiento. Para las páginas, debes comprender la separación de "estilo", "datos" y "comportamiento", que por supuesto corresponden a CSS, HTML y js. Para el código js, ​​será mejor que comprenda los patrones de diseño, refactorización, MVC, etc.

Testabilidad.

Alto rendimiento. "Java de alto rendimiento" de lectura obligada

Bajo tráfico. El terminal móvil llama más la atención.

Partes complementarias adicionales

Los proyectos front-end también enfrentan varios aspectos del ciclo de vida del software. El primero es la administración de código. Debe aprender a usar Svn y Git. El segundo es la construcción de código. Hoy en día, la construcción de código front-end ya no es una simple cuestión de compresión. Requiere gestión de dependencias, fusión de módulos y varias compilaciones. Requiere aprender a usar herramientas de construcción front-end como Grunt y Gulp.

El contenido anterior solo describe brevemente la secuencia del aprendizaje front-end.

Para el desarrollo front-end, este es el contenido básico. Puede aprender selectivamente el siguiente contenido según sus intereses y pasatiempos.

1. Diseño de interacción. Las grandes empresas todavía tienen profesionales que hacen esto, pero un front-end que no comprende la interacción definitivamente no es un buen front-end. Recomiende "La simplicidad primero".

2.

Cabe decir que los ingenieros de front-end deben conocer al menos un lenguaje de back-end. Sin embargo, si estás interesado, también puedes aprender en profundidad PHP, que es probablemente el más fácil para empezar. Esta parte se puede dividir en dos tipos: basada en páginas y basada en marcos. Todos los proyectos a gran escala se desarrollan en base a marcos. Se recomienda comprender al menos un marco MVC, como Ci, Yii, Yaf, etc. de PHP. Afortunadamente, las ideas de diseño de los marcos son similares. Hoy en día, NodeJs se ha utilizado ampliamente en grandes empresas. Se recomienda utilizar el marco Express en Node para desarrollar algunos servicios de back-end.

3. Desarrollo Android e IOS.

Hoy en día, el campo del trabajo front-end ha sido muy extenso. El desarrollo de interfaces nativas es esencialmente desarrollo front-end. Todas las grandes empresas se enfrentan al problema de mantener las páginas del entorno nativo y del entorno web al mismo tiempo. tiempo, si se puede hacer técnicamente, la Unificación será de gran valor.

Cómo comenzar rápidamente con el front-end

1. El autoestudio es una forma de aprender algo. Sin embargo, en el proceso de autoestudio, muchas personas se encuentran. un estado de no saber lo que no saben.

2. La otra es seguir a los maestros, ampliar tus horizontes y alcanzar el estado de saber lo que no sabes, para que puedas tener una dirección y entrar en un nuevo estado en un corto período. de tiempo, ahorrando tiempo y costes.