Desarrollo frontend y backend: principios y diferencias. Desarrollador backend: ¿quién es?

El desarrollo front-end es la creación de la parte del cliente del sitio. Un desarrollador front-end es responsable del diseño de la plantilla del sitio web y de la creación de la interfaz de usuario. Por lo general, un desarrollador front-end es un experto en todos los oficios. Simplemente debe tener talento de diseñador, ser un hábil maquetador y un buen programador.

Un desarrollador front-end moderno debería poder dominar fácilmente html5, css3, javascript(y al menos JQuery). Cada especialista en front-end tiene su propio trabajo, que almacena en forma de marco. Muchos desarrolladores utilizan frameworks populares en su trabajo, como Twitter, Bootstrap, Foundation 3, Compass.

Lo que un desarrollador front-end necesita saber:

Para ser un desarrollador front-end exitoso hoy en día, es necesario tener un conjunto de habilidades básicas esenciales. Aquellos desarrolladores que no cumplan con estos requisitos pronto comenzarán a quedarse atrás del progreso dinámico a medida que las fuentes de información comiencen a dar por sentado algunos conocimientos.

Estas son las principales habilidades básicas:

  • javascript
  • Simplemente conocer una biblioteca de JavaScript ya no es suficiente. Es necesario comprender en qué casos el uso de la biblioteca es realmente apropiado y poder trabajar con el antiguo JavaScript, si es necesario. También es necesario comprender cómo funcionan las estructuras de datos, como objetos y matrices; funciones, incluido cómo y por qué deben llamarse y aplicarse; poder trabajar con herencia a través de prototipos; y lidiar con la asincronía.

  • Sistema de versiones de archivos GIT
  • Sin GitHub, un desarrollador front-end en general no puede participar en la gran comunidad de código abierto que ha crecido en torno a las tecnologías de desarrollo front-end. Clonar un repositorio para probar sus capacidades debería convertirse en algo común; es importante entender cómo utilizar ramas en proyectos conjuntos.

  • Organización modular, gestión de dependencias y compilaciones de prueba.
  • Las herramientas RequireJS permiten desarrollar utilizando archivos JS y CSS pequeños y modulares, y luego concatenarlos y minimizarlos con su herramienta de optimización para su uso posterior.

    Si la opción anterior no es adecuada por algún motivo, puede utilizar herramientas como UglifyJS o Closure Compiler, que comprimen de forma inteligente el código requerido y luego concatenan estos archivos comprimidos antes de producir el resultado.

    Si el código está escrito en CSS puro, es decir, no se utiliza un preprocesador como Sass o Stylus, RequireJS también ayudará a organizar los archivos CSS necesarios de forma modular. Solo necesita usar @import en el archivo principal para descargar las dependencias de desarrollo y luego ejecutar el optimizador RequireJS en el archivo principal para crear un archivo listo para usar.

  • Herramientas de desarrollo integradas en el navegador
  • En los últimos años, las herramientas de desarrollo integradas en los navegadores han mejorado significativamente. Si aprende a utilizarlos correctamente, pueden mejorar significativamente su experiencia de desarrollo. Vale la pena elegir un navegador cuyas herramientas de desarrollador utilizará de forma continua, pero no abandone por completo las herramientas de otros navegadores, ya que de vez en cuando se agregan nuevas funciones útiles según los comentarios de los desarrolladores. Dragonfly de Opera en particular ha agregado algunas características que hacen que sus herramientas de desarrollo se destaquen de otras, como un perfilador CSS (experimental), teclas de acceso rápido personalizables, depuración remota sin necesidad de una conexión USB y la capacidad de guardar y usar paletas de colores personalizadas. .

  • línea de comando
  • Hay varias tareas que debes realizar a través de la línea de comando sin pensar:

  1. ssh para conectarse a otra máquina o servidor
  2. scp copiar archivos a otra máquina o servidor
  3. ack o grep para buscar archivos en un proyecto por cadena o patrón
  4. encontrar para detectar archivos cuyos nombres coincidan con un patrón determinado
  5. git realizar al menos acciones básicas como agregar, confirmar, estado y extraer
  6. elaborar cerveza usar Homebrew para instalar paquetes
  7. npm para instalar paquetes de Nodo
  8. joya para instalar paquetes Ruby
  • Pruebas
  • Lo que pasa con escribir código modular y poco acoplado es que es mucho más fácil de probar y con herramientas como Gruñido, preparar un proyecto con pruebas integradas generalmente se ha vuelto más fácil que nunca. Grunt integra QUnit, pero existen muchos marcos de prueba para elegir.

    Si bien probar código modular y poco acoplado es divertido, probar código mal organizado puede ser entre difícil e imposible. Por otro lado, obligarse a escribir pruebas, tal vez incluso antes de escribir el código, le ayudará a sistematizar su enfoque y su código. Esto también le dará la oportunidad de reconstruir su código con mayor confianza en el futuro.

  • Automatización de procesos
  • La capacidad de utilizar Grunt para configurar un proyecto con soporte integrado para pruebas unitarias es un ejemplo de automatización de procesos. La realidad del desarrollo front-end es que un desarrollador tiene que hacer mucho trabajo repetitivo, pero como dicen: un buen desarrollador es un desarrollador perezoso. Si una acción se realiza más de tres veces, es hora de automatizarla.

    Frontend y backend: sobre la jerarquía del desarrollo de aplicaciones web, puntos comunes, similitudes y diferencias entre los dos pilares de la web, así como sus áreas de responsabilidad.

    Atrás quedaron los días en que el mundo de la web era simple y claro, y los sitios web eran conjuntos de páginas estáticas con marcado tabular. El desarrollo web ha pasado por un camino de desarrollo rápido, vibrante y rico. Han surgido nuevos lenguajes, técnicas, tecnologías y paradigmas. Hoy en día, esta es una de las áreas de TI más prometedoras y mejor remuneradas.

    La estructura compleja y de múltiples niveles de las aplicaciones web modernas requiere una división jerárquica del proceso de desarrollo. Históricamente, este proceso se divide en dos partes: front-end (cliente) y back-end (servidor). Echemos un vistazo más de cerca a cada uno de ellos, hablemos de sus diferencias, puntos de contacto y áreas de responsabilidad.

    Interfaz

    El usuario ingresa la dirección en la barra de búsqueda, sigue un enlace de un recurso externo o de un motor de búsqueda. Ve mucha publicidad. Ante sus ojos aparece una exigencia obsesiva de registro. Presenta una navegación incómoda y contenido difícil de leer. La página tarda mucho en cargar, no está adaptada para dispositivos móviles o tiene un diseño desactualizado. ¿Qué hace el usuario? Así es, abandona el sitio.

    La tarea del desarrollador front-end es hacer todo lo posible para evitar este tipo de desarrollos. Su área de responsabilidad cubre creando una interfaz de usuario, lo que a su vez implica cierta jerarquía. Este maquetación, maquetación, adaptación. Una parte importante del desarrollo de aplicaciones web es Diseño UI/UX- lo que más influye en la primera impresión del usuario.

    Pero el diseño aún no es la vanguardia. En la era de las aplicaciones web modernas, la gran mayoría de las cuales implementan alguna lógica empresarial, su comportamiento no es menos importante que su apariencia.

    En este contexto, es imposible no mencionar JavaScript. Originalmente, el lenguaje de secuencias de comandos estaba destinado a implementar funciones simples como animar elementos de la interfaz, pero en manos hábiles y conocedoras se convierte en una herramienta increíblemente poderosa. Se han creado muchas bibliotecas, extensiones y complementos de JS que aumentan enormemente la gama de capacidades de este lenguaje.

    La biblioteca jQuery facilita la implementación de una interacción eficiente entre JavaScript y HTML. El lenguaje TypeScript, compilado en código js, ​​permite utilizar clases, módulos y plantillas, siendo así un lenguaje completo orientado a objetos. La plataforma de software Node.js transforma JavaScript de un lenguaje altamente especializado a un lenguaje de propósito general liberándolo desde la zona de pruebas del navegador. Implementado en el lado del cliente. enviar solicitudes y procesar respuestas del servidor, análisis de datos, cambio dinámico del contenido mostrado.

    backend

    El backend es la lógica del servidor de una aplicación web. Implementado aquí trabajando con almacenamiento de datos Por lo tanto, la persona que desarrolla la lógica del servidor debe tener habilidades para trabajar con bases de datos, así como experiencia en el uso de mecanismos ORM. El rendimiento del código del servidor, su escalabilidad, seguridad y racionalidad dependen del desarrollador backend.

    Además de la lógica del servidor, las responsabilidades del backender incluyen depuración y creación de prototipos utilizando el lado cliente de la aplicación. Esto implica la necesidad de comprender el funcionamiento de la pila de protocolos TCP/IP, HTTP, REST/SOAP y los principios de interacción entre un navegador y una aplicación web.

    A pesar de que el área del front-end se considera tradicionalmente la más rica y diversa en términos de tecnología, el back-end también cuenta con una amplia gama de herramientas de desarrollo. Además del PHP canónico, injustamente criticado por muchos, Python con el framework Django, Java y Node.js, Ruby y el cada vez más popular Go ocupan importantes nichos.

    Conclusión

    El desarrollo web es una de las áreas de TI que se desarrolla con mayor dinamismo. Al abarcar una amplia gama de tareas, da lugar a herramientas e ideologías siempre nuevas, se vuelve más compleja, atrae a su lado a especialistas talentosos y abre numerosas perspectivas tanto para él como para sus apologistas.

    Tanto el front-end como el back-end tienen una variedad de lenguajes y tecnologías disponibles. Existe un intenso debate sobre su relevancia y conveniencia. Pero la verdad, como siempre, está cerca. La elección de la tecnología no debe verse influenciada por la moda, sino por las tareas que el desarrollador se proponga. Cada lenguaje y marco es apropiado cuando cumple con las características específicas del problema que se resuelve. En este (y sólo en este) caso, su uso será más eficaz.

    Frontend y backend no son párrafos mutuamente excluyentes. Para aquellos que se sienten igualmente cómodos en ambos campos, existe el full stack. Un desarrollador "full stack" se ocupa tanto de la parte del cliente como del servidor de la aplicación. Dominar una profesión así no es una tarea fácil. En este espinoso camino, un programa en línea puede servir como estrella guía. Combina teoría y práctica en proporciones óptimas. Durante el proceso de formación, dominará dos lenguajes de programación, ampliará su cartera con cinco proyectos, mejorará sus habilidades de comunicación y trabajará con el sistema de control de versiones git.

    Y, por último, un buen bono para nuestros lectores: el código promocional proglib con un descuento de 7.000 RUR.

    El programa comienza el 21 de julio.

    Frontend es el desarrollo de la interfaz de usuario y la funcionalidad que se ejecuta en el lado del cliente de un sitio web o aplicación. Este tipo de desarrollo incluye todo lo que el usuario ve al abrir una página web. Un desarrollador frontend colabora con diseñadores, programadores y analistas de UX para crear un producto fácil de usar y bajo demanda.

    Para comprender claramente qué es el desarrollo frontend, abra la página de cualquier sitio web; verá la interfaz frente a usted. Al hacer clic derecho, puede ver el código de esa página en su navegador.

    Este código es un ejemplo del trabajo de un desarrollador frontend; se descarga en el navegador del usuario y puedes verlo con tus propios ojos. El código de la página describe todo lo que ve frente a usted: colores, diseño, fuentes, disposición de los elementos gráficos, etc.

    El desarrollo frontend incluye:

    • HTML (lenguaje de marcado de hipertexto)- lenguaje de marcado de documentos, con cuya ayuda se forma la estructura de la página: títulos, párrafos, listas, etc.;
    • CSS (hojas de estilo en cascada)- un lenguaje para describir y estilizar la apariencia de un documento. El código CSS permite que su navegador comprenda exactamente cómo mostrar elementos. CSS establece colores y parámetros de fuente, determina cómo se ubicarán los diferentes bloques del sitio, etc. También permite mostrar un mismo documento en diferentes estilos, por ejemplo, para imprimir (normal o Braille), mostrar el programa en pantalla o leer por voz;
    • javascript es un lenguaje que fue creado para dar vida a las páginas web. Su tarea es responder a las acciones del usuario, procesar clics del mouse, movimientos del cursor y pulsaciones de teclas. También envía solicitudes al servidor y carga datos sin recargar la página, permite ingresar mensajes y mucho más.

    ¿Qué es el desarrollo backend?

    El desarrollo backend es un conjunto de herramientas de hardware y software con cuya ayuda se implementa la lógica de funcionamiento del sitio. En pocas palabras, esto es algo que está oculto a los ojos del usuario y ocurre fuera de su navegador y computadora.

    Por ejemplo, cuando ingresa una consulta en la página de un motor de búsqueda y presiona la tecla Ingresar, el frontend termina y el backend comienza. Su solicitud se envía al servidor. Google o yandex, donde se encuentran los algoritmos de búsqueda. Aquí es donde ocurre toda la “magia”. Tan pronto como la información que estabas buscando aparece en el monitor, regresas nuevamente a la zona frontend.

    En general, un servidor es la misma computadora, solo que más potente. Almacena datos y responde a las solicitudes de los usuarios.

    Backend es el proceso de conectar el servidor con el usuario.

    Un desarrollador backend puede utilizar cualquier herramienta disponible en su servidor. Tiene derecho a elegir cualquiera de los lenguajes de programación universales, por ejemplo, Rubí, PHP, Python, Java.

    Además, se utilizan diferentes sistemas de gestión de bases de datos para el desarrollo backend:

    1. MySQL;
    2. PostgreSQL;
    3. SQLite;
    4. Mongo DB.

    Dependiendo del tipo de producto, las responsabilidades de un desarrollador backend pueden variar mucho. Un especialista de este tipo puede crear e integrar bases de datos, brindar seguridad y crear tecnologías de respaldo y recuperación.

    ¿Cómo interactúan el frontend y el backend?

    La interacción entre el frontend y el backend se produce en un círculo: el frontend envía información del usuario al backend, donde se procesa y se devuelve en un formato comprensible.

    Por regla general, este tipo de trabajos los realizan diferentes especialistas, pero es recomendable que cada uno de ellos comprenda los principios con los que trabajan sus compañeros. Por ejemplo, es importante que un diseñador de interfaces sepa, al menos en términos generales, cuál es el backend del proyecto en el que está trabajando. Esto le ayudará a evaluar adecuadamente qué capacidades técnicas puede tener un sitio o aplicación.

    Hay varias opciones para la interacción entre frontend y backend:

    • Una solicitud HTTP se envía directamente al servidor, el servidor busca información, la incrusta en una plantilla y la devuelve como una página HTML;
    • Opción de usar herramientas. AJAX (JavaScript asíncrono y XML). En este caso se envía la solicitud javascript, se carga en el navegador y la respuesta viene en formato XML o JSON;
    • Aplicaciones de una sola página que cargan datos sin actualizar la página. Esto también se puede hacer usando AJAX o frameworks. Angular y ascua;
    • Ascua o biblioteca Reaccionar Ayuda a utilizar la aplicación tanto en el servidor como en el cliente. El frontend y el backend se comunican a través de código AJAX y HTML, que se procesa en el servidor.

    Como podemos ver, el desarrollo moderno es un proceso complejo y de múltiples niveles, que se divide en dos partes: cliente y servidor. Los programadores frontend y backend tienen muchas herramientas en su arsenal, cuya elección depende de las tareas asignadas y de la complejidad del proyecto. Ambos tipos de desarrollo incluyen componentes técnicos y creativos.

    Las responsabilidades de los desarrolladores frontend y backend suelen estar separadas, pero hay ocasiones en las que un programador tiene que resolver problemas que surgen tanto del lado del servidor como del lado del cliente. A menudo se pueden encontrar especialistas en el mercado que se sienten seguros tanto en el frontend como en el backend y pueden combinar dos tipos de trabajo.

    Puede comenzar su viaje en el desarrollo frontend y backend con el curso Skillbox de 12 meses. Es adecuado para principiantes y programadores con poca experiencia. A lo largo de un año, los participantes del curso aprenderán en la práctica lenguajes de programación básicos y crearán su propio portafolio, lo que les ayudará a encontrar un trabajo prometedor y bien remunerado.

    El backend es el software y la parte administrativa del desarrollo de un sitio web u otro recurso. Aquí es donde tiene lugar el proceso de programación y adición de funcionalidades, se crea el núcleo, se desarrolla la plataforma y se asigna la zona administrativa. Un desarrollador backend crea una parte del servidor para integrar la base de datos y garantizar el intercambio de información con el lado del usuario.

    ¿En qué se diferencia el desarrollo backend?

    La metodología de desarrollo moderna implica separar las partes backend y frontend. El segundo incluye la interfaz de usuario y todo lo que un visitante normal necesita para trabajar en el sitio. El desarrollo del backend incluye herramientas para procesar los comandos recibidos del usuario; el backend es una parte interna con la que solo puede trabajar un administrador.

    Tipos de desarrollo backend

    El desarrollo backend encuentra su aplicación en diversas áreas de la creación de productos de información. El propósito de utilizar la división era simplificar el trabajo; la relevancia del método solo aumenta a medida que se desarrolla la tecnología. Las partes del servidor y del cliente tienen diferentes detalles, por lo que la separación ayuda a aumentar la eficiencia. Al trabajar en un área, un especialista puede estudiar sus características con mayor profundidad.

    Un backend de alta calidad de un sitio web es responsable de almacenar datos y procesar las señales que provienen del usuario cuando utiliza la interfaz web. La parte del servidor proporciona control sobre los datos ingresados ​​por los visitantes, incluso para la autorización. La seguridad juega un papel importante aquí; la mayoría de las vulnerabilidades aparecen en el lado del servidor.

    Una tarea similar la realizan las aplicaciones backend, donde hay un servidor con una base de datos que puede proporcionar la información necesaria según las solicitudes entrantes. El proceso de creación de todos los sitios web, aplicaciones y software tiene esta estructura. La velocidad de interacción y la correcta gestión de contenidos dependen de la calidad del desarrollo del lado del servidor.

    ¿Qué necesita saber un desarrollador backend?

    La cuestión de qué necesita saber un desarrollador backend causa mucha controversia, porque las herramientas para lograr el objetivo pueden ser completamente diferentes. El mismo problema se puede resolver de diferentes maneras y cada una de ellas puede ser eficaz a su manera. Lo principal es entender cuál es la diferencia entre desarrollo backend y frontend. Hablando de herramientas, debes comprender por qué necesitas instalar Ruby y por qué no es necesario instalar Javascript.

    Como esquema de operación de recursos se utiliza el concepto MVC, que se traduce al ruso como "modelo-vista-controlador". El usuario trabaja con los dos últimos, ve la "vista" y la controla mediante el "controlador". La solicitud se envía a través del "controlador" al "modelo", donde se procesa la señal, como resultado de lo cual cambia la "representación". Podemos decir que el “modelo” es el lado del servidor, y la “vista” y el “controlador” son el lado del cliente.

    Para crear una parte del servidor, un desarrollador debe dominar los siguientes lenguajes de programación backend:

    • javascript;
    • Java;
    • pitón.

    Por conveniencia, los desarrolladores utilizan frameworks, que son una plataforma de software, un conjunto de herramientas y bibliotecas, lo que les permite no perder más tiempo resolviendo problemas típicos.

    Entre los frameworks backend, los más populares son los siguientes:

    • yii2;
    • nodo js.

    Este conjunto de herramientas no es exhaustivo; en el proceso de trabajar y adquirir nuevos conocimientos, un desarrollador backend puede realizar cambios en sus actividades, el desarrollo tecnológico tampoco se detiene y ofrece nuevas opciones para resolver problemas. Es necesario estudiar los conceptos básicos para comprender los detalles específicos de su actividad lo más profundamente posible.

    Maquetador y programador, artista e ingeniero, todo en uno. En esta publicación, le contaré al mundo sobre el héroe de la espada y la magia de los estilos y el código, que hace que la web sea más bella y rápida: el desarrollador front-end. La publicación será de interés, en primer lugar, para todos aquellos que quieran comprender en qué se diferencian los desarrolladores front-end de los diseñadores de diseño, los desarrolladores back-end, los especialistas en UX y los diseñadores web. ¿Qué habilidades debería tener y por qué es un honor ser desarrollador front-end? El autor no pretende ser objetivo, pero todos los interesados ​​en esto son bienvenidos bajo el gato.

    Primero, averigüemos qué significa el término "frontend" y quién es un desarrollador frontend.

    Este término es muy específico y amplio, lo que dificulta darle una definición concisa e inequívoca. Interfaz llaman a todo el lado del cliente (incluida la parte del software que es invisible para el usuario) de los sitios web/aplicaciones web: interfaces, plantillas, estilos, widgets, etc. En consecuencia, todo lo que sucede en el lado del servidor es backend.

    A continuación se muestra una breve lista de los conceptos y tecnologías más frecuentemente asociados con el desarrollo front-end:
    HTML, CSS, JavaScript, jQuery, Node.js, AJAX, SPA...

    Analicemos lo que hace un desarrollador front-end típico.

    Por supuesto, la primera responsabilidad que me viene a la mente es disposición. Idealmente, nuestro héroe sabe cómo diseñar una página de cualquier complejidad. El cumplimiento de las normas (en la medida de lo posible) es imprescindible.

    Un desarrollador front-end monitorea la calidad del código del cliente en su equipo, abofetea a los diseñadores de diseño descuidados y golpea a los diseñadores que están perdidos en sus sueños.

    ¿Quieres poner una hermosa galería "como en ese sitio" en la página principal de tu sitio web? ¡Pregúntale a un desarrollador front-end! Sin dudarlo, le nombrará una docena de soluciones listas para usar, le ofrecerá opciones para personalizar complementos estándar y todo esto inmediatamente teniendo en cuenta la compatibilidad con su CMS y los dispositivos/navegadores compatibles.

    ¿Está pensando en rediseñar y agregar una característica de moda a su sitio web? Adaptabilidad, desplazamiento infinito, desplazamiento de paralaje, etc. Nuestro héroe ya ha calculado mentalmente cuánto le costará implementar cualquier idea loca, y lo disuadirá a tiempo si su gusto artístico y su sentido común le sugieren que tales características estarán disponibles. al menos vaciar una pérdida de dinero y, como mucho, una causa de deterioro de la experiencia del usuario.

    La atención al detalle y el sentido de la belleza son las características distintivas de un desarrollador front-end.

    En este punto, delineemos la línea que separa al diseñador de diseño y al desarrollador de aplicaciones para el usuario. No entraremos en detalles sobre el trabajo del maquetador. Su tarea principal es recortar el diseño. Si luego prefiere asumir parte del desarrollo backend (PHP, Python...), entonces evoluciona hacia un programador backend. Si presta más atención a la programación del lado del cliente (JS), entonces quizás sea un futuro desarrollador front-end. También puede suceder que el diseñador de diseño se decante por el diseño, lo cual también es bastante bueno: las habilidades prácticas de diseño se convertirán en su ventaja significativa en relación con los diseñadores clásicos "por vocación".

    La segunda responsabilidad importante de un desarrollador front-end es garantizar el nivel adecuado de usabilidad y experiencia de usuario(UI y UX). Por supuesto, el diseñador debería pensar primero en estas cosas. Pero un diseñador por sí solo no siempre puede diseñar una interfaz que sea clara de usar y fácil de implementar, por la misma razón de desconocimiento de la parte técnica. Un buen desarrollador front-end tiene las habilidades de un diseñador y especialista en UX. En otras palabras, sabe cómo crear una interfaz de usuario hermosa y fácil de usar. Pero en ningún caso les quita el pan a los diseñadores y especialistas en UX. Y si alguno de ellos se ausenta del equipo, podrá sustituirlo parcialmente.

    Te daré un ejemplo de la vida real.
    El diseñador ya no participa en el proyecto y el cliente decidió rehacer la apariencia y la lógica de una parte de su tienda online en Bitrix.
    1. El director del proyecto acude al programador.
    2. El programador dice "necesitamos diseño, especificaciones técnicas y una solución paga del Marketplace, porque esta es una funcionalidad no estándar para la tienda" y envía al gerente al diseñador de diseño.
    3. El diseñador de diseño dice "necesitamos un diseño y un complemento no estándar para dicha galería, porque no está en nuestra solución lista para usar".
    El directivo se encuentra en una situación difícil. El cliente está esperando el resultado, el presupuesto es mínimo, no hay nadie a quien dibujar. Como muestra la práctica, si confía el rescate de tal situación a un programador backend, al final el cliente recibirá algo que parece funcionar, pero es tan terrible que el diseñador se pondría blanco al verlo y el usuario. abandonaría el sitio, confundiéndolo con un gran error. El maquetador definitivamente no habría hecho frente a la tarea. Sólo un desarrollador front-end experimentado puede salvar la situación con pocas pérdidas. Sin complicaciones innecesarias, reescribirá un componente similar para la tarea en cuestión, reorganizará la galería estándar y agregará elementos de interactividad para que la solución al problema se adapte al cliente y complazca a los usuarios, y el gerente una vez más suspirará. de alivio.

    Nuestro héroe es un generalista. Está interesado en toda la gama de tecnologías web. el no ignora desarrollo de servidores. Además del JS nativo, un desarrollador front-end conoce al menos un lenguaje de programación del lado del servidor a un nivel intermedio y puede realizar una parte importante de las tareas que suele realizar un programador back-end. Sabe manejar una bestia como la línea de comando (consola, terminal) e incluso puede configurar un servidor web. El desarrollo de servidores en la plataforma Node.js no es exótico, pero, como mínimo, es una razón para responder a todos los "pehpeshniks" y "especialistas en Python" que tampoco estamos hechos para ello.

    Una de las principales tareas de un desarrollador front-end es, por supuesto, Desarrollo de JavaScript, que van desde mini complementos para galerías hasta servicios web completos. Aquí nuevamente vale la pena mencionar a Node.js, que en los últimos años ha jugado un papel muy importante tanto en el desarrollo del lado del cliente de las aplicaciones web como en el del lado del servidor. Cientos de marcos y bibliotecas de clientes, como jQuery, Angular, Backbone, Knockout, Ember, etc.: posibilidades infinitas para desarrollar técnicas para construir arquitectura de aplicaciones, mejorar la calidad y ampliar la gama de tareas resueltas por las aplicaciones.

    Con el desarrollo de la plataforma Node.js, el concepto de "desarrollador full-stack" se ha vuelto popular; en nuestro caso, se trata de un desarrollador JS que utiliza JavaScript en sus proyectos para todos los propósitos posibles. Servidor, base de datos, plantillas de cliente: todo esto funciona con datos en formato JSON, lo que parece muy ventajoso en el contexto del mismo PHP, donde los "programadores experimentados" escriben un lío de PHP/Smarty/JS/CSS, que a veces va más allá del alcance. poder de desenredarse un mes después de la finalización del proyecto.

    Las herramientas de desarrollo front-end también son un tema de discusión aparte. Se han escrito muchas utilidades excelentes para Node.js, que funcionan con el espíritu de "un programa, una tarea". Automatización de tareas rutinarias. con la ayuda de Grunt se ha convertido en una parte integral del trabajo. La verificación de código, la ejecución de pruebas, la implementación automática, la ofuscación y minificación, el preprocesamiento de CSS y muchas otras tareas se resuelven con éxito con solo unos pocos clics.

    Chrome Dev Tools y Firebug no tienen rival entre las herramientas de desarrollo front-end. En las hábiles manos de nuestro héroe, estas cosas pueden hacer maravillas. ¿Su sitio web tiene fallas y tarda en cargarse, razón por la cual está sujeto al pesimismo en los motores de búsqueda? Un buen desarrollador front-end utilizará Firebug para encontrar todos los puntos débiles en el rendimiento del sitio en un par de minutos. Por cierto, y sobre optimización SEO nuestro héroe no olvida. Sucedió que colegas representados por un diseñador de diseño y un programador introdujeron hermosas etiquetas en el código de una página.

    , y todas las imágenes tenían el atributo alt="image001.jpg" . Они, безусловно, получат втык и под чутким надзором будут исправлять это.!}

    Conclusión

    Enumeremos brevemente, en orden, las habilidades de un buen desarrollador front-end descritas anteriormente:
    1. Diseño válido de píxeles perfectos
    2. Diseño de interfaz
    3. Trabajar con tecnologías de servidor
    4. JavaScript en todas sus formas
    5. Optimización de aplicaciones web
    Resulta que el desarrollador front-end es un gran tipo. Y corregirá el diseño y la distribución, lo escribirá y lo depurará como debería. Con este post no quiero poner al desarrollador front-end por encima del resto, pero sí quiero que los ciudadanos que dudan entiendan la diferencia entre un especialista web generalista y especialistas altamente especializados. Puede ser una lástima que una persona que ha trabajado durante varios años en una amplia variedad de proyectos sea considerada por sus superiores como un simple maquetador y piense que lo habría logrado sin él. Debido a esta actitud hacia los empleados, las empresas suelen perder personas muy valiosas.

    
    Arriba