aguarde...

3 de agosto de 2019

Frontend vs Backend

Frontend vs Backend

Eu costumava pensar que seria fácil escrever backend se eu soubesse JavaScript. Eu pensei que seria fácil porque o Node é JavaScript. Eu não tive que aprender um novo idioma.

Mas eu estava errado.

Mas o backend era difícil de aprender. Eu levei séculos para aprender. (E eu ainda estou tentando dominá-lo).

Percebi que tinha problemas para aprender backend porque achava que Frontend e Backend eram iguais – eram apenas código.

Isso é um grande erro.

Frontend e Backend são diferentes bestas . Eu tive que respeitar suas diferenças antes que eu pudesse aprender o Backend corretamente.

Se eu fosse explicar a diferença entre Frontend e Backend (em termos de implementação), eu diria:

  • Frontend é sobre percepção
  • Backend é sobre comunicação

Frontend é sobre percepção

Quando construímos as coisas do Frontend, nos importamos muito sobre como os usuários percebem o que construímos. Nós gastamos uma quantidade íngreme de tempo fazendo essas perguntas (tanto que inúmeros empregos foram criados para cada um deles).

  1. Parece bom?
  2. Isso faz sentido?
  3. É amigável para o usuário?
  4. É acessível?
  5. É rápido?

Nós nos importamos.

E, às vezes, queremos elevar a experiência percebida pelo usuário (traga prazer; sim!), Adicionamos coisas como:

  1. Vídeo / Imagens / Gifs
  2. Animações
  3. Temas de cores

Com cada recurso adicional, também precisamos considerar suas possíveis implicações:

  1. Os vídeos / imagens / gifs são muito grandes?
  2. E se alguém não suportar nossas animações?
  3. O usuário prefere um tema claro ou um tema escuro?

Somos responsáveis ​​por muitas coisas – tudo da perspectiva do usuário. É por isso que digo que Frontend é sobre percepção.

Nós pensamos para nossos usuários. E nós construímos para eles.

(Infelizmente, alguns desenvolvedores se iludem pensando nisso users === themselves. Eles constroem sites para si mesmos em vez das pessoas para as quais deveriam construí-lo).

Backend é sobre comunicação

Deixe-me ser específico. Quando digo backend, estou me referindo à camada entre o frontend e o banco de dados. É também a camada entre o Frontend e qualquer API com a qual você precise se comunicar (se passar pelo seu próprio servidor).

Para simplificar as coisas para algumas pessoas, estou falando de onde você criaria um aplicativo Express.

Frontend vs Backend

Quando você trabalha no Backend, percebe que não criamos mais interfaces. Você não preenche formulários; você não clica nos botões.Isso é porque eles não são necessários.

Backend não é sobre percepção. Ninguém tem que ver nada. Só tem que … trabalhar.

Mas o que significa “trabalho”?

O Backend está lá para permitir a comunicação entre um frontend e um banco de dados (ou qualquer API externa). Imagine uma telefonista de volta nos primeiros dias. Se você ligou para alguém no telefone, esses operadores tiveram que conectar manualmente sua chamada à pessoa que você está ligando. (Se eles errarem, você chama a pessoa errada).

Frontend vs Backend

Quando você cria um back-end, é como a telefonista. Você conecta as coisas para que elas funcionem.

Quando criamos um Backend, fazemos perguntas como:

  1. Que informações precisamos do Frontend?
  2. Que informações devemos enviar para o banco de dados / API?
  3. A operação foi salva corretamente no banco de dados / API?
  4. Que informações o Database / API retornou?
  5. Que informação devemos enviar de volta ao Frontend?
  6. Estamos fazendo um site? Se sim, qual página devemos processar?
  7. O que devemos fazer quando as informações estão erradas ou faltando?

Também pensamos em velocidade e confiabilidade. (Imagine o que acontece se você enviar alguma coisa, mas não ouvir nada em troca …).Mas este é mais um tópico avançado.

Modelos mentais diferentes

Aqui está um padrão comum que observei nos meus primeiros dias de aprendizado:

  1. Eu diria que as coisas funcionam de uma maneira específica
  2. Gostaria de pesquisar no Google sobre como implementar as coisas da maneira específica que eu pensava
  3. (Os resultados do Google ficariam vazios)
  4. Eu iria cortá-lo e construir minha própria infraestrutura
  5. Só pra aprender (muito mais tarde) que o meu jeito chupou

Eu estava quase sempre errado porque confiei inconscientemente em minha experiência de frontend enquanto aprendia backend. Eu tive que aprender as coisas da maneira mais difícil para religar o meu pensamento.

Aqui está o meu maior takeaway:

Não assuma que você sabe alguma coisa sobre o que está aprendendo. Você está quase sempre errado. Diminua a velocidade para ter tempo e espaço para aprender. Sempre verifique como você aprende, para que você lembre e reconecte seu cérebro.

(Espero lembrar disso quando aprender algo novo da próxima vez).

Obrigado pela leitura. Este artigo ajudou você? Se sim, espero que você considere compartilhá-lo . Você pode ajudar outra pessoa. Muito obrigado!

Posted in Blog
Write a comment