Por que HTML, CSS e JavaScript não são usados ​​para aplicativos de desktop? [fechadas]


17

HTML, CSS e JavaScript podem ser usados ​​para criar interfaces de usuário bonitas (e úteis) (especialmente agora que temos HTML5 e CSS3), e muitas pessoas já as conhecem. Embora ainda esteja muito além do meu alcance, quão difícil pode ser levar toda a coisa de aplicativos da web para aplicativos de desktop? Já testamos aplicativos em nossos servidores locais antes de hospedá-los.

Na minha opinião, é uma idéia simples e agradável que criará um boom nos aplicativos de desktop. Além disso, como esses aplicativos já compartilham tanto código com aplicativos da Web, eles podem oferecer uma melhor conectividade.

Por que isso não está sendo feito?


15
Isso não foi anunciado como Windows 8?
ChrisF

sry, não muito de um entusiasta de janelas, o que eu estou exatamente pedindo é um framework open source para o desenvolvimento db com base aplicativos de desktop que pode se conectar a rede, e sim, finalmente, algo que abre um caminho de ms
kapv89

Por que o papel não é usado para fabricar carros? (sim, é bad-analogia em tempo :))
haylem

@ChrisF Isso já deu certo para o Windows 8 ou foi apenas hype?
developerwjk

Respostas:


30

A Adobe já fez isso com o Adobe Air e a Mozilla também com o Prism . O Google também tentou preencher a lacuna entre computadores e web com o Google Gears .

Mas, em geral, as tecnologias da Web não são adequadas para muitos tipos de aplicativos de desktop, aqui estão alguns motivos:

  • Não há acesso completo ao hardware imediatamente disponível.
  • Nenhum acesso ao sistema de baixo nível.
  • Nenhum acesso ao sistema de arquivos facilmente disponível (as tecnologias que mencionei acima permitem que você obtenha acesso ao fs, mas cada uma delas como sua própria solução diferente).
  • Atuação. Um aplicativo nativo compilado geralmente é mais rápido que um aplicativo Javascript.
  • Fácil para os concorrentes roubarem o código fonte
  • Nenhuma biblioteca disponível para tarefas especializadas. Ex. processamento de imagem, codificação de som, acesso a banco de dados, programação de rede etc ...

Para ser justo, nem todos os aplicativos precisam de hardware completo ou acesso de baixo nível. Línguas VM como Java certamente funcionar bem sem esse tipo de acesso
TheLQ

6
Bem, você conhece muitos aplicativos Java para desktop?
Yoni Roit #

e o javascript no v8 do google, eu li muito rápido (tão rápido quanto java), posso ver a diferença quando executo uma animação js pesada no chrome e em outros navegadores. E com o crescimento de APIs para html5, o js realmente traz muito para a mesa, com o material da tela, você pode fazer o processamento de imagens e tudo ... então eu não acho que o js realmente tenha esse conjunto ruim de ferramentas, como vantagem, é mais de uma linguagem de programação funcional, (funções são objetos de primeira classe)
kapv89

1
apenas check-out prisma (agora WebRunner) e Google Gears, o material bom para mexer com, graças
kapv89

3
@YoniRoit: Eclipse, Vuze, sistema de pedidos do meu farmacêutico ...
haylem

2

A estrutura que vem à mente é o Adobe Air. Ele permite que desenvolvedores da Web usem Javascript / HTML para desenvolver aplicativos de desktop. Javascript / HTML por si só não é adequado para aplicativos de desktop, porque muitas vezes um aplicativo de desktop precisa acessar os serviços fornecidos pelo sistema operacional, por exemplo, abrir arquivos, iniciar outros aplicativos, etc. Javascript por si só não permite o acesso a esses serviços então você precisa de algo extra e estruturas como o Adobe Air fornecem essa cola extra.


1

Existem algumas maneiras de fazer isso agora. Existe o Mozilla Application Framework, que é frequentemente usado por navegadores da web como o Firefox, mas também é usado, por exemplo, pelo Komodo IDE do ActiveState .

Há também o Qt, que no Qt Quick tem CSS e uma linguagem semelhante ao Javascript.


bom, vai olhar para quadro aplicativo Mozilla
kapv89

1

Na IMO, não adotei HTML e CSS como uma forma de layout de GUIs, porque não há nenhum compilador conhecido para essas linguagens. Se eu tiver um erro no código, tenho que procurar por mim mesmo ou talvez nem o note (ou acesse o site HTML para testá-lo).

Em c ++, eu gosto que ele não me permita compilar, a menos que o código esteja correto (exceto para detectar problemas de tempo de execução).

Também não acredito que CSS e HTML joguem muito bem juntos ainda, como o uso de float em CSS - dependendo do código e uso do HTML - o resultado do float terá resultados diferentes - falta de consistência em comparação ao uso do posicionamento absoluto no win32 ou os ótimos gerenciadores de layout Java Swing.


3
Validadores HTML e CSS, que farão basicamente o que seu compilador C ++ está fazendo: verificações de sintaxe e verificações de tipo. Acredito que algum IDE poderoso venha com esses validadores.
Arnaud Le Blanc

1
Para a parte de posicionamento, o CSS também possui posicionamento absoluto, e o HTML5 tem muito mais do que os gerenciadores de layout do Swing. Alguns editores também permitem projetar sua GUI de maneira WYSIWYG.
Arnaud Le Blanc

0

Um dos principais motivos é que, se você não quiser que seu aplicativo seja roubado e copiado com facilidade, também será necessário criar um aplicativo que contenha um WebControl que esteja diretamente vinculado aos arquivos compactados de alguma forma.
De fato, existem aplicativos que fazem isso. O Titanium Appcelerator é um deles. Não estou recomendando que você o use, porque a última vez que o observei estava cheio de bugs e com pouco suporte. Você terá que fazer sua própria pesquisa para saber se vale a pena.


0

Um pouco tarde, mas se você usar o AsYouWish no Firefox (ou criar complementos do Firefox se não se importar de fechar os arquivos e testar com as ferramentas deles), poderá criar aplicativos em HTML que tenham privilégios de desktop. Se você usa o WebAppFind (atualmente apenas no Windows), também pode abrir arquivos da área de trabalho a partir da área de trabalho diretamente em um aplicativo Web (sem a necessidade de arrastar e soltar).

Exoneração de responsabilidade: Estes complementos (de código aberto) foram criados por mim.


1
Você precisa divulgar sua afiliação ao produto que está anunciando.
11247 Robbie W

0

Você pode usar Javascript, HTML e CSS para criar aplicativos para a Windows Store, Windows Phone e - presumo - XBox via "Universal Apps". (Para ficar claro, iniciando no Visual Studio usando Arquivo | Novo projeto ...)

Isso é usado para criar seu UX e o código do aplicativo em uma implementação das APIs nativas .

Naturalmente, em vez de isso ser visto como uma tentativa da Microsoft de abrir a plataforma para mais desenvolvedores, foi visto como obsoleto em desenvolvimento baseado em C # e XAML - que é claro que não eram, mas não é uma história tão boa ... independentemente de como esses não são necessariamente os tipos de aplicativos de desktop que a pergunta considera nativos.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.