Hoje vamos falar sobre as diferenças entre aplicativos para desktop e web. Não prometemos ser totalmente imparciais, mas tentaremos considerar honestamente todos os prós e contras.

Um aplicativo da web funciona por meio de um navegador, usando-o como um tempo de execução, um aplicativo de desktop - é instalado, iniciado e executado localmente. Vamos compará-los de acordo com suas características principais.

Instalação, atualização

O aplicativo da web não requer instalação, todas as atualizações ocorrem no servidor, são entregues aos usuários imediatamente - você só precisa recarregar a página ou sair e, em seguida, entrar novamente em sua conta. Mas, às vezes, para que funcione, você precisa instalar bibliotecas adicionais ou usar protocolos de rede seguros.

O aplicativo de desktop precisa ser instalado em um computador ou dispositivo móvel, atualizado sempre que uma nova versão é lançada. Embora na maioria das vezes o processo seja automatizado, ainda consome tempo dos usuários e recursos do dispositivo. Além disso, você terá que rastrear as versões em cada computador, smartphone e tablet.

Publicar / implantar

O aplicativo da web é publicado em um servidor local ou em nuvem, e o processo de atualização ocorre lá. Neste caso, o servidor é necessário em qualquer caso, mesmo que a solução seja bastante simples. Afinal, além do front-end, com o qual os usuários trabalharão por meio do navegador, você precisa hospedar o back-end em algum lugar.

O aplicativo de desktop terá que ser instalado manualmente em cada dispositivo. Em uma empresa com muitos empregos, isso pode levar muito tempo. A boa notícia é que você não precisa escolher um servidor ou buscar recursos para publicar se não estivermos falando de uma solução cliente-servidor.

Confiabilidade

O funcionamento de uma aplicação web depende não apenas da competência com que é desenvolvida e das características do dispositivo do usuário, mas também da velocidade da conexão à Internet e do desempenho do servidor remoto.

A aplicação desktop funciona de forma autônoma, então o principal é a qualidade do código e a estabilidade do hardware no qual este código é executado. Mas se a comunicação com o servidor for necessária, surgirão os mesmos problemas que o "concorrente".

Disponibilidade

O aplicativo da web pode ser acessado de qualquer lugar do mundo, de qualquer dispositivo, e os arquivos do usuário estão sempre à mão. Mas apenas se houver uma conexão com a Internet ou a capacidade de trabalhar offline e fazer o download e upload de dados for implementada.

O aplicativo de desktop está sempre disponível - mas apenas a partir do dispositivo em que está instalado. Para trabalhar em dispositivos diferentes, você terá que instalá-lo em cada um e também descobrir onde armazenar os arquivos para que você sempre tenha acesso a eles.

Plataforma cruzada

A aplicação web funcionará igualmente bem em qualquer dispositivo, pode ser um computador fixo, laptop, tablet ou smartphone - afinal, praticamente não depende de hardware ou sistema operacional. O principal é o navegador certo. Normalmente, o Google Chrome, Mozilla Firefox, Safari da Apple ou um navegador Windows (Microsoft Edge / Internet Explorer) funcionam para a maioria dos clientes da web.

O aplicativo de desktop depende do sistema operacional, processador, placa de vídeo e vários outros parâmetros. Você deve levar em consideração as nuances de cada ambiente (inclusive ao "detectar" erros), escrever o código levando em consideração as opções possíveis, contratar desenvolvedores individuais ou até mesmo equipes inteiras para versões para diferentes sistemas operacionais.

Funcionalidade, desempenho

O aplicativo da web é totalmente dependente do navegador e de sua tecnologia. Portanto, existem várias restrições, por exemplo - no acesso ao hardware do seu dispositivo. É impossível contornar esta e algumas outras restrições (pelo menos agora). Mas várias tarefas podem ser resolvidas de acordo com o princípio "o que não pode ser reescrito, pode ser construído ou expandido". Editores de documentos, imagens, áudio, vídeo, gráficos 3D; sistemas de gerenciamento de projetos; armazenamento de arquivo; construtores sem código - funcionam com sucesso em navegadores. Ferramentas de integração rápida de serviço e bibliotecas front-end expandem ainda mais os recursos existentes.

A aplicação desktop permite implementar qualquer função - nesta, ultrapassa a web. Em qualquer caso, ninguém ainda desenvolveu um análogo online completo do Photoshop ou do Sony Vegas. Os utilitários de sistema são o reino do desenvolvimento de desktop. Assim como os programas que precisam funcionar em segundo plano por muito tempo - por exemplo, chats ou clientes de torrent - será simplesmente inconveniente trabalhar com eles por meio de um navegador. Além disso, esse software é mais frequentemente usado para projetos específicos, com interfaces ou funções não padronizadas. Portanto, o desenvolvimento web ainda não representa nenhum perigo para os programadores de desktop - essas tecnologias serão desenvolvidas em paralelo, apenas para tarefas diferentes.

Quanto à velocidade de trabalho, nem tudo é tão claro quanto parece. Embora o cliente do navegador troque dados constantemente com o servidor, o desempenho dependerá em grande parte da competência do projeto, da "pureza" do código, das capacidades do equipamento e da estabilidade do canal de comunicação. A diferença de desempenho, que é óbvia durante o teste, geralmente é invisível para os usuários.

Segurança

O aplicativo da web desenvolvido com protocolos e ferramentas de segurança modernos pode garantir totalmente a segurança dos dados. No entanto, os desenvolvedores não podem influenciar alguns pontos: navegador, servidor em nuvem, canal de comunicação - eles podem aumentar o nível de segurança devido a meios adicionais de verificação, mas também reduzi-lo devido às suas vulnerabilidades. Uma vantagem definitiva para os usuários: esse software é mais fácil de controlar. As limitações do ambiente tornam menos provável que ele obtenha acesso aos arquivos secretamente ou inicie um processo.

O aplicativo desktop é configurável de forma mais flexível, o que significa que teoricamente todas as vulnerabilidades potenciais podem ser previstas durante o seu desenvolvimento. Na prática, é improvável. No entanto, você ainda pode torná-lo totalmente seguro. Mas apenas se o dispositivo no qual está instalado não se conectar a qualquer lugar, mesmo a uma rede local segura. Caso contrário, ainda haverá um risco.

É difícil (senão impossível) dizer o que é mais seguro. Isso é influenciado por muitos fatores, principalmente o fator humano. Mas o significado de todas as medidas de segurança reside de fato na proteção do fator humano.

A confiança no software de desktop é maior. Algumas organizações discordam fundamentalmente dos navegadores e muitos usuários ainda os desconfiam. No entanto, a situação está mudando - com o desenvolvimento das tecnologias, a fidelidade das pessoas a elas aumenta.

Nossas descobertas

As possibilidades de desenvolvimento de navegadores são enormes e seu potencial está longe de ser totalmente revelado. A tecnologia está avançando, o mercado de TI está crescendo, oferecendo cada vez mais aplicativos - com todas as outras coisas iguais, os usuários escolherão a web simplesmente porque é mais conveniente. Se falamos de soluções para clientes corporativos, os aplicativos de navegador são insubstituíveis. Eles são flexíveis, versáteis, não requerem preparação preliminar do ambiente e economizam finanças da empresa, recursos de hardware e tempo dos funcionários.

Opinião alternativa

Mas considere uma opinião diferente. Alguns desenvolvedores acreditam que as perspectivas estão longe de ser sem nuvens. As tecnologias de operação do navegador são muito imperfeitas, muitos softwares de baixa qualidade já foram "codificados". Portanto, os usuários de soluções de navegador recorrerão a soluções de desktop. Essa tendência continuará enquanto os desenvolvedores de navegador usarem Java Script em grandes quantidades. Somente quando uma alternativa real aparecer, será possível fazer previsões para o futuro.

Os aplicativos da Web já são adequados para resolver muitos problemas - tanto para empresas como para usuários comuns. Se você decidir desenvolver o seu próprio, use a plataforma AppMaster.io sem código.

Blocos de código prontos e ferramentas visuais para trabalhar com eles irão ajudá-lo a criar um aplicativo da web e seu back-end muito mais fácil e rápido do que os métodos de programação clássicos!