DEV Community

Cover image for O mundo front-end
Stanley Gomes
Stanley Gomes

Posted on • Edited on

2 1

O mundo front-end

From [blog.hackerrank.com](https://blog.hackerrank.com/)
From blog.hackerrank.com

FRONT-END vs BACK-END

O front-end representa a parte responsável pela interação da aplicação com o usuário. O que o usuário vê, clica, arrasta.

Já o back-end epresenta a parte responsável pelo armazenamento e organização dos dados da aplicação. O que o usuário não vê.

O profissional do front-end

Quem são? O que comem? Onde vivem?

Photo by [NESA by Makers](https://unsplash.com/@nesabymakers?utm_source=medium&utm_medium=referral) on [Unsplash](https://unsplash.com?utm_source=medium&utm_medium=referral)
Photo by NESA by Makers on Unsplash

O Desenvolvedor Front-end é o profissional encarregado de projetar as estruturas web, sempre pensando na experiência do usuário.

Por onde começar?

HTML

Hypertext Markup Language

Photo by [Pankaj Patel](https://unsplash.com/@pankajpatel?utm_source=medium&utm_medium=referral) on [Unsplash](https://unsplash.com?utm_source=medium&utm_medium=referral)
Photo by Pankaj Patel on Unsplash

Usando a analogia de uma casa, o HTML é a demarcação dos limites e da estrutura da casa.

O HTML é uma linguagem de marcação composta por blocos que definem o posicionamento das informações numa página da web.

É uma linguagem relativamente simples e muito flexível.

Recomenda-se o estudo da versão vigente, o HTML5.

Planta de uma casa — From Wikipedia
Planta de uma casa — From Wikipedia

Focos de estudo:

  • Tags e estrutura HTML5

  • HTML5 Canvas

  • HTML5 APIs

Documentação oficial: https://www.w3.org/html

CSS

Cascading Style Sheets

Photo by [Pankaj Patel](https://unsplash.com/@pankajpatel?utm_source=medium&utm_medium=referral) on [Unsplash](https://unsplash.com?utm_source=medium&utm_medium=referral)
Photo by Pankaj Patel on Unsplash

Continuando em nossa analogia, o CSS é o estilo que vamos escolher. Cores, formatos, tamanhos etc.

O CSS é uma linguagem de **estilo **criada para separar os conceitos de estrutura e design.

É uma linguagem que não exige conhecimentos avançados e com prática, sua escrita se torna natural.

Recomenda-se o estudo da versão vigente, o CSS3.

Estilização de uma casa — From mphventurescorp.com
Estilização de uma casa — From mphventurescorp.com

Focos de estudo:

  • Propriedades do CSS3

  • Flexbox

Documentação oficial: https://www.w3.org/Style/CSS

Javascript

A linguagem mais popular da WEB

Photo by [Christopher Robin Ebbinghaus](https://unsplash.com/@cebbbinghaus?utm_source=medium&utm_medium=referral) on [Unsplash](https://unsplash.com?utm_source=medium&utm_medium=referral)
Photo by Christopher Robin Ebbinghaus on Unsplash

O Javascript seria o movimento de uma porta, de uma janela. Ele é responsável por trazer o dinamismo de funcionalidades e o canal de comunicação de dados com os dados do Back-end.

O Javascript hoje é a principal base da programação de front-end que temos na web. A partir ele são criadas diversas frameworks (veremos mais à frente).

Movimentação/Dinâmica — govloop.com
Movimentação/Dinâmica — govloop.com

Focos de estudo:

  • Conceitos de algoritmos

  • Programação funcional

  • Não se preocupe com frameworks nesse momento

Documentação oficial: https://developer.mozilla.org/pt-BR/docs/Web/JavaScript

Pré-processadores CSS

Exemplo de um código stylus — From Google images
Exemplo de um código stylus — From Google images

Os pré-processadores de CSS permitem ao desenvolvedor utilizar o paradigma de programação na construção de um CSS que será compilado.

Com ele é possível criar variáveis, condicionais, repetição, imports, funções, mixins e até extends que possibilitam você extender propriedades, evitando a duplicação de código.

Dentre os principais no mercado estão:

  • Stylus (stylus-lang.com) [Recomendado]

  • SASS (sass-lang.com)

  • LESS (lesscss.org)

Linha de comando (Terminal)

Conhecer o básico de manipulação do terminal pode agilizar muitas tarefas, como instalação de componentes e versionamento de código.

Terminal no Mac OS — From Google images
Terminal no Mac OS — From Google images

Algumas ferramentas de terminal são importantes no desenvolvimento, tais como:

  • Versionamento de código com Git (git-scm.com)

  • Gerenciador de pacotes Js (npmjs.com)

  • Virtualização de sistema com Docker (docker.com)

Responsive Concept

Frameworks de Design Responsivo

From pngkey.com
From pngkey.com

O Bootstrap é a estrutura HTML, CSS e JS mais popular para o desenvolvimento projetos mobile first e responsivos na web.

Usar uma dessas ferramentas torna o desenvolvimento web front-end mais rápido e fácil. Uma única base de código para diversos dispositivos.

Dentre as principais no mercado estão:

JSON

A linguagem de definição de dados da web

snippet from [carbon.now.sh](https://carbon.now.sh/)
snippet from carbon.now.sh

JSON é a interface de dados que pode ser trafegada do back-end para o front-end e vice-versa. Por ser um objeto JavaScript, o manuseio dos dados é fácil e rápido.

Documentação: https://www.json.org/json-pt.html

Editor de código/IDE

Feitos para facilitar o desenvolvimento do seu código

vs code from itnext.io
vs code from itnext.io

Uma IDE traz diversos recursos para agilizar o processo de desenvolvimento como plugins, integrações, debbugers, dentre outros. A IDE que vem se destacando hoje e é a mais recomendada para desenvolvedores front-end é o VS Code.

Dentre as principais IDEs hoje temos:

  • VS Code (code.visualstudio.com)

  • Brackets (brackets.io)

  • Atom (atom.io)

  • Sublime Text(sublimetext.com)

Frameworks JS

JavaScript Framework

Trecho de código React — From blog.apollographql.com
Trecho de código React — From blog.apollographql.com

As frameworks geralmente são baseadas em componentes acessíveis, versáteis e performáticos de construção de interface de aplicações utilizando JavaScript.

Elas tem o propósito de simplificar a integração de componentes entre projetos e acelerar o processo de desenvolvimento pulando determinadas etapas repetitivas.

Dentre as principais frameworks Javascript no mercado hoje temos:

  • React (reactjs.org)

  • Vue (vuejs.org)

  • Angular (angular.io)

Javascript no back-end

Nodejs server code — From infoworld.com
Nodejs server code — From infoworld.com

Hoje também é possível programar em ambientes server-side com JavaScript. Utilizando os mesmos recursos de outras linguagens famosas.

Hoje, o padrão global é o node (nodejs.org), porém existem diversas alternativas.

Na softbox um produto interno desenvolvido com este propósito é o Thrust JS (github.com/Thrustjs).

Para um primeiro momento, você tem bastante coisa para estudar. Bons estudos e nos vemos no próximo artigo.

Sentry image

Hands-on debugging session: instrument, monitor, and fix

Join Lazar for a hands-on session where you’ll build it, break it, debug it, and fix it. You’ll set up Sentry, track errors, use Session Replay and Tracing, and leverage some good ol’ AI to find and fix issues fast.

RSVP here →

Top comments (0)

Billboard image

The Next Generation Developer Platform

Coherence is the first Platform-as-a-Service you can control. Unlike "black-box" platforms that are opinionated about the infra you can deploy, Coherence is powered by CNC, the open-source IaC framework, which offers limitless customization.

Learn more

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay