Existen diferentes definiciones de desarrollo front-end. Para muchos, el desarrollo front-end no se trata de “qué tan bien” se ve la aplicación, ese es el trabajo del diseñador visual. Ni siquiera se trata de lo fácil que es usarlo; ese es el trabajo del diseño de UI y el equipo de UX.
Un desarrollador front-end ejecuta el diseño que idean los diseñadores visuales y de interfaz de usuario, pero su conjunto de habilidades todavía se centra en el desarrollo de software, no en el diseño estético o la usabilidad, aunque puede estar trabajando estrechamente con diseñadores preocupados por esos problemas.
No es fundamentalmente diferente del desarrollo de back-end, aparte del hecho de que su código se ejecutará en el navegador, no en el servidor. Ciertas cosas se realizan mejor en el front-end que en el back-end y viceversa, pero los mismos principios de ingeniería de software aún se aplican, y hay marcos de front-end Model-View-Cualquiera como hay MVW de back-end marcos.
- ¿Qué tecnologías se utilizan para crear una página web para crear páginas web?
- La base de datos M (escrita en MUMPS) es una base de datos NoSQL que existe desde la década de 1960. Todavía se usa ampliamente como el back-end de hospitales (VA) y bancos de todo el mundo. Dada una reputación de alta velocidad y rendimiento, ¿por qué no ha ganado más popularidad en el mundo de la programación?
- ¿Dónde puede un desarrollador de backend aprender diseño web práctico?
- En cuanto al conocimiento, ¿qué te hace un buen desarrollador de back-end?
- ¿Cuáles son algunos problemas de integración entre el front-end y el back-end de las aplicaciones web?
A menudo existe la impresión general de que el desarrollo front-end es menos complicado o requiere menos capacidad de programación, pero esa es una generalización excesiva que surge de:
- mucha gente combina diseñadores web que conocen HTML y CSS con desarrolladores front-end
- muchas personas que trabajan en sitios web o aplicaciones que tienen front-end muy simples, lo que se debe a las limitaciones históricas del navegador como plataforma de programación y la relativa facilidad de comenzar con el desarrollo front-end (cada computadora de escritorio viene con un navegador y editor de texto instalado, pero la mayoría no viene con un servidor web con CGI / WSGI / etc.)
- la abundancia de trabajos de “desarrollo front-end” que son poco más que convertir diseños PSD en temas de WordPress o escribir HTML estático
Sí, en muchos sentidos, el back-end tiene muchas más capacidades. No va a hacer una conversión de video o análisis de datos en el front-end. Pero, de manera similar, no se puede construir una interfaz rica y receptiva sin codificación frontal. Y transcodificar un video usando una biblioteca de terceros no es más difícil que construir su propio reproductor de video HTML5 incorporado.
Algunos problemas específicos que los desarrolladores front-end tienen que enfrentar son:
- Compatibilidad entre navegadores: esto ha mejorado desde que apareció Firefox, pero para interfaces avanzadas y diseños complicados, lidiar con las diferencias en los navegadores sigue siendo una gran molestia y requiere mantenerse actualizado con el panorama del navegador y las mejores prácticas / soluciones estándar para cross -desarrollo del navegador.
- Accesibilidad: desafortunadamente, este es un tema con el que todos los desarrolladores front-end deberían estar familiarizados (un diseñador no lo ayudará aquí), pero muy pocos lo hacen, lo que hace que la web sea mucho menos amigable para las personas con discapacidades que la tecnología actual permite
- Diseño receptivo: los sitios web de hoy apuntan a un estándar de usabilidad mucho más alto que hace 10 años, y parte de eso significa permitir que una sola página sea igualmente utilizable en pantallas y ventanas de navegador de una amplia gama de tamaños y resoluciones, incluso si eso significa presentar un diseño diferente según el tamaño de la ventana gráfica y la resolución de la pantalla.
- Aplicaciones de una sola página: con AJAX y las últimas tecnologías de navegador, los usuarios esperan que sus aplicaciones web respondan de otra manera: no más cargas / actualizaciones de páginas molestas. Ya no es necesario volver a cargar toda la página, incluida la solicitud de nuevo de cada archivo CSS / JS, cada imagen, etc. y la nueva página completa solo porque el usuario envió un formulario o porque se necesita actualizar un solo widget o panel .
- Rendimiento: las conexiones a Internet se han vuelto mucho más rápidas en muchas partes del mundo, pero los tiempos de carga de las páginas web siguen siendo un gran problema; El back-end tiene su propio conjunto de problemas de rendimiento (generalmente abordados con la infraestructura de equilibrio de carga, la optimización de la base de datos y la creación de perfiles de código), pero el front-end está mucho más enfocado en las limitaciones de la red y del navegador (número máximo de conexiones concurrentes, minificación de código, explotación almacenamiento en caché, atenuando los efectos del bloqueo de recursos, etc.).
Idealmente, los desarrolladores front-end también deberían estar familiarizados con el marcado semántico, que ayuda con el SEO, la accesibilidad y, en general, hace que su sitio sea más fácil de mantener y útil para otros software y servicios. También es probable que esté manejando la integración de servicios front-end de terceros como análisis web, redes sociales, etc.
Los desarrolladores front-end también son particularmente importantes a medida que más y más aplicaciones web comienzan a asumir las ricas UI de aplicaciones móviles y de escritorio, por ejemplo, Google Docs, Office Web Apps o aquellas que hacen uso de WebGL. De hecho, para muchos tipos de aplicaciones (particularmente mashups que utilizan en gran medida API de terceros como fuentes de datos), una startup en la fase de prefinanciación puede renunciar al desarrollo de back-end y simplemente construir un prototipo de front-end vinculado a archivos JSON estáticos que puede ser reemplazado por servicios de fondo desarrollados más adelante.
Y eso es parte del atractivo del desarrollo front-end para algunos. Es la parte de la aplicación con la que los usuarios interactúan directamente y a menudo se preocupan más. Entonces, aunque algunas personas apreciaron el filtrado avanzado de spam y la gran capacidad de almacenamiento que ofrece Gmail, la mayoría de las personas se cambian debido a su interfaz amigable y receptiva que rivalizaba con los clientes de correo electrónico de escritorio. La forma en que el back-end garantizaba la escalabilidad, la seguridad de los datos, la confiabilidad, etc., no era realmente lo que diferencia el servicio de otros para la mayoría de los usuarios.