Red de conocimiento informático - Problemas con los teléfonos móviles - ¿Cuál es el resultado del front-end web versus el back-end web?

¿Cuál es el resultado del front-end web versus el back-end web?

Diferencias funcionales

En primer lugar debemos distinguir la diferencia entre diseñador web y desarrollador

web. La diferencia entre los dos se refleja principalmente en: uno está relacionado con los aspectos visuales o estéticos del sitio web, llamado "front end" y el otro es el aspecto de codificación invisible del diseño, llamado "back end". En resumen, las hermosas interfaces de los sitios web son obra de los diseñadores web, mientras que las potentes funciones son obra de los desarrolladores web.

Diferencias técnicas

Interfaz web:

1. Competente en HTML, capaz de escribir estructuras HTML con semántica razonable, estructura clara y fácil mantenimiento.

2. Competente en CSS, capaz de restaurar el diseño visual y compatible con los principales navegadores reconocidos por la industria.

3. Familiarícese con JavaScript, comprenda el contenido básico de ECMAScript y domine 1 o 2 marcos js, como JQuery.

4. Tener una comprensión clara de los problemas comunes de compatibilidad del navegador y tener soluciones confiables.

5. Tener ciertos requisitos de rendimiento, comprender las sugerencias de optimización del rendimiento de Yahoo y poder implementarlas de manera efectiva en el proyecto.

Backend web:

1. Competente en jsp, servlet, java

Bean, JMS, EJB, Jdbc, desarrollo Flex o herramientas relacionadas, muy familiarizado. con bibliotecas de clases y marcos, como Velocity, Spring, Hibernate, iBatis, OSGI, etc., y tiene un profundo conocimiento de los patrones de desarrollo web.

2. Ser competente en el uso de sistemas de bases de datos de uso común, como Oracle, sqlserver, mysql, etc., y tener sólidas capacidades de diseño de bases de datos.

3. Se dará prioridad a los solicitantes que estén familiarizados con las herramientas de gestión de configuración de proyectos de Maven, familiarizados con servidores de aplicaciones como Tomcat y Jboss, y que tengan experiencia relevante en el ajuste de carga en condiciones de procesamiento de alta concurrencia.

4. Competente en técnicas de análisis y diseño orientado a objetos, incluidos patrones de diseño, modelado UML, etc.

5. Estar familiarizado con la programación de redes, tener experiencia y capacidad en el diseño y desarrollo de interfaces API externas, y tener un diseño de especificaciones de API multiplataforma y capacidades de diseño de llamadas API eficientes.

En resumen, la diferencia entre los dos es que

en términos de funciones, el front-end es el principal responsable del diseño de la interfaz; para las funciones detrás de la interfaz.

En términos de imagen, el front-end se centra en la forma y la belleza; el back-end se centra en la funcionalidad y la practicidad.

En la contratación corporativa, los ingenieros de front-end deben ser competentes. en JS, poder usar JQuery con competencia, comprender CSS y dominarlo. Utilice este conocimiento para desarrollar efectos interactivos. Los desarrolladores de back-end deben poder escribir código Java, escribir declaraciones SQL y poder crear bases de datos simples. diseñar, conocer Spring e iBatis, comprender algunos patrones de diseño, etc.

Desafíos que enfrenta el desarrollo front-end web

Cinco desafíos principales en el desarrollo front-end

El primer desafío: la compatibilidad

Existe Hay muchos tipos de navegadores, incluidos IE, Firefox, Chrome, Opera y numerosos navegadores empaquetados con IE, como Sogou, Maxthon y 360, además de versiones para terminales móviles de estos navegadores. Se necesitan estándares web. La mayor parte del conocimiento de front-end es común a todos los navegadores, pero todavía quedan problemas en la historia. Las diferentes versiones de los navegadores tienen diferentes problemas. Especialmente el sistema IE con mayor participación de mercado. Aunque IE

9/10 parece ser bastante estándar, las versiones anteriores tienen sus propios problemas, lo que hace que la compatibilidad con versiones anteriores sea un dolor de cabeza. Si no acumula algo de experiencia, se sentirá confundido al enfrentar enfermedades difíciles y complicadas.

El segundo mayor desafío: la complejidad de la interacción

El nivel de interfaz proporcionado por CSS y DOM es demasiado bajo, y los controles proporcionados por BOM son solo los más básicos, como entrada, select y textarea, el propio front-end debe crear efectos de UI ligeramente más complejos utilizando CSS y DOM.

Cuando veo un requisito, el primer paso en mi mente es pensar en cómo usar partes básicas como CSS y DOM para combinarlas en el efecto final. Lograr el efecto final es en realidad un proceso "creativo", como tabView. treeView, richEditor, colorPicker, etc. Los componentes que parecen ser comunes en realidad no están disponibles en la interfaz y deben implementarse usted mismo.

El requisito de pegamento del lenguaje front-end

es demasiado fuerte. CSS, DOM y JS son tres tecnologías diferentes, que también son las tres habilidades básicas más importantes que se deben dominar en el sistema de conocimiento front-end. El efecto front-end finalmente se presenta mediante la combinación de CSS, DOM y JS. Es difícil de lograr sin una sola tecnología y se deben considerar puntos de conocimiento de múltiples direcciones al mismo tiempo. La programación front-end parece tener tres subprocesos ejecutándose al mismo tiempo y la complejidad aumenta exponencialmente.

El tercer gran desafío: la mantenibilidad del código

El aumento de la complejidad afecta directamente a la mantenibilidad del código. La combinación de CSS + DOM + JS es tan poderosa. El mismo efecto se puede implementar de muchas maneras completamente diferentes. Cada método de implementación tendrá diferentes dificultades de desarrollo, escalabilidad y mantenibilidad. Hay demasiadas soluciones. Cuando vea un efecto, primero pensará en cómo usar interfaces de bajo nivel en CSS y DOM para lograrlo. En este momento, pueden aparecer muchas cosas. Tu mente Hay diferentes métodos de implementación. Después de "crear", todavía tienes que "comparar", sopesar los pros y los contras de varias soluciones, y solo después de luchar por un tiempo podrás elegir la solución más adecuada. Por supuesto, no es que el front-end sea perfeccionista y deba elegir la mejor manera, sino que debido a que el front-end es programación GUI, frente a los usuarios directamente, es la parte más directa de la presentación del producto, y es la fachada. Debido a esto, la parte delantera también es la parte que es más probable que se modifique repetidamente. Todo programador sabe lo terribles que son las "modificaciones" repetidas. Si la capacidad de mantenimiento no es buena, es simplemente una pesadilla. Por lo tanto, la parte frontal debe prestar atención a la mantenibilidad. No prestar atención a la mantenibilidad equivale directamente a autoabuso.

El cuarto gran desafío: el rendimiento

El quinto gran desafío: el crecimiento personal

Las ideas del desarrollador son muy importantes

Front-end desarrollo, si no hay una idea de diseño general, se convertirá en un programa fragmentado, con un efecto y un montón de código, una función y un montón de scripts, y un requisito lógico. Una vez me encontré con una situación en la que, debido a ajustes de UE, se retuvo todo el código de interfaz, excepto las funciones principales de procesamiento de datos, y se modificó el resto. Básicamente, el desarrollo front-end consta de tres partes: operación DOM, procesamiento de datos e interacción de datos. Si las funciones de estas tres partes se asignan razonablemente, el código front-end se puede expandir y ajustar fácilmente.

El verdadero desafío del desarrollo front-end radica en el pensamiento del desarrollador. La compatibilidad, el diseño, CSS y JS no son problemas. El problema es cómo organizar razonablemente la lógica del lenguaje, cómo abstraer correctamente los módulos en los requisitos, cómo usar el código para procesar, expresar claramente las ideas en el código y escribir buenos comentarios; proporcionar mantenimiento de seguimiento o una idea legible. La cantidad de cambios en el front-end es varias veces mayor que en el back-end. No hay garantía para el front-end, solo se puede modificar continuamente según las necesidades.

Cinco grandes desafíos en el desarrollo back-end

El primer desafío, el desafío más importante en el desarrollo back-end, proviene de la escala

La expansión de la escala , como la expansión del número de visitas, la expansión de la capacidad de almacenamiento de archivos, la expansión del volumen de datos, la expansión del número de servidores, etc. Un sitio web que se ve exactamente igual en el front-end casi enfrentará muchos problemas y desafíos si un determinado indicador se expande diez veces. Por otro lado, a medida que la escala se expanda, la arquitectura del sistema back-end definitivamente se volverá más complicada. Resulta que solo hay un servidor y LAMP están instalados juntos. Luego se separó la base de datos, el proxy inverso, el equilibrio de carga, la fragmentación de bases de datos y tablas, Memcache, la cola de mensajes, el procesamiento de transacciones, CDN, NOSQL, varias arquitecturas y el servidor evolucionaron gradualmente. La complejidad de la arquitectura naturalmente traerá más problemas y más desafíos.

El segundo mayor desafío proviene de la seguridad

Los problemas de seguridad surgen sin cesar y son difíciles de prevenir. Se necesitan medios técnicos y sistemas de gestión.

El tercer gran desafío proviene de la eficiencia

Si puede proporcionar suficiente velocidad de procesamiento, si puede proporcionar suficiente ancho de banda o si puede garantizar la capacidad de respuesta, estas son eficiencias externas.

Si puede utilizar menos servidores, si puede utilizar servidores más baratos o si puede utilizar más servidores que ahorren energía, estas son eficiencias internas.

El cuarto desafío importante proviene de los cambios en la demanda.

Tanto el front-end como el back-end enfrentarán cambios en la demanda, siempre que se trate de desarrollo de software, este es un gran desafío. Pero cuando un sistema ya se está ejecutando de manera estable y eficiente, los requisitos cambian una vez que se cumplen, la parte que originalmente no tuvo problemas colapsará repentinamente una vez que colapse, será una pesadilla para los ingenieros de back-end.

El quinto gran desafío proviene del dogma

Hay innumerables grandes empresas de TI en el mundo y todas están abiertas y dispuestas a compartir su arquitectura y tecnología. Por lo tanto, para los ingenieros de back-end con "visión amplia", la dificultad no radica en cómo resolverlo, sino en cómo elegir entre muchas soluciones. Siguen surgiendo marcos y prácticas, al igual que casos exitosos. Todo el mundo lo está usando bien, pero ¿te atreves a usarlo? ¿Es más importante ser lo suficientemente valiente para probar cosas nuevas o ser conservador?