Por que ainda estamos usando o DOM no navegador, em vez de um paradigma de área de trabalho

11

Pelo que entendi, a interface da Web foi desenvolvida para usar HTML porque, na época, não era possível simular um aplicativo de estilo de área de trabalho no navegador, como o Silverlight e o Flash, devido às limitações de largura de banda e possivelmente ao poder de processamento.

Por que não houve no passado e no presente uma aceitação e um impulso maiores por tecnologias como Flash / Silverlight? Pela minha experiência, eles são mais agradáveis ​​de desenvolver (é claro, minha opinião), e você não precisa lidar com a compatibilidade entre navegadores e navegadores mais antigos (na maior parte).

Manipular postbacks, AJAX, etc, parece um esforço extra desnecessário em comparação com o paradigma de desenvolvimento de aplicativos de desktop. O DOM e suas tecnologias complementares continuam prosperando principalmente no fato de o Silverlight / Flash exigir a instalação de um plug-in e alguns dispositivos móveis não suportam o plug-in?

The Muffin Man
fonte
1
Porque o DOM não é um cidadão de segunda classe. Silverlight e flash são abstrações com vazamentos. Você pode facilmente ter aplicativos nativos da área de trabalho, como no navegador, no DOM. Simplesmente executa e integra melhor que flash ou silverlight.
Raynos

Respostas:

17

Algumas razões pelas quais consigo pensar, de cabeça para baixo:

  • A pilha tradicional da web está bastante madura atualmente; os navegadores modernos ainda têm muito poucas peculiaridades, e projetar sites para eles é relativamente agradável, comparado a apenas cinco anos atrás
  • Embora existam diferenças entre navegadores, elas são menos relevantes do que as diferenças entre o SO e o hardware subjacentes
  • O paradigma de solicitação / resposta realmente funciona muito bem para muitas coisas, como apresentar conteúdo com muito texto
  • Os mecanismos de pesquisa não gostam muito do conteúdo do Flash ou do Silverlight
  • Flash e Silverlight são controlados por uma única empresa; usá-los significa que o suporte futuro da plataforma para o seu código está à mercê dessas empresas
  • Muitas coisas que você pode fazer com HTML não podem ser feitas com plug-ins: pense em favoritos, copiar e colar, tradução instantânea, folhas de estilo personalizadas
  • Os plug-ins não funcionam bem com navegadores não padrão - pense em navegadores de texto, navegadores de áudio e na ampla variedade de outros dispositivos que podem exibir páginas da web
  • Você não pode automatizar com facilidade os clientes Flash ou Silverlight, enquanto direcionar sites HTML a partir de scripts geralmente é bastante direto.
tdammers
fonte
Mais uma coisa que consigo pensar: esses plugins não são de código aberto. E algumas pessoas simplesmente não confiam nas coisas, com as quais não podem fazer git clone. É claro que você pode obter versões de código aberto, como Gource ou Moonlight, mas elas não são totalmente compatíveis.
Dr McKay
2
Na verdade, eu pensei no argumento de código aberto, mas não achei que fosse um problema grande o suficiente, do ponto de vista do mundo real (não importa o quão grande sou fã do FOSS eu sou). De qualquer maneira, o argumento "à mercê de uma única empresa" está relacionado e significativo.
22611 Thammers
4

A resposta simples para "Por que não existem aplicativos de desktop no Flash" é que você pode escrevê-los no Adobe Air, mas aparentemente poucos o fazem.

Acredito que a resposta é que as pessoas querem aplicativos da Web , não aplicativos Flash chamativos, e querem que os aplicativos da Web tenham exatamente como todos os outros aplicativos da Web que usam. Pessoalmente, quero poder usar um Flashblocker e ainda ter todas as funcionalidades do aplicativo.


fonte
3

Este é um efeito muito comum em nossa indústria.
Por exemplo, eu pessoalmente uso o haXe e implanto o código do meu cliente no Flash Player, porque IMHO é a melhor plataforma habilitada para web que posso atingir. Depois que o back-end em C # for concluído, provavelmente vou verificar se vale a pena usar o Silverlight, embora meu sentimento pessoal seja que ele morreu, antes de realmente decolar.

Sendo muito feliz com minha escolha de idioma, uma coisa que me pergunto com frequência é: Por que mais desenvolvedores da Web não usam uma linguagem de código aberto, multiparadigma, expressiva e de plataforma cruzada?

Há muitas razões, mas são sempre as mesmas. Um válido é a preferência pessoal. Mas muitas vezes tudo se resume a ignorância ou relutância em relação a novas tecnologias / nichos.
No que diz respeito ao Flash, tive vários argumentos sobre por que ele tem seu lugar e por que usá-lo. As pessoas geralmente argumentam que o objetivo principal do Flash é criar sites sofisticados que carregam por muito tempo e apresentam um desempenho horrível (e espalham muitas outras informações erradas).
De fato, o oposto é verdadeiro e aplicativos como Aviary Phoenix ou Sliderocket e jogos como Koyotl e Tanki Online provam isso. O Flash é uma plataforma madura para criar uma experiência semelhante à da área de trabalho no navegador.

No final, muitas decisões estratégicas são tomadas por pessoas incompetentes, que preferem seguir as tendências e preferem confiar em algum blogueiro sofisticado do que em seus desenvolvedores. E quem realmente tem muitas idéias erradas na cabeça.

As novas tecnologias / nichos sempre lutam pela aceitação, a menos que realmente façam um avanço. Ruby, por exemplo, conseguiu isso através do Rails e o grande hype ao seu redor. O Flash foi tão inovador para os designers, porque na década de 90 as pessoas pensavam que o estridente era bom e foi a primeira plataforma amplamente difundida que permitiu implementar exatamente isso.
Apesar do Flex, o Flash nunca teve um avanço tão grande para os desenvolvedores. Possivelmente porque GWT , qooxdoo e muitas outras estruturas de implantação em HTML são boas o suficiente para não usar Flex ou Flash, e há significativamente mais desenvolvedores de Java e JavaScript (aparentemente as empresas preferem escolher tecnologias nas quais há uma grande quantidade de funcionários em potencial) )

Atualmente, você não precisa escrever seu site AJAX do zero. Você não pode realmente entender HTML e fazê-lo de qualquer maneira, no idioma de sua escolha.

No momento, o HTML5 é bastante anunciado e promovido e muitas pessoas inferem a morte do Flash a partir disso. Muitas razões são apresentadas, porque o HTML5 é melhor que o Flash. O mais provável é que você tenha cada vez mais sites cheios de recursos e cheios de recursos criados com HTML5. Porcaria baseada em padrão não é melhor que porcaria de terceiros.

No momento, muitas coisas estão acontecendo. O iPhone e outros dispositivos semelhantes criaram um mercado gigante, que não existe há apenas quatro anos. E os padrões da web estão finalmente sendo impulsionados por todas as grandes empresas na mesma direção (vagamente).

Pessoalmente, espero que toda a agitação se resolva dentro de um ou dois anos, que o HTML5 se estabilize, amadureça e se espalhe até então, enquanto a Apple espera ter uma postura menos despótica e o Flash Player se torne mais rápido em plataformas móveis. E que, uma vez concluído esse grande passo, as pessoas voltarão a escolher a ferramenta certa para o trabalho, exatamente como era depois que as guerras dos navegadores pararam. A partir de agora, há muito barulho para as pessoas pensarem claramente.

back2dos
fonte
3
Inicie um leitor de tela, desligue a tela e tente. Ainda funciona?
BillThor
1
"Por que mais desenvolvedores da Web não usam uma linguagem de código aberto, multiparadigma, expressiva e multiplataforma?" - Você quer dizer, como Javascript?
André Paramés
1
@ BillThor: Por uma questão de fato, isso depende da implementação. O Flash Player pode interagir com os leitores de tela . Poucas pessoas optam por aproveitar essas possibilidades. Ou porque eles não se importam, ou porque é inútil. Por mais que eu tenha pena dos deficientes visuais, não vejo muito valor em tornar acessíveis os aplicativos / jogos que vinculei para os leitores de tela. Também tenho certeza de que você terá dificuldade em usar o Photoshop com a tela desligada.
Jul2
1
@ BillThor: Aparentemente, você não conseguiu entender o ponto principal da minha mensagem: as pessoas devem voltar a usar a ferramenta certa para o trabalho, em vez de usar o que é popular. O HTML é uma ótima ferramenta para aplicativos com muito conteúdo que pode ser capturado com sua semântica. Além disso, não é canonicamente a melhor ferramenta.
back2dos
1
@ back2dos: Não perca nem um pouco. Se eu usasse a melhor ferramenta para o trabalho para tudo, estaria usando uma dúzia de ferramentas, algumas delas obscuras. Então a manutenção se torna extremamente difícil. Em vez disso, uso ferramentas com as quais outras pessoas da equipe têm experiência. A ferramenta certa para um projeto nem sempre é uma ferramenta especializada.
BillThor
1

As tecnologias são todas imaturas. Veja quantas mudanças ocorreram em qualquer bloco de 5 anos. Com as tecnologias para celular / tablet, isso mudará novamente.

Eu vejo isso como uma fusão. Não é apenas HTML / DOM ou plug-ins. Vi extensões HTML para acessar os recursos do dispositivo. Os plug-ins suportam conceitos da área de trabalho e da Web, além de trazerem suas próprias idéias.

Dependendo da sua perspectiva, isso é bom ou ruim. No momento, minha equipe está trabalhando no SilverLight (não na Web). Não é uma tecnologia ruim. Você pode criar alguns aplicativos muito poderosos e muito atraentes. No entanto, ele vem com muita complexidade em relação aos seus antecessores (.Net e talvez Win32) porque você não podia fazer o mesmo com essas tecnologias e as expectativas eram menores. Hoje, a maioria dos desenvolvedores que escrevem qualquer aplicativo geralmente está competindo (expectativas, não concorrência real) com o melhor das tecnologias de desktop, web e móvel combinadas (velocidade, recursos, atratividade, usabilidade, ...)

Jim Rush
fonte