O que é Front-End e Back-End?

Quem mexe com código é programador? Saiba mais sobre as profissões denominadas Front-End e Back-End - conheça as diferenças.

  • Facebook
  • Twitter
  • Whatsapp

Muita gente pensa que quem faz sites é programador. Isso pode ser uma inverdade em muitos sentidos, mas vamos focar no assunto: Quem mexe com código é programador?

A resposta é: Não!

Vamos manter contato?

Assine a newsletter do blog preenchendo o formulário!
Se precisar de algo, solicite um orçamento. É sem compromisso!
Se não quiser nada disso, sem problemas! Continue lendo o post abaixo :D

Desenvolvimento Web

codigo

(foto: SXC)

O termo “código” pode ser muito mais abrangente do que parece. Não há um só tipo de código, mas vamos focar nos específicos para web.

Toda essa parte de código pode ser dividida em duas partes de forma simples: Uma parte é o código que faz as coisas visuais terem forma em um site. Em um corpo humano, imagine que essa é a parte da carne, músculos e esqueleto. A outra parte é o código que faz as coisas funcionarem – no exemplo do corpo humano, imagine que essa parte são os órgãos. Só para completar o corpo humano, a pele, os pelos, a roupa e tudo mais é o design, mas vamos deixar essa parte de lado.

Quando falamos de “visual”, estamos falando da parte visível da coisa, por isso citei a carne e os músculos – que não são visíveis, mas dão forma ao design (a pele e tudo mais, lembra?). Quando falamos de programação, aí vêm as funcionalidades (órgãos, principalmente o cérebro, claro).

O ponto é: Não é preciso ser um programador para fazer um site, já que nem todo site conta com funcionalidades (como formulários de contato, ferramenta de notícias etc). Quando falamos de um site simples, apenas com textos e imagens de uma empresa, por exemplo, independente do número de páginas, um Web Designer pode fazer tranquilamente.

Essa foi a explicação mais “didática” da coisa. Agora vamos definir melhor o que faz cada um.

Leia: O que faz um Web Designer?

O que é Front-End?

Um profissional de Front-End trabalha com HTML, CSS e JavaScript, basicamente. HTML não é linguagem de programação, é linguagem de marcação; CSS é linguagem de estilo; e JavaScript (que é diferente de Java) é linguagem de script, mas também é linguagem de programação (nesse caso, o foco maior do front-end é em JQuery, mas novas bibliotecas estão surgindo).

Tudo isso é utilizado para “dar vida” ao design feito pelo web designer, e o que vai fazer o site ter funcionalidades é a programação.

O que é Back-End?

Um profissional de Back-End sim é o “programador” de que todo mundo fala. O profissional trabalha com linguagens de programação como, por exemplo, PHP, ASP, Java (que é diferente de JavaScript) e Javascript também.

É claro que um programador não faz apenas formulários de contato, ele também faz sistemas mais complexos como intranets, gestores de conteúdo e o que mais for preciso, já que praticamente tudo é possível com programação.

Códigos, códigos, códigos…

tirinha vida de programador

Tirinha do site Vida de Programador (clique na imagem e veja outras!)

Eu gosto bastante de códigos, mas nunca me aventurei como programador – sou Designer e Front-End, trabalho com padrões web, semântica, SEO e economia (menos é mais!).

Bom, este post foi apenas uma explicação básica sobre os termos FrontEnd e BackEnd, que servirá tanto como complemento para outros posts do blog quanto para tirar essa dúvida de quem a tem, claro.

Dúvidas e comentários? Sintam-se à vontade.

  • Facebook
  • Twitter
  • Whatsapp

Do que você está precisando?

Um site novo? Suporte para WordPress? Criação de logo? Outra coisa? Fale comigo!

52 comentários

  • Anderson Fernandes

    Estou no inicio dos estudos de PHP, mas minha pretensão e FRONT-END, é necessário aprender esta linguagem ou é perca de tempo, o curso que vou começar é uma facada, me da esta dica. Muito obrigado!

    Responder
    • Fabio Lobo

      Não é perder tempo não! É muito importante ter, ao menos, uma base dessa linguagem de programação. ;]

      Responder
    • Daniel

      Devido a sua pretensão de ser Front-end, se você estudar mais Front-end do que PHP, não é perca de tempo não!

      Responder
  • Valdiney França

    Olha realmente são boas dicas, mas não achei correto em falar que Javascript não é uma linguagem de programação! Isso não tem lógica. Tem tudo que outras linguagens possuem.
    Javascript linguagem de programação representada como script essa é a real! E claro que uma pessoa que utiliza essa tecnologia é um programador!! Programador Javascript!
    Mas a matéria está muito bom!! Show.

    Responder
    • Lucas Teles

      Javascript é linguagem de programação sim, e como dito pelo autor do post, é uma linguagem de script. A diferença das muitas outras linguagens é que ela é interpretada e não compilada, e funciona como client-side. Apesar de uma linguagem mais “simples”, ela sem dúvida é crucial para a interação com os objetos do navegador (quando falamos de aplicações web based).

      Responder
      • Guilherme Viebig

        É uma linguagem de programação de tipagem dinâmica, segue o padrão ECMAScript…. É uma lingaugem de programação estruturada, disso não há dúvida.. Podemos entrar em outras definições, como “linguagem funcional”, mas daí falariámos da filosofia e de paradigmas em vez da funcionalidade pratica da linguagem. Outra coisa, é que falar que javascript roda no client-side foi o dia… Vide NodeJS

        Responder
    • Danilo

      Concordo com vocÊ amigo. Claro que é muito utlizada para construção de layout mas é uma linaguagem de programação sim.

      Responder
  • Davi

    Estranha e errada essa diferenciação que o autor faz entre javascript e as demais linguagens de programação. Javascript é uma linguagem como qualquer outra. O fato de ser interpretada não faz qualquer diferença (inclusive, todas as linguagens citadas também são interpretadas).

    Hoje em dia, existem sites, aplicações e jagos inteiros feitos com javascript. Com node.js, por exemplo, podemos fazer coisas bastante poderosas com essa linguagem

    Responder
  • Fabio Lobo

    Não entendi por que alguns “pegaram no pé” com minha citação sobre JavaScript no post. Primeiro que em momento algum eu afirmo que JS não é linguagem de programação; segundo que eu fiz esse post para diferenciar, de forma resumida e para leigos (principalmente para quem pensa que quem faz sites é programador), o que fazem os profissionais de front e back end. É um post básico para dúvidas básicas.

    Aliás, tudo o que eu disse foi que JavaScript é diferente de Java, e que essa última sim é uma linguagem de programação “complexa”*. Essa foi a única “diferenciação” que, por sinal, eu acredito estar correta. ;]

    *Mais complexa, eu quis dizer. As aspas não ajudaram muito, é verdade. (28/06/2012)

    Responder
  • Anderson Luciano

    Discordo quando diz que JavaScript não é uma linguagem complexa, pelo simples fato de que algumas pessoas por saber fazer “FadeIn()” e “FadeOut()” em jQuery dizem que sabem JavaScript, NÃO SABEM!!! JavaScript é uma linguagem complexa SIM, com ela é possivel montar toda uma página utilizando DOM, que alias é umas das técnicas mais utilizadas pela Google. Técnicas como AJAX são essenciais para o desenvolvimento de um bom website, e só podem ser utilizadas da melhor forma a partir do momento que se conhece JavaScript em sua integridade. Tambem podemos citar o JSON, que é umas das principais formas de comunicação entre Back e Front, sem falar que não adianta nada o Front programar jQuery sem ao menos conhecer como funciona uma estrutura DOM…. Não estou dizendo que o JavaScript trabalha sozinho em um site, pois se fosse assim não era necessário um Back-End correto, mas JavaScript é uma linguagem essencial para ser um bom desenvolvedor Front-End. Um Front-End não é um desenhista, é um programador, ou vocês acham que é facil fazer um bom slider ou um bom efeito DINÂMICO sem saber logica e sem usar “Códigos prontos”!!!

    Por fim dou a seguinte dica:
    Se você que ser um bom desenvolvedor Front, estude lógica, estude JavaScript e estude padrões web, seguindo isso você será um bom profissional e vai conseguir resolver muito mais problemas do que um cara que usa slider pronto e não sabe como funciona um clone!!!

    Responder
    • Fabio Lobo

      Boas observações, Anderson. Concordo completamente, principalmente na parte dos scripts prontos: é exatamente como o cara que “sabe mexer no photoshop” e se diz designer. A ideia de estudar, correr atrás do conhecimento e de que softwares são só ferramentas é algo que eu sempre defendo aqui no blog, comentários assim são inspiradores.

      Só um adendo: Eu não disse que Javascript não é uma linguagem complexa. Bom, pelo menos eu não quis dizer isso. No texto, eu apenas diferencio Javascript de Java, algo que muitos leigos não sabem. No comentário acima, eu quis dizer que Java tem maior complexidade que JS (Ou seja, aparentemente acabei me expressando mal porque faltaram palavras melhores para descrever – tem alguma sugestão para dar uma explicação básica de forma didática? O foco desse post é justamente o pessoal que não entende do assunto e está buscando conhecimento, então eu sempre tento usar comparações e explicações mais didáticas.), mas é algo que realmente está dando assunto nos comentários. Felizmente dessa vez veio um com conteúdo.

      Valeu! ;D

      Responder
  • Tiago

    Meu nome é Tiago e estou iniciando em programação php, gostei muito do post.
    Abraços

    Responder
  • Bruno Santos

    Meu nome é Bruno, trabalho como programador back-end (2 anos).
    Parabéns pelo blog !

    Responder
  • Antonio marcos de campos

    Gostaria apenas de complementar que em algumas ocasiões o front-end acaba sendo tão importante como back-end mas com funções diferentes, pois num mundo de aplicações web tão complexas não se pode apenas delegar todas as ações ao servidor. Portanto com o aumento da complexidade tanto e das aplicações voltadas à web é necessário que o especialista nessa área se aprimore ainda mais até mesmo por conta de tornar o seu trabalho mais produtivo.
    É bom ressaltar que não estou desmerecendo o profissional de back-end e na verdade acho que os dois devem cada vez mais trabalhar em conjunto e acho que esse processo gera até mais oportunidade para esse profissional de back-end tendo em vista o fato de ele ja possuir uma experiência poder trabalhar nas duas camadas.
    E por ultimo fica a dica a sempre gosto de mencionar que temos vários recursos de back-end, mas que uma das bolas da vez é justamente o front-end aja vista o novo html 5 que vem com inúmeros recursos para tornar a web mais dinâmica e então devemos estar atentos que a internet não é uma rede morta e estática ela vem mudando e com isso ela deixa disponível um leque de possibilidades para que quer trabalhar com ela resta apenas aproveitar as oportunidades.

    Responder
  • Bruno Balbinot

    Muito bom o post, esclarece bem para os iniciantes da área.
    Esqueceu de citar o C# como exemplo de linguagem. ='(
    Muito bom da sua parte colocar foto ali em cima e citar a fonte e a tirinha deu um humor ao post.
    Vou visitar mais o blog.
    Show de bola.
    Parabéns.

    Responder
    • Fabio Lobo

      Valeu, Bruno! Confesso que não atualizo muito o blog, mas quando o faço, faço com empenho!

      Responder
  • Erick

    Eu sou dos que gosta de desenvolvimento backend, nada de dev de interface gráfica(apesar de ser divertido). Gosto de trabalhar com algoritmos, performance e programação em um nível mais baixo.

    Responder
  • Thadeu Esteves

    Bom, acho que todo frontend passa por situações iguais! Por Exemplo: Começamos mexendo no photoshop( e dizemos que somos designers) , depois aprendemos HTML e CSS ( e dizemos que fazemos sites) e consequentemente aprender a utilizar frameworks javascript(jQuery, Bootstrap, etc). Lendo alguns comentários deste ótimo post, percebi a mentalidade de várias pessoas, e acabo concordando com alguns deles.

    Sabemos que existem classes de frontends, Junior, Pleno e Sênior, então denominamos que FrontEnd Junior, não sabe muita coisa, usa quase sempre tudo pronto da internet, o Pleno por sua vez, já começa a criar seus widgets,plugins javascript puro e etc, e o Sênior já começa a utiliza Design Pattern JS, Backbone, Angular e etc, então chegamos a conclusão que o FrontEnd Mesmo é quando ele chega no nivel Sênior, onde ele cria tudo que precisar sem necessidade de pesquisar no ‘google’..

    Bom acho que é isso!

    Responder
    • Fabio Lobo

      Thadeu, é por isso que os níveis fazem sentido. Porque se a gente não dividir entre trainee, júnior, pleno, sênior etc, tecnicamente quase ninguém pode ser chamado de FrontEnd, BackEnd, Designer e por aí vai.

      Aliás, como você citou “sem a necessidade de pesquisar no google”, podemos chegar à conclusão de que não existem profissionais de qualquer área no mundo inteiro, já que constantemente o Google é usado independente do nível de experiência do profissional.

      Eu uso o Google até pra saber se estou escrevendo corretamente alguma palavra/sentença – seguindo seu raciocínio, eu não sou alfabetizado! :D

      Responder
  • José Alberto

    Excelente post, Fábio Lobo. Sucinto e, ao mesmo tempo, claro. Procurei muito por uma definição dessas.

    Responder
  • Arthur

    Bom, acho que Front e Back-End não se comparam, são visões diferentes, por se dizer que alguém que mexa com front não é programador não esta desvalorizando ateh pq são só formas de dizer, pois os dois mexem com códigos porém em áreas distintas e formas completamente diferentes!

    Responder
  • Bruno

    Excelente post, Fábio Lobo. Foi a melhor definição que já vi, deu para esclarecer melhor minhas duvidas.

    Responder
  • Henrique

    Muito bom essas suas dicas !!! Parabéns pois esclareceram as minhas dúvidas !!!

    Responder
  • Rafael

    Cara o seu texto encontrei por acaso, mas é um texto simples e legal, parabéns, porém vc teve um baita erro em dizer que javascript não é uma linguagem de programação, a não ser que vc fez isso premeditado para criar um certo reboliço, rsrs. Olha sou bem mais conhecedor de PHP do que javascript, porém o javascript é uma linguagem que evolui muito, chegando inclusive no mundo mobile devido a Open Web Platform, então ela ainda vai crescer mais ainda.
    Lembrando que muitos programas hj são escritos com javascript, seja ele puro ou com framework por exemplo Extjs.
    Tb pela data do primeiro comentário, mas não sei se o artigo foi escrito em 2011, já existia o Node.js, que hj já está mais maduro que nessa época e é javascript server side, então hj o javascript é, guardada as suas devidas proporções, o que linguagens como java, python e c++ são em estar em várias plataformas.

    Responder
    • Fabio Lobo

      Valeu, Rafael! Mas confesso que desde 2011 estou procurando no texto algo que diga que javascript NÃO é linguagem de programação! :D

      Responder
      • ky0ga

        “…desde 2011 estou procurando no texto algo que diga que javascript NÃO é linguagem de programação!”

        auhahuahahaua agora eu ri viu!

        Responder
      • Bruno

        Você diz que não é uma linguagem de programação quando você afirma duas coisas:
        1 – JavaScript é uma linguagem de script –
        Você diferencia todas as linguagens que supostamente não são programação apenas colocando-as como outras linguagens, como “linguagem de estilo” e “linguagem de marcação”, logo colocando-a como “linguagem de script” a exclui do grupo de linguagens de programação.

        2 – Dizendo que quem é back-end sim que é programador –
        Ou seja, quem estava na outra categoria não é, quem já foi citado não é programador, logo, quem mexe com JavaScript não é programador, JavaScript não é uma linguagem de programação.

        Mesmo que tenha sido sem intenção você afirmou que JavaScript não é uma linguagem de programação, espero que tenha dado pra entender hehe

        Responder
        • Fabio Lobo

          Opa! Sua resposta foi mais completa, obrigado. Só que em back end eu coloquei “e JavaScript também”. De qualquer forma, fiz um ajuste de leve na parte do front end, acho que agora tá mais claro.

          Valeu!

          Responder
  • Daniel

    parabéns Fabio, post inteligente. Realmente vc resumiu bem as funções de cada um dentro do processo. A questão é que ANTIGAMENTE, era apenas 1 pessoa que fazia TUDO. Hoje a coisa mudou, graças a Deus (rs).
    Sobre o Javascript, quem programa em linguagens do tipo PHP, C# e Java, sempre dirão que JS não é linguagem de programação, mas sim de scripts, afinal ela até faz a função de outras linguagens, mas é MUITO RARO (se não for impossivel) se fazer um site INTEIRO de JS (eu nunca vi nenhum)

    Responder
    • Fabio Lobo

      Valeu, Daniel!

      Sobre JS, acho que é uma linguagem bastante usada para fazer apps (não sei bem ao certo, mas acredito que deve ter app só com js).

      Responder
  • Ronaldo

    tirou muitas duvidas minha e ja deu uma ajudinha extra para escolher oque quero fazer da vida.

    Responder
  • Ady

    Boa, tudo está bem claro!!

    Responder
  • Mauricio

    Só mencionar que o post está incrível e inspirador. É estimular certos tipos de críticas e comentários em posts assim, pois leigos como eu acabam aprendendo mais sobre alguns assuntos (especialmente comparações entre linguagens, eu acho muito importante saber diferenciá-las) que não vejo outros sites publicando.

    Obrigado, abraço! espero mais posts assim explicando termos usados por profissionais da área e diferenças e relações que podemos estabelecer entre as diversas linguagens(ou pelo menos as que estão em alta).

    Responder
    • Fabio Lobo

      Valeu, Mauricio! O tempo tá bem escasso, mas vou tentar escrever mais posts em breve!

      Responder
  • Diana Débora

    Parabéns pelo post, muito bom mesmo ;)

    Responder
  • sheila

    Mto bom, esclareceu bastante, obg

    Responder
  • Joselmo Carvalho

    Olá, pessoal.
    Eu gostaria de fazer um comentário na tentativa de melhorar o que está escrito.
    Sou analista de sistemas há mais de 20 anos. E ultimamente tenho percebido que algumas pessoas estão mudando o sentido de back-end e front-end.

    O front-end de um sistema não é apenas tela, mas sim, toda a funcionalidade que o cliente tem acesso. Nessa funcionalidade teremos designers fazendo as telas e os desenvolvedores fazendo o código. O back-end são funcionalidade voltadas para a manutenção do sistema, por exemplo a área de administração do site, ou seja, front-end e back-end não têm nada a ver com a função do profissional mas sim com à quem se destina a funcionalidade do sistema, ao cliente, usuário (front-end) ou ao administrador (back-end).

    Abraço

    Responder
  • Jonatas Ramos

    Bom dia.

    Irei simplificar minhas perguntas para não ficar uma coisa gigante:

    Programador Back-end precisa aprender basicamente PHP, MySQL e (não obrigatório) Javascript?

    E gostaria de saber na opinião de vocês, qual é mais difícil de se tornar:
    Back-end ou Front-end ?

    Obrigado!

    Responder
    • Fabio Lobo

      Jonatas, só dei alguns exemplos de linguagens de programação que um Back-end pode aprender. Você deve pesquisar a linguagem que mais te agradar, independente se front ou back, e começar a estudar!

      Responder
  • DOUGLAS

    Cara depois de tantos anos da publicação, estou aqui para comentar no seu BLOG.. Vamos lá… Até um dia atrás eu achava que pra ser um bom profissional eu precisava saber os dois, Front-End e o Back-End, mas pelo que li não é bem isso… Claro, se eu for fazer um site pequeno pro meu vizinho eu vou precisar entender um pouco de cada coisa, mas assim, no mercado de trabalho eu posso tranquilamente ser especialista em um dos dois nichos certo? Eu já estava coçando a cabeça com a quantidade de coisa que eu precisaria aprender, achando que teria que saber os dois pra arrumar um trampo…

    Responder
    • Fabio Lobo

      Douglas, você não precisa saber dos dois mesmo. Se especializa em um e tente pelo menos ter uma noção de como o outro funciona.

      Responder
  • Marcos de Souza

    Nossa, ótima explicação! Muito obrigado por tirar esta dúvida. Gostei do modo simples e direto com o que tratou a questão.
    Abração e tenha uma ótima semana!

    Responder
  • Keven

    O que você falou é verdade. Qualquer pessoa que se DEDIQUE consegue dominar o HTML5 e CSS3. Apesar de não ser linguagens complexas, ainda sim da trabalho para aprender do jeito certo. Tem que ter dedicação e muita prática. O JavaScript, minha querida e amada linguagem de programação abre um mundo de possibilidades. Posso fazer de tudo com ela, incruzive um game ou que eu imaginar. Agora ela está no Back-end tbem, o que é muito animador. Sou um desenvolvedor Front-end, mas me considero um programador por causa do JavaScript. Posso fazer sistemas complexos utilizando apenas JavaScript. Antes mesmo de aprender o JS, tive que adentrar em lógica e algoritmos pra fazer do jeito certo. Acredito que muitos “profissionais” que sabem apenas o Jquery se atrapalham todo quando precisam fazer algo além. Amo programar e sou sim um programador JavaScript. Acho que você estava se reverindo, quando citou o design aos Web Designers, já que eles só precisam, geralmente, fazer o design do site. Coisas mais complexas ficam com o Front-end. A programação que sustenta o site no servidor fica com o Beck-end.

    Responder

Comente!

Espaço reservado apenas para comentários sobre o post. Então, se você deseja um orçamento, por favor, entre em contato para que possamos conversar.

Quem é Fabio Lobo?

fabio lobo

Sou eu! Quer saber ainda mais sobre mim?

Bom, a maioria dos trabalhos que faço — na área de web design e desenvolvimento front-end — é com WordPress, com foco em usabilidade, facilidade e performance (tudo isso com design responsivo, é claro!). Também sou fundador de outros projetos, como a WOWF e a FicaOn.

Quer saber mais sobre esse tal de Fabio Lobo? Veja meu currículo ou siga-me nas redes sociais acima. Ah! Você também pode acessar meu blog, que é focado em web design e desenvolvimento.