Vamos supor que as duas suposições a seguir sejam verdadeiras.
- Toda a sua base de usuários tem acesso de banda larga em qualquer lugar
- Existe um navegador imaginário X que implementa toda a especificação de rascunho dos grupos HTML5 e WHATWG, de forma consistente e todos os usuários usam o navegador X.
Quais são as limitações intrínsecas de um aplicativo Web HTML5 público comercial para o qual precisamos de aplicativos de área de trabalho pública comercial?
Estou interessado nas limitações de aplicativos da web sem plug-ins que não dependem de pontes Flash / Java / SilverLight / etc para recursos extras nem de plug-ins de navegador para recursos extras.
Possíveis limitações que não se aplicam:
- Bases de dados? Temos WebSQL e indexedDB.
- Arquivo IO? Temos a API de arquivos HTML5, que faz leitura e gravação.
- Rapidez? Com a recente corrida do mecanismo JavaScript, o navegador não está mais lento. O C ++ nativo é apenas três vezes mais rápido que o mecanismo V8 do chrome.
- Ferramentas de desenvolvimento? A web amadureceu e há uma variedade de ferramentas disponíveis, que são numerosas demais para serem listadas.
- Fonte fechada? Sim, todo o código é de código aberto. Esta é uma faca de dois gumes e existem inúmeras opiniões sobre o uso de código-fonte fechado ou código-fonte aberto. Pessoalmente, acredito que as vantagens do código-fonte aberto superam as desvantagens.
- JavaScript / HTML5? Argumentos como "Pessoalmente, acho que HTML5 e EcmaScript são plataformas de desenvolvimento horríveis" não contam.
Limitações conhecidas:
- O código crítico em tempo real / segurança (altamente secreto) não pertence à Web nem pode. Ele precisa ser escrito em uma linguagem de baixo nível e altamente controlável, como C ou C ++.
- Qualquer ferramenta que precise interagir com um hardware externo de terceiros conectado ao seu computador terá dificuldades para conversar com seu aplicativo da web.
Há também todo um conjunto de programas que não pertencem à web. Sistemas operacionais, drivers, software de servidor, APIs de baixo nível. Estou ciente disso, mas não os classifico como aplicativos "públicos comerciais", esse é o tipo de software que pode ser pré-instalado em computadores.
Como um aparte, eu sei que as duas suposições são terrivelmente irrealistas, mas podemos alcançá-las em 10/10/20/30 anos. Estou interessado no tipo de aplicativos e nos recursos dos aplicativos que os tornam completamente incompatíveis com a web.
Motivação:
O ponto:
Dado o conjunto de problemas em que um aplicativo de desktop é uma solução válida.
- Por que um aplicativo Web não é uma solução válida?
- Como identifico se posso ou não usar um aplicativo da Web como solução.
Tentei remover as principais dificuldades dos aplicativos da Web (conexão com a Internet e suporte ao navegador) afirmando que eles não existem.
Além disso, os aplicativos offline do HTML5 e o Modernizr estão no caminho certo para resolver esses dois problemas.
Quais são as outras dificuldades com o desenvolvimento de aplicativos da web?