Saludos comunidad, varios días sin crear contenido por acá y la verdad no es algo que me guste bastante. Pero entre otras cosas una de las razones por la que he estado un poco alejado guarda relación con el tema a desarrollar a continuación.
Desde hace poco menos de un mes decidí tomarme en serio aún más el desarrollo web, orientado al desarrollo frontend. Por tanto desde hace un par de meses gracias a la generosidad de uno de mis amigos estoy trabajando para algún día titularme en la carrera “Arquitecto Frontend” con una plataforma de educación en línea (platzi) la cual recomiendo.
Para empezar puede que muchos lo sepan, sin embargo probablemente la mayoría de los que lean esto desconocen sobre el tema o sean personas que quieren iniciarse en el desarrollo. Entonces acá una breve explicación, un breve contexto.
El ramo del desarrollo de sistemas o aplicaciones se divide en dos capas. Las capas en las que se dividen se llaman FrontEnd y BackEnd.
La división de las capas se realiza con la intención de optimizar el trabajo en una organización de desarrolladores. Donde cada programador se enfoque y construya los elementos, los métodos donde más destaca o posee más habilidad.
Principalmente trabaja del lado cliente, en el navegador, en el lado de lo que se ve. Se ocupa de los componentes externos del sitio web o de la aplicación web.
La diferencia se encuentra en que el desarrollador frontend no va a tener que construir una capa lógica, no va a desarrollar la capa de la app donde se procesan los datos. Eso es trabajo exclusivo del desarrollador backend.
El programador backend va a desarrollar la capa con acceso a la base de datos, se encarga de extraer, consultar o introducir datos a la misma.
El desarrollador back-end trabaja del lado servidor, detrás del escenario, permitiendo con su trabajo que el usuario disfrute de su experiencia. Sin él, el desarrollo llevado a cabo por su anterior compañero no se sostendría.
El frontend cuenta con ciertas bases específicas donde es indispensable tener un conocimiento sólido, para un buen manejo y desenvolvimiento en la creación del diseño, definición de los elementos y la accesibilidad de las páginas, sistemas o aplicaciones web. Las herramientas indispensables son 3:
2. Páginas más dinámicas que estáticas:
¿Podrías imaginar a Facebook o cualquier social media sin un sistema de notificaciones en tiempo real? ¿O un chat como discord, speaky donde tengas que recargar la página - es decir presionar f5- para ver si tienes un mensaje nuevo? suena poco probable y luce inútil.
Sin embargo también si la página, sitio que desarrollamos es algo sencillo o menos progresiva que los tipos de aplicaciones o redes sociales mencionadas anteriormente, si es incluso es tu propio portafolio o una página web para tu empresa también puedes hacerla interactiva y mejorar la experiencia de tus usuarios.
Ten en cuenta que el modelo de crear páginas con interfaces que lucen como un blog está obsoleto, actualmente las páginas tienen que ser pensadas y creadas donde muchos de los componentes que se ejecutan en la página tienen que ir apareciendo de acuerdo a lo que usuario haga.
Por ejemplo si clickea cierto botón que se abra una ventana emergente, si quiere ir a otro subdominio que la página alerte al usuario que está a punto de ser redireccionado, animaciones sobre los elementos, galerías interactivas, hacer la espera agradable con un page loader o hasta efectos cuando se hace scroll .
Fuente:
Para los desarrolladores web la experiencia de los usuarios es fundamental, es lo principal.
Por tanto teniendo en consideración que las páginas web o aplicaciones son visitadas desde diversos dispositivos, algunos con resoluciones más grandes como laptops, tabletas o de otros con resoluciones más pequeñas como smartphones. Tenemos que garantizar la accesibilidad a nuestra página o aplicación de cada uno de estos usuarios sin importar la resolución que tengan.
Se basa en proporcionar a todos los usuarios de una web los mismos contenidos y una experiencia de usuario lo más similar posible, frente a otras aproximaciones al desarrollo web móvil como la creación de apps, el cambio de dominio o webs servidas dinámicamente en función del dispositivo.En la actualidad a la hora de optar por un empleo como desarrollador ten en cuenta que el crear diseños responsivos es un requisito excluyente, en consecuencia a las ventajas que ofrece: