Cómo ser front-end sin fallar en el intento
Tus primeros pasos en la programación web
Por Alan Buscaglia
© Alan Buscaglia
Soy ingeniero en sistemas, agile coach y arquitecto front-end experto en Angular con ngrx / store, ES6 y Typescript.
Me encanta lo que hago y compartir lo que sé con otros. Tengo una gran experiencia en aplicaciones de big data flow, creando arquitecturas, implementando buenas prácticas y liderando equipos de software.
Entrevistador, creador de contenido como whiteboards, blogs, videos, cursos y webinars.
Profesor de Typescript en Platzi.
Links de interés:
- Link a Spotify: https://spoti.fi/3y281cY
- Link a la comunidad: https://discord.gg/z6XmNPsHQp
- Link a canal de YouTube: https://www.youtube.com/c/GentlemanProgramming
- Medium: https://gentlemanprogramming.medium.com
- Linkedin: https://www.linkedin.com/in/alanbuscaglia
No hay mejor placer, que compartir tus conocimientos y ayudar a otro par.
Prólogo
Cuántas veces te has encontrado en una nueva empresa, emprendimiento o nuevo aprendizaje, te sientas frente a tu computador y piensas… ¿Y ahora qué?… ¿Cómo comienzo?… ¿Quién me ayuda?… ¿Dónde busco información?
Tranquilo !! Es normal y es una situación mucho más cotidiana de lo que piensas.
Soy una de muchas personas que ha pasado por esta situación en la que te encuentras, con muchas incógnitas y dificultades al empezar. Por ello mismo existe este libro y muchos otros que vienen en camino ya que siempre creo que si puedo ayudar a alguien, aunque sea solo un poco, vale la pena el esfuerzo.
Una de las cosas que quería lograr con este contenido es que sea lo más informal posible, que parezca una charla más que una lectura ya que mi forma de enseñar es la de un par con el que te juntas a tomar un café luego del trabajo para comentar lo que ha sucedido en el día y aprovechar para preguntar algunos conceptos.
Así que comencemos ! Respira hondo y relájate que yo estaré contigo a través de este gran e interesante camino que es la programación web desde el punto de vista de un Front End Developer.
Agradecimientos
Quiero agradecer a mi familia por el apoyo, a mis amistades que incondicionalmente estuvieron conmigo y ayudaron durante este largo proceso, y a mi esposa que siempre es mi ancla y mi apoyo moral.
Índice
Capítulo 1 - Conceptos
Buenas mi gente ! Es muy bueno encontrarlos leyendo este libro y espero que esta sea una aventura que les ayude en su camino personal y profesional, puede tener sus altos y sus bajos pero con esfuerzo puede resultar en un grato cambio tanto en lo laboral como en la vida personal de uno.
Antes de comenzar a hablar sobre la programación en sí, me gustaría contarte qué es lo que ha llevado a mi persona a elegir el mundo del Front End Development. Todo comenzó hace un par de años cuando entré a mi primera empresa donde me presentaron esta gran pregunta… ¿Te gustaría ser Front End o Back End?.
En mi caso tenía mis dudas al principio, ¿Quién no? pero luego de pensarlo bien decidí no mirar atrás ya que mis pensamientos se centraban en poder crear aplicaciones que puedan ser utilizadas en cualquier dispositivo, poder realizar algo que el cliente y mi equipo pueda ver visualmente y porque además me interesaba mucho el mundo de UX design.
Al día de hoy lo sigo eligiendo, día a día me incentiva a crecer y nunca hay algo que no se pueda aprender, algo nuevo que surge. También recomiendo siempre pensar que uno no lo sabe todo, el cual es un concepto que rige en mí.
“uno no lo sabe todo”
¡Bien, veo que siguen conmigo! Comencemos con los primeros pasos:
Qué significa Front End y Back End
Dentro de la programación hay dos ramas principales a la hora de desarrollar, el Front End y el Back End, al día de hoy se abren en múltiples especialidades pero para comenzar vamos a lo más sencillo.
Front End es lo que se ve, lo que el cliente mirará y dirá: ¡Qué bonito! Pero no todo es colores y píxeles ya que en tiempos modernos el desarrollo ha tomado cada vez mayor complejidad y se necesita un gran uso de lógica para ello. Para terminar de definir el concepto de Front End, se podría decir que es toda lógica de negocios, reglas de negocio del mundo real, que se tratan de codificar sobre el lado del cliente, como por ejemplo un navegador.
Back End es el que realiza el trabajo sobre un proceso que corre desde el lado del servidor y generalmente se lo asocia con el aporte de la información al Front End para que este pueda mostrarla y así encantar los ojos de sus usuarios. Pero no es solo eso, ya que también trata con la configuración de Apis, validación y manejo de datos, notificaciones… en resumen cualquier lógica de negocios que corra sobre este proceso ya comentado.
El uso de lógica y conocimientos de performance son esenciales, ya que gracias a estos héroes del desarrollo, podemos hacer nuestro trabajo de una manera más sencilla y eficiente.
Tanto el Front como el Back necesitan de sí para poder generar la mejor experiencia en el usuario, si el desarrollo Back End es poco performante hará que hasta los más increíbles diseños sean dejados de lado por el usuario y este opte por ir a otra aplicación.
Una cosa a tener en cuenta es que el usuario quiere la información lo más rápido posible y en la mejor condición posible, por lo cual la buena comunicación entre ambas ramas es imprescindible.
Ahora hablemos un poco de las especializaciones que se han abierto dentro de estas, a mi parecer.
Front End:
- Maquetador : los Maquetadores son los ninjas de los píxeles, son aquellos que hacen que los diseños se hagan realidad y así dar vida a la aplicación.
- Engineer : los Ingenieros Front End son aquellos que se encargan de la lógica de la aplicación, de brindar la información al usuario de la manera más eficiente posible y optimizando siempre que se pueda el uso de recursos.
Back End:
- DevOps: es una rama relativamente nueva, al crecer la complejidad de las aplicaciones también han crecido en igual medida el entorno de configuración de los mismos y se necesita de alguien para crearlos y mantenerlos. No pensar que un DevOps solo configura entornos Back End, este se encarga de cualquier configuración ¡Inclusive las de Front!
- Engineer : los Ingenieros Back End se encargan de la lógica necesaria para poder traer la información hacia el Front End y guardarla en caso de que el camino sea el inverso.
Ahora que sabemos un poco más sobre el contexto de la programación web veremos a continuación algunos conceptos, no se preocupen si al principio se generan dudas ya que haremos un primer acercamiento y luego cada uno de ellos será explicado en mayor profundidad.
Javascript
Tal como se puede ver la complejidad ha crecido en estos últimos tiempos logrando que el introducirse en la programación web sea cada vez más complicado, por eso creo que este tipo de guías es de gran ayuda para todos los que estén comenzando o ya lo hayan hecho pero se encuentren en una encrucijada de cómo proseguir.
Vamos a por lo divertido ¿Qué es Javascript ?
Si nos ponemos a pensar veremos que en el mundo se hablan muchos idiomas pero algunos de ellos predominan por sobre otros, en el mundo Front End el predominante y casi absoluto es Javascript .
“ en el mundo Front End el predominante y casi absoluto es Javascript”
Página siguiente