Executando verificação de segurança...
25
GkIgor
3 min de leitura ·

Front end não é só HTML, CSS e Javascript. Deixe de ser Nutella.

Olá estudante de cursinho que te prometeu 6k de salário em 6 meses por apenas 5 meses de salario. Já fez um clone da netflix com react hoje?

Vamos lá, o que um desenvolvedor front end faz? Simples, ele faz a parte visual de uma aplicação, seja ela web, mobile, desktop, console, etc. Só isso? Obvio que não!

Imagine a seguinte situação:

"Você foi contratado por uma instituição financeira para criar um site para a empresa, sua terefa é fazer toda a interação do sistema de acordo com os wireframes criado pelos Product Designers. O cliente vai inserir seus dados pessoais e solicitar um emprestimo, esses dados vão para a API que fará uma operação CRUD.
Depois de muito codigo, finalmente a aplicação está pronta e foi para produção. Como é uma instituição recente que contratou seus próprios devs, não se deram o trabalho de gastar dinheiro com uma equipe de QA e lançou seu produto confiando no código dos desenvolvedores desse sistema.
Alguns meses depois, chega um processo para a empresa, acusada por vender dados pessoais dos seus clientes e aplicar emprestimos sem consentimento. A empresa jura que não está fazendo nada ilicito e abre seu sistema para auditoria.
Durante as investigações, eles descobrem uma falha de segurança no site da empresa, principal plataforma onde os clientes fazem suas operações financeiras. A falha é uma brecha para chamadas na API diretamente pelo site, que possivelmente está sendo explorada por pessoas mal intencionadas."

O front end não é só fazer uma tela bonita com html e css, parte das regras de negocios estão lá. Regras de autenticação, chamadas na API, acessibilidade, escalabilidade, responsividade, suporte multi-plataformas e navegadores. Eu podia digitar até quebrar o limite de caracteres do tabnews só citando exemplos de resposabilidades do front end.
Se você aprendeu html, css, javascript e a escrever um componente com react usando um react-hook-form, parabéns, você não é um dev front end.

Como você organiza os componentes? Sua aplicação roda em uma conexão 3G? Onde você colocou suas variáveis de ambiente? Tem suporte pra pwa? Eu consigo usar essa aplicação em um iPad? E em um iPhone 8? E em um Nokia?

São apenas pequenas perguntas para testar seu conhecimento, isso é apenas a ponta do icebarg do front end. Vamos extender mais um pouco.

Como você lida com carregamento de imagens? Se você fosse criar um clone de um portal de noticias com mais de 50 videos, como você escreveria o código?
Onde você guarda dados recebidos da API? Ué, não guarda? Então sempre faz uma chamada pra API quando acessa uma rota diferente? Aaah, entendi. Então você guarda tudo em variáveis no escopo global. Parabéns, acabou de vazar os dados pessoais dos seus clientes para as extensões do navegador.
Você recebe as imagens do back end né? A RAM do seu pc que lute.

Garantir que um site vá abrir no Chrome ou no Brave é de responsabilidade do front end, esconder o link da API, tratamento de erros, gerenciar o carregamento das páginas e manipular dados em cache é um requisito essencial. Já pensou se o youtube buscasse todos os videos e gravasse na memoria ram do seu computador? Seria um desastre!
Quem nunca abriu o site do ProUni no celular, nunca vai saber o que é sentir raiva de verdade.

Validação de tokens, email, usuario, senha e garantir que não fique visivel ao publico é outra responsabilidade front end. Já pensou se todos pudessem enviar uma senha com 123 pro banco de dados?
Criar aplicações web é mais do que tela, tem que ter suporte a interação com teclado, precisa ter recursos de acessibilidade, como leitores de telas e plugins de tradução.

Sites precisam ser encontrados, tecnicas de SEO são indispensaveis para um front. Saber configurar um CORS, fazer requisições http/https, Política de segurança de conteúdo, SSO, Pagamentos, Geolocalização, Service Workers, Web Sockets, SSE e SSR é mais um gostinho de uma vida de front end.
Como você vai enviar receber uma notificação em um site de bate papo sem saber um SSE? Vai subir um express no front? Como que você vai garantir a segurança em uma compra virtual se não consegue nem acessar as APIs de Geolocalização do sistema?

Pelo amor de deus, os cursinho de 6 meses transformaram o front end em que? Responde pra mim quem chegou até aqui.
Forte abraço pessoal.

Carregando publicação patrocinada...
12

Ficou um pouco confuso, porque fala que vai além das 3 linguagens que se usa para a web, e dá para entender que está falando que envolve aplicar vários conceitos nelas. Até sugere que frontend tem a ver com mobile e desktop também, mas o tempo todo só fala de web. Passa a impressão que é só isso mesmo.

Receber imagens tem problema para a RAM? Ou o simples fato de fazer uma aplicação web tem problema com a RAM? Já viu quanto a mesma aplicação (não estou falando de site, que gasta mais que deveria) feita para web gasta de memória depois de um bom tempo de uso? E já comparou com o mesmo com UX melhor feito para desktop gasta? É brutal. E não é a imagem que é o problema.

As pessoas fazem para web porque é a modinha, não porque é a melhor escolha de engenharia.

Quem sabe fazer, faz desktop sem defeito algum que tem na web e sem defeito novo que a web não tem. Só dá um pouco mais de trabalho hoje, pelo menos no primeiro software, depois não, porque o mercado não criou as ferramentas certas para facilitar já que todo mundo foi para a web. Então ok, o único defeito que o desktop tem é que você terá que criar suas próprias ferramentas, ainda que já tenha boa parte delas prontas.

O maior problema da web não é nem tanto sua natureza, mas o HTML, CSS e JS, e um pouco o HTTP. Curiosamente os SOs, especialmente o Windows que as pessoas usam mais, poderiam ter feito algo que ajudasse gerenciar melhor aplicações, mas você pode fazer isso por conta própria, como acontece no browser ou no Android e iOS. Dá para operar da mesma forma que acontece no browser e poder carregar em qualquer lugar com mais facilidade e segurança. Não é um impedimento técnico do desktop, só ninguém se mexeu para entregar pronto.

Mas eu sei que falar isso é inócuo. Não vai mudar a cabeça de ninguém.

Faz sentido para você?

Espero ter ajudado.


Farei algo que muitos pedem para aprender a programar corretamente, gratuitamente. Para saber quando, me segue nas suas plataformas preferidas. Quase não as uso, não terá infindas notificações (links aqui).

2

Faz muito sentido cara.
Web vai muito além do html, css e javascript. Eu só não acrescentei porque o texto ficou muito longo.
Observe o console das provedoras de cloud por exemplo. Algumas fornescem um terminal pra você utilizar no própio browser. Aplicações web feitos com python e spring é um exemplo bem maduro.

A respeito das imagens, não gasta ram receber imagens, gasta se você não souber onde armazenar.
Por exemplo, você pode usar a API do DALL-E e receber um base64 da API. Vai guardar na ram? e se tiver 50 imagens pra receber?

Sobre desktop, quem quer uma aplicação desktop, faz com java, C#, Go e qualquer outra linguagem que dá o maior suporte. Mas algumas aplicações, não vale a pena o custo. Você pode estruturar bem sua página web e transformar ela em um PWA. Vai rodar multiplataformas, desde que o OS tenha suporte. Youtube music é um exemplo de PWA.

E a fuga de memoria na web é um absurdo. Deixar uma página aberta por muito tempo em um pc com menos de 8Gb de ram é fatal. Bom ponto ter focado nisso.

5

O front-end é um universo vasto, desafiador e essencial para o sucesso de qualquer aplicação.

É como a fundação de um prédio, muitas vezes invisível, mas crucial para a estabilidade e funcionalidade do conjunto. Desde a validação de tokens até a garantia de que senhas não sejam expostas, o front-end é a linha de frente na proteção dos dados e na construção de interfaces intuitivas.

Imagine um mundo sem front-end responsivo - sites quebrados em dispositivos móveis, lentidão na interação, experiências confusas. O front-end trabalha nos bastidores para evitar esse cenário, garantindo que a aplicação seja acessível, eficiente e segura.

E, claro, a evolução não para. Novas tecnologias surgem, padrões mudam, e o front-end se adapta. A busca pela otimização, pela melhor experiência do usuário e pela segurança permanece constante. É um campo dinâmico, onde a curiosidade e a sede de aprendizado são aliadas poderosas.

Em resumo, o front-end não é apenas sobre código, é sobre a criação de experiências, sobre a segurança dos dados, sobre a adaptabilidade às mudanças tecnológicas. É um universo vasto, onde cada linha de código tem um propósito, contribuindo para o sucesso da aplicação.

Continue explorando, continue aprendendo. O front-end é uma jornada fascinante que nunca para de evoluir.

1

Sim cara, parabéns pelo textão.
O front end é a linha de frente da aplicação. Do que adianta ter um jardim se ele é sujo e desorganizado?

4

Dica: pega um caderninho ou abre um bloco de notas; anote TODOS os nomes nesse post que vc nao conhece; vai estudando um a um. Voce não precisa se tornar um programador front-end em seis meses: você precisa se tornar um programador front-end.

Achar que o clone de instagram é o início do seu aprendizado no frontend, tá beleza. Agora achar que é clone de Instagram é o fim do aprendizado, aí é o fim mesmo 😃

3

Sempre tive vontade de dizer isso, mas nunca tive coragem 😂😂. Parabéns por sua bravura.

Realmente, o front end está muito complexo e o que a galera está acostumada por ai não é nem 10%. É só a pontinha do iceberg do front. Eu prefiro acreditar que fazer telinhas bonitinhas e clones de apps famosos seja trabalho de um designer, não de programador.

E te digo mais, o que tem de site/sistema porco e mal feito por ai é coisa de louco! Sistemas com apis expostas, tokens salvos no local storage, até sistemas do governo com brechas! Digo isso porque sempre fui curioso e olho o codigo fonte de algum sistema que acho interessante.

Antigamente o programador era visto como um crânio, que resolvia problemas e algoritmos complexos e que ficava o dia na frente de um terminal, codando o software da Nasa em assembly e C++. Hoje parece que ser programador é so fazer uma telinha bonita em React, uma apizinha em Node e Mongo, não querendo desmerecer essas tecnologias pois também trabalho com elas atualmente, mas antes de chegar nelas, eu quebrei muito a cabeça. Fui só ver HTML, CSS e JS quase 2 anos depois de ter entrado na área. Antes disso era só C e C++, algoritmos e um terminal. Hoje agradeço por ter começado do jeito difícil!

2

tokens salvos no local storage

Existe um debate muito grande sobre isso na internet há tempos. Na sua opinião, qual seria o melhor metodo de armazenamento de um token no client e porque (normalmente cookies, session e local)?

1
1

Sim, eu escuto muito por aí que Front é só centralizar div e colocar cor em botão.
Eu queria que front fosse assim kkkk. Front não é low code.

3

front end não deve:
fazer o site ficar bonitinho. Isso é responsabilidade dos web designers.
quando vai desenvolver limite-se ao que é exclusivo da tua área de atuação e se pedirem pra desenhar botão, criar fonte, fazer background, animação... Peça um salário de webdesigner além do de desenvolvedor(seja qual for tua especialidade back, front ou full).
As telas de interação devem sempre obedecer lógicas e regras definidas nos diagramas pelo analista qualificado.
O resto depende do público alvo do serviço oferecido pela empresa que te contratou e pelo tipo de site a ser desenvolvido. Saber ou não certas técnicas de desenvolvimento não te tornam menos desenvolvedor que um cara expert que manja tudo... Mas às vezes é útil saber de tudo um pouquinho... Ainda mais se tu for um analista programador fullstack do tipo que faz o levantamento de requisitos e entrega o sistema implantado e ainda por cima da suporte e mantém o sistema atualizado e funcional.

2

Obrigado por avisar! Se você não tivesse vindo aqui escrever, nos nunca saberíamos!

Sarcasmos a parte, um iniciante ou estudante que não está cursando faculdade, acaba assisti do as propagandas sensacionalistas de certos YouTubers. É triste ver vendedor sendo vendedor, tentando enganar o povo. Eu mesmo quaaaase cai na história do rodolfo mori. Mas como eu odeio vendedor, percebi rapidinho que ele era mais um deles. Hoje, meses depois de passar 1 semana copiando tutorial de pokedex, estou aprendendo lógica de programação e dessa vez realmente APRENDENDO de verdade.

Mais uma vez, obrigado pelo aviso. Na próxima pode tentar ser menos tóxico, por favor? As pessoas vão dar mais valor às suas ideias se você for cordial.

1
0

O curso dele parece bem legal, bem completo. E a didática dele é bacana. Recomendo assistir se tiver interesse.
Porem o curso é caríssimo quase o preço da ebac. E ele promete 8k em 6 meses...

1

Impressão minha ou estamos reclamando de tecnologias que nos favorecem de diversas formas ? Estou sentindo um certo tom de saudosismo por parte da galera mais antiga que começou programando do jeito " raiz " mesmo, poréma acho sem sentido esse certo desmerecimento por funcionalidades que podem e facilitam demais a vida de todo mundo.
Ou seja o problema real são as PESSOAS e o que elas fazem ou deixam de fazer com determinada tecnologia, se a pessoa tem sede de conhecimento por mais que comece do jeito " fácil ", ela sempre vai procurar entender como aquela determinada coisa chegou nesse ponto de aplicação mais simples.
Entendo que muitos aqui começaram sofrendo e se esforçando ao máximo para entender da melhor maneira os fundamentos da programção, no entanto a tendencia é que o mundo se torna mais avaçado e possamos desenvolver as mesmas coisas de antes de maneira mais simples.
Para resumir concordo em certo ponto com pessoas que aprendem " pouco " e se julgam aptas para realizar certas tarefas ou até mesmo não conseguem realizar, porém vejo muito saudosismo na resposta de pessoas que sofreram no passado e talvez se sintam incomodados em como os novos programdores desprezam certas tecnlogias.

1

achei interessante seu texto, e concordo com muitas partes.

ha anos eu venho tentando me adequar a estudar uma linguagem. Desde criança conheço java, mas so inicio desse ano que eu fui achar uma fonte de conhecimento gratuita que é o dev.java. No nivel que to (basico ainda, mas explorando muito mais a fundo dos conceitos que ja aprendi ora maximizar minha oerformance) posso dizer que meu relacionamento com Java foi amor a primeira vista ❤️.
Nunca gostei de nada muito simples. Tanto que, quando eu tiver bem em java, vou buscar descer o nivel de conhecimento e aprender mais linguagens de baixo nível. C++, C, Assembly, InfoSec (pra garantir mais segurança as minhas aplicações...). Cara, programaçao é um mundo tao bonito e deslumbrante!❤️
As vezes me sinto mal de, finalmente, conseguir aprender algo que pra mim é de grande valia em uma epoca que programação virou modinha... É muito triste onde tudo chegou, sabe?!...

Mas enfim, eu gostei muito do seu texto. Me desculpe, mas vou ser sincero, eu nao entendi muitos dos termos que voce citou kkkkk mas confesso que ja ouvi alguns deles ao longo dos anos.

como uso o chat gpt como meu professor e copiloto em meu aprendizado java, geralmente costumo compartilhar códigos de treino com ele que eu faço pra fixar conceitos bobos que muitas vezes passam despercebidos pelas pessoas e que considero importantes pra mim, e que tambem podem fazer a diferença em um projeto. Quando o chat vai comentar sobre meu codigo, as vezes ele cita algum termo que eu desconhecia que acabei por aplicar sem conhecer kkkkk. o termo nao conheço, mas sei como funciona. É aquele negocio: eu sei fazer, sei o que é, sei como funciona, sei fazer manutençao e aprimoramento nisso, mas nao sei o termo.
Dizem que nem sempre terminologias sao importantes, o que importa é que voce sabe o que esta fazendo.

mas é isso mano, bom texto ❤️☕

1

São termos importantes, mas a maioria é mais focado no desenvolvimento web, é comum você não conhecer. Mas vale a pena pesquisar e aprender.

Dizem que nem sempre terminologias sao importantes, o que importa é que voce sabe o que esta fazendo.

Terminologias são importantes na teoria. Você precisa saber, vão te perguntar na entrevista e vão pedir pra aplicar no teste prático.

0
1

Bah, ontem mesmo eu tive uma experiência horrivel usando o app do McDonald's, simplesmente o app parece que não foi finalizado.

1
1