— Ah, então você é programador. O que você faz?

— Trabalho fazendo aplicações web (web apps).

— Então você trabalha com web? Faz um site pro meu food truck?

Como você explicaria a diferença entre web apps e websites? Situações como essa são normais na vida dos devs que trabalham com web.

O avanço das tecnologias para internet e dos navegadores acabou possibilitando a criação de sites cada vez mais complexos e elaborados. Foi assim que surgiu o termo web apps (ou aplicações web).

Saber distinguir os dois termos é, de fato, algo relevante. Levando em consideração que ambos envolvem situações, custos e objetivos diferentes, é importante que os desenvolvedores estejam familiarizados com os conceitos de cada um.

O blog css-tricks realizou uma pesquisa com 17.161 desenvolvedores, fazendo a seguinte pergunta: É útil distinguir entre “web apps” e “web sites”? (Is it useful to distinguish between “web apps” and “web sites”?).

Veja o resultado abaixo:

A vasta maioria acha que é uma distinção valiosa a se fazer. Veremos nesse post:

  • As diferenças básicas entre web apps e websites
  • A relação de custo para desenvolvimento de ambos
  • Na prática: Como os conceitos acabam colidindo

# As diferenças básicas entre web apps e websites

Fonte: http://colorwhistle.com/

Fonte: http://colorwhistle.com/

O debate sobre o tema é amplo e geralmente levanta diversas argumentações. Veja uma lista com algumas delas:

  • É uma questão de escopo. 5 páginas estáticas. Website. Dados dinâmicos e inputs dos usuários. Web app.
  • “A distinção vem de uma visão entre back e front end. Mais front-end, website. Mais back-end, web app.”
  • “É uma uma questão de uso. Executa tarefas? Web app. Apenas entrega informações? Website.”

Definições não faltam…

Mas vamos ao que realmente interessa.

Websites

Websites são estáticos, ou seja, não são atualizados com muita frequência. Seu objetivo é prover informações ao usuário, não havendo interação na alteração do conteúdo por parte do mesmo. Um exemplo clássico são os sites de empresas, onde certamente você verá: Descrição de produtos/serviços oferecidos, história da empresa e formas de contato (email, telefone, etc.).

São construídos usando HTML, CSS e talvez um pouco de JavaScript. Nenhuma linguagem de programação é necessária, nem muito menos uma base de dados.

Websites são uma parte enorme da web e desempenham papéis importantes como: deixar você sabendo de um evento ou novo produto que será lançado ou mostrar-lhe os serviços de uma determinada empresa.

Web Apps

Funcionam como aplicações desktop (Word, Photoshop, Skype), web apps são dinâmicos e estão em constante mudança. Dependem da interação do usuário para atingirem seu objetivo, seja contribuindo com conteúdo (YouTube, Facebook, Twitter) ou recolhendo dados de outras fontes e apresentando-os à você (Mint, Google Analytics, Klout).

Segundo Christian Heilmann (Principal Developer Evangelist – HTML5/Open Web – at Mozila Corporation), em entrevista ao blog da VisionMobile, “O caso de uso de uma aplicação é sempre fazer algo com ela” (The use case of an application is always DO something with it).

Assim como tudo na web, Web apps são construídos com HTML, CSS e JavaScript, contundo, eles também usam linguagens de programação como PHP, Ruby ou Python, e frameworks como, Rails, Django e Scriptcase (que entra na categoria dos RAD – Rapid Application Development). Web apps quase sempre utilizam bases de dados, tornando-se, portanto, dinâmicos.

Então…

Aqui está o que você deve se perguntar se você tem um projeto web a fazer: Com que frequência deverá ser atualizado? Mensalmente? Diariamente? Ou a cada hora? Os usuários serão capazes de prover conteúdo? Ou as páginas serão estáticas?

Suas respostas para perguntas dessa natureza servirão para ajudá-lo a determinar se o que você tem em mãos é um website ou um web app.

# A relação de custo para desenvolvimento de ambos

Como vimos até aqui, por serem mais complexos e exigirem uma maior quantidade de programação e projeção, os web apps naturalmente demandam maior tempo para serem finalizados.

Portanto, como tempo é literalmente dinheiro, existem recursos que diminuem consideravelmente o tempo de desenvolvimento desses projetos.

No caso dos websites, o WordPress é quase unanimidade para gerenciamento de conteúdo (CMS). Ele é uma plataforma semântica, com foco na estética e nos padrões da web. Possui templates que facilitam extremamente o desenvolvimento de websites, blogs e etc.

A título de eficácia e redução de tempo e custos, o Scriptcase está para os web apps assim como o WordPress está para os websites, no processo de desenvolvimento. Possuindo conexões com os bancos de dados mais utilizados do mercado, o mesmo oferece uma gama de aplicações que são comuns no projeto de um web app. Tais como: Consultas em formato de grid, formulários de cadastro e edição de registros, gráficos, calendários, menus, dashboards e mais uma extensa lista de itens.

# Na prática: Como os conceitos acabam colidindo

Fonte: http://www.developereconomics.com/

Fonte: http://www.developereconomics.com/

Pense na seguinte situação: O site de um restaurante tem apenas um menu de navegação e algumas fotos dos pratos do cardápio. Seguindo os conceitos que vimos, é um website, certo? Certo. Digamos que seja incorporado, à página de contato, um mapa do Google Maps. Agora os usuários podem marcar locais, dar zoom e receber direções. Seria agora um web app? Ou um website com um web app dentro?

Na realidade, hoje é muito difícil encontrarmos websites que sejam totalmente estáticos. Uma vasta maioria tem, no mínimo, um formulário de contato onde o usuário consegue interagir enviando uma mensagem para os administradores do site.

Plataformas como o DISQUS facilitaram a geração de conteúdo, por parte dos usuários, em forma de comentários.

Resumindo a questão e opinando

Portanto, na prática, a distinção dos conceitos acaba não sendo tão clara.

Na minha opinião, devemos usar bom senso na hora de diferenciar os projetos. Um exemplo clássico de como vejo essa diferença acentuada, é quando comparamos o Trello (site para gerenciamento de tarefas) com o site do BuzzFeed.

O Trello é um clássico web app, onde para que se cumpra o objetivo do site, é preciso que os usuários criem tarefas e as gerencie. No caso do BuzzFeed, mesmo com a possibilidade de interagir comentando as matérias e compartilhando-as, é melhor categorizado como website por não demandar necessariamente uma interação do usuário para cumprir o seu objetivo.

# Concluindo: A diferença entre Web apps vs Websites

Conceitualmente websites são estáticos, servem para prover informações e não demandam interações do usuário para cumprirem o seu objetivo. Web apps são dinâmicos, sevem para resolver uma determinada necessidade e precisam da interação do usuário para cumprirem seu objetivo.

Websites tendem a ser mais baratos e menos demorados para serem feitos, uma vez que não utilizam linguagens de programação nem utilizam bases de dados. Web apps, em geral, custam mais e são mais demorados em seu desenvolvimento.

Como vimos, na prática, a distinção entre os conceitos é mais complicada de ser aplicada. Porém, se julgarmos o objetivo de cada projeto, conseguimos diferenciar os tipos.

Espero ter esclarecido suas principais dúvidas. Se gostou do post, deixe seu comentário abaixo dando sua opinião!

Você pode gostar de…

SQL Injection – parte 2: Como se Defender

Primeiramente se você ainda não leu o post sobre "SQL Injection: Injetando Dados a partir de Input...

O que é RAD, Framework, IDE – conceitos e aplicabilidade

O que são RAD, Frameworks e IDE? Entenda a Diferença entre elas e como podemos utilizá-las para o...

Tendências de desenvolvimento web para 2017

Você verá neste post tendências para 2017 em Web Design, no meio Digital e em Desenvolvimento. Me...

Comente este post

Receba novos posts, ofertas e muito mais toda semana.