2010/02/08

HTML5 - O Fim do Flash

Saltem até este Sketchpad. À partida, nada de impressionante... até repararem que o site é feito exclusivamente em HTML e Javascript... sem ponta de Flash à vista!

Se isso não é suficiente para vos impressionar, então espreitem também este editor e uploader de imagens offline em HTML5, que -se estiverem a usar o Firefox 3.6- vos permite:
  • Arrastar imagens do vosso desktop ou da web para a aplicação
  • Ver um preview da imagem que irão enviar
  • Arrastar os previews da imagem para o lixo para apagar a imagem
  • Redimensionamento automático para imagens com largura superior a 600px
  • Edição da imagem antes de fazer upload:  rotação, flip, crop, e passar a preto-e-branco
  • Ao editar a imagem, é gravada localmente, permitindo a edição se estiverem offline. Podem fechar a página, reiniciar o Firefox ou até o computador: quando voltarem à página a imagem estará disponível para ser enviada
  • Permite fazer o upload de múltiplas imagens em simultâneo
  • Utiliza o HTML5 Offline Application Cache que a torna extremamente rápida, já que é armazenada toda no computador local.

As fronteiras entre webapps e apps locais vão assim tornando-se cada vez mais ténues, e a utilização de HTML5 e javascript permitirá - a médio/longo prazo - realizar *todo* o tipo de coisas que se possam imaginar, de forma standard e sem necessidade de plugins proprietários.

14 comentários:

  1. Ja o Sting dizia

    One day we'll dance on their graves
    One day we'll sing our freedom
    One day we'll laugh in our joy
    And we'll dance


    (na altura o assunto era mais serio do que web standards)

    :)

    ResponderEliminar
  2. eu estou a pensar fazer um programa de processamentos de salários e vou sinceramente usat html5 fica assim livre a plataforma, nada de flash nem java

    ResponderEliminar
  3. Eu não quero parecer um Flash Fan Boy, mas a mim parece-me que as duas conclusões apresentadas pelo autor são um pouco tendenciosas:

    "de forma standard e sem necessidade de plugins proprietários."

    1) De forma standard, será que quanto mais complexas forem as aplicações e mais pormenores tiverem não vamos ter 4 implementações diferentes (IE,Chrome,Opera, Mozilla)? É que se os browsers respeitassem os standards isso sim seria uma mais valia.

    2) O FP tem uma taxa de penetração de 99,98,96 para 8,9 e 10 respectivamente. Alguém hoje em dia vê um pc sem FP?

    3) A questão que mais me preocupa é olhar para o HTML/JS e Ajax ao barulho o pensar. Como é que eu vou fazer refactoring a uma app desse tamanho? Como é que eu vou aplicar os padrões de software que aplico em Java ou AS3? E sim IDE's bons não faltam por aí, mas só tentam dar o que a base das linguagens não oferecem.

    Meninos, o HTML 5 não vai substituir o FP e o Java como tecn. cliente já está para desaparecer há muito tempo, tem os dias contados todos os anos. O HTML5 vai ser uma grande mais valia, que seja bem vindo... para aplicações de grande porte esqueçam.

    Antes que alguem comente:"Ah, mas a google só usa HTML" - Dou-lhes mérito pelos google docs, porque tirando essa as outras aplicações devem ter 10 linhas de código no cliente, incluindo gmaps.

    Bem haja.

    ResponderEliminar
  4. Hmmmm... Interessante! Nenhum dos dois exemplos funciona em IE e o segundo apenas em Firefox 3.6. Ainda bem que estamos a falar de tecnologias de utilização massiva que não exigem que as pessoas instalem software nem plugins nos seus computadores... Ou não!...

    Como disse o Vítor, o Flash não vai desaparecer por causa do HTML 5 e o Java como tecnologia cliente já está com os dias contados praí há uns 5 anitos! (O problema é que lhe esqueceram de dizer isso e o tipo teima em não ir para a cova por iniciativa própria!)...

    ResponderEliminar
  5. @Rui

    Vamos lá ter calma... embora o IE tenha a "maioria" não é propriamente um exemplo da adopção dos standards! Chegando ao ponto de ter sido o Google a "sucatar" o suporte para o Canvas no IE!

    Portanto, a nível de HTML5, infelizmente a MS parece estar mais interessada em atrasar o passo e ir vendendo o seu silverlight.

    Quanto ao segundo exemplo, é apenas um exemplo do que está para vir. Estamos a falar das "novidades", e que demorarão tempo até se tornarem comuns, como em tudo o que hoje damos por "adquirido." Também o drag'n'drop de elementos dentro da janela foi em tempo uma função exeperimental, e que agora é "comum."
    O mesmo acontecerá com o drag'n'drop de para dentro/fora do broswer.


    O Google vai descontinuar o suporte ao IE6.0 - e nessa altura muitas pessoas poderão começar a ter maior noção da importância da escolha de um browser mais capaz.
    Não esquecer ainda que temos o Chrome OS anunciado para breve, que permitirá ainda mais chamar a atenção para essas coisas:
    Quando uma pessoa vir que tem muito mais funcionalidades num browser "compatível", que lhe ofereça geolocalização, modo offline, animações, interactividde, etc - e que num IE funciona de forma "limitada"... são capazes de começar a pensar 2x no "icon" em que clicam para irem à internet.

    E novamente... javascript não é "java"! :)

    ResponderEliminar
  6. @Vitor

    Por alguma coisa quando falo no "caminho" que leva tudo para o HTML/Javascript refiro-me sempre a coisas que levarão o seu tempo.

    O Flash tem ainda um grande peso - ninguém o nega - mas que começa a ter um declínio a que a Adobe não está desatenta.

    O YouTube e Vimeo terem suporte para vídeo HTML5 (ainda que de forma "experimental") é já sinal das coisas que estarão para vir.

    Se por enquanto ainda há implementações diferentes, o sentido é para que o standard englobe e implemente essas funcionalidades no futuro. Tal como o fez com o vídeo e aúdio e o canvas, neste recente versão.


    Quanto ao javascript, parece-me que estás a confundir JAVA com javascript - coisas bem diferentes. É que se te referes ao javascript, não está nada para desaparecer; muito pelo contrário, como se pode atestar por todos os milhões de "web apps" que se tornam cada vez mais populares.

    Desenvolver grandes projectos em HTML/Javascript? Qual o problema: é o que o Google faz (tens o exemplo do Google Web Toolkit, que te permite programas sistemas complexos em Java, e deixá-lo "compilar" aquilo para JS), tal como a MS faz com o código client side dos ASPX.

    E se o Google e MS não exemplos que consideres "de grande porte", então... quais serão?

    O que é certo é que "apps" que até há pouco tempo seriam impensáveis fazer sem recurso a Flash/ActiveX/java/etc. são agora feitas em HTML/JS puro.

    Tens desktops virtuais: http://www.jsdesk.com/index.php

    Tens sites com geolocalização "mobile": http://nextstop.com

    Não digo que a transição seja feita de um dia para o outro (ou de um "ano" para o outro) - mas o que é certo é que serão cada vez menos as funcionalidades que o Flash poderá oferecer face às páginas HTML/JS e às suas novas capacidades.

    Aliás... a nível de desenvolvimento, não me custa nada acreditar que -quando o momento chegar- o Flash enquanto "IDE" possa evoluir no sentido de permitir a criação de sites em HTML/JS como "opção de exportação/output". E que resolverá o problema de todos os que estiverem habituados a desenvolver nele e não se quiserem adaptar ao javascript/CSS/HTML "puro."

    ResponderEliminar
  7. Carlos,

    O meu comentário não tem nada a ver com o o facto do IE ser ou não um bom exemplo (concordo contigo em número e género).

    Queria apenas ressaltar que a grande maioria das pessoas não vai ter acesso a um browser com capacidade para fazer a renderização correcta do HTML5 nos próximos tempos. O facto de o IE6 ainda andar por aí devia ser um bom exemplo disto.

    Como tal, é completamente falso o argumento que o HTML5 vai ser uma solução que aparece mágicamente nos computadores que acedem à internet sem que as pessoas tenham que instalar novo software.

    A grande maioria das pessoas que acedem hoje em dia à internet não vão estar sensibilizadas para "um browser mais capaz". Vão simplesmente usar o que vem no sistema operativo que, por estes dias, será provavelmente Windows Vista e Windows 7 com IE7 ou IE8 (que não suportam HTML5).

    ResponderEliminar
  8. Sim, concordo completamente. Mas acho que isso poderá mudar mais rapidamente do que se pensa...

    Deixa que as pessoas comecem a receber umas mensagens no seu browser ao acederem ao Gmail, YouTube, etc a dizerem "clique aqui para uma melhor experiência"... e que isso lhes instale um Chrome ou coisa parecida. :)
    (Tal como actualmente o fazem para instalar o Flash quando acedem a um site que precise disso pela primeira vez, e o fazem sem pensar duas vezes.)

    Mas, vejamos como as "%" de mercado dos browser irão evoluindo neste ano de 2010... :)

    ResponderEliminar
  9. Fazendo algumas coisinhas em Flash, acho que mesmo estas apps em html 5 não apresentam a característica mais poderosa do flash, que é permitir mesmo nos programadores mais avançados a possibilidade de trabalhar com condicionais associadas ao efeito timeline.
    Depois tens o problema que o código fica "visível" a qualquer um, e como sabes muitos programadores detestam isso, quando em utilizações comerciais.
    Nos exemplos que deste as animações são lineares com coordenadas, no flash pode-se ir muito mais além.
    Abraços.

    ResponderEliminar
  10. @gatopreto

    Sim, mas cada vez menos coisas podem ser feitas "apenas" em Flash.
    E quanto à segurança do código... o Flash também pode ser facilmente "descompilado" e revertido para código interpretável.

    ResponderEliminar
  11. E atenção que não quero parecer um fanático anti-flash!
    Sou o primeiro a dizer que o Flash serviu (e ainda serve) um papel fundamental ao permitir serviços de uma forma "equalitativa" num sem número de plataformas. Tal como qualquer outra coisa, há muitos bons (e menos bons) exemplos do seu uso.

    Penso apenas é que, será uma questão de tempo até que deixe de ser necessário da forma que o é hoje, sendo essa funcionalidade servida pelas evoluções que o HTML/JS/CSS vai tendo.

    ... mas que vai demorar tempo, é certo! :)

    ResponderEliminar
  12. Basta a Microsoft passar a suportar também o HTML5 no IE com uma actualização de versão ou apenas update e a coisa mudaria muito mais.
    Se mal se ligar um browser (Chrome, Safari, Firefox e o IE) o HTML5 estiver suportado logo de inicio e o HTML5 estiver muito mais utilizado na generalidade dos sites, que a situação do Flash passa a ser entendido de maneira diferente e até vocacionado para dar suporte a situações especificas. Para já ainda não é assim... mas gradualmente acabará por ser.
    Acredito também que muitos dos sites terão de repensar a sua construção nesta nova era da utilização crescente de dispositivos móveis, que pedem tecnologias e standards mais eficientes.
    A Google, Apple, o Vimeo e o YouTube já suportam HTML5 pelo que não será de admirar mais parceiros a juntarem-se nesta facção. Basta ganharem muita força que a Adobe vai começar a ver a vida a andar para trás com o Flash.

    @Carlos Martins: a aplicação Sketchpad é fabulosa! Aqui no Safari foi só ir ao link... nada mais foi necessário.

    ResponderEliminar
  13. O que o Vimeo e o Youtube fizeram é puramente experimental. Tal qual está, o suporte para vídeo no HTML5 não suporta muitas das coisas de que o YouTube, por exemplo, depende: Cue Points, Overlays de publicidade, etc. É por isso que mesmo seleccionando o HTML5 para visualizar o vídeos do YouTube, todos os que tiverem publicidade embebida são apresentados na mesma com o Flash.

    Eu teria muito mais cuidado a anunciar o fim do Flash porque estamos a partir do princípio que a Adobe vai ficar muito sentadinha à espera que o HTML5 seja amplamente suportado pela maioria dos browsers. Isso não acontecerá! Enquanto os produtores de browsers estiverem envolvidos em novas guerras (desta vez vão ser os standards de vídeo), a Adobe, a Microsoft, a Oracle e a Apache vão fazer evoluir as suas plataformas até serem outra vez as únicas soluções para aquilo que o HTML(5) ainda não vai ser capaz de fazer.

    Estas tecnologias desenvolvidas por uma única empresa que não têm que se preocupar em agradar a gregos e troianos num qualquer comité vão estar sempre um passo à frente dos standards e estes vão sempre atrás providenciar formas alternativas "aprovadas" para fazer o que os plugins conseguiam fazer muito antes. Dito de outra forma, os plugins como o Flash traçam o caminho a seguir e "auscultam" o público acerca das suas preferências e interesses. Como têm ciclos de desenvolvimento muito curtos são capazes de mais rapidamente responder ao mercado e progredir a internet para além daquilo que seria naturalmente possível com as linguagens standard.

    Pensem só numa coisa: Acham que o vídeo na internet seria o que é hoje se não fosse pelo Flash? Se a Adobe não tivesse explorado essa vertente do plugin e tornado tão fácil a inclusão de vídeo numa página web, talvez hoje a W3C não estivesse tão interessada em estabelecer uma tag de vídeo para a nova versão do HTML.

    O facto de o HTML5 trazer tags como o Canvas e o Vídeo só vem confirmar que o Flash seguiu pelos caminhos correctos, o que só me enche de esperança para as evoluções futuras da plataforma.

    ResponderEliminar
  14. Novamente, não estou a anunciar a "morte do Flash" para amanhã! :)
    São coisas para analisarmos daqui a 3, 5 ou 10 anos...

    Se por cá andavam "no século passado", devem lembrar-se certamente da época em que ter o real player era também dado como garantido em qualquer computador - e esse sim, foi um dos impulsionadores do vídeo online - e hoje veja-se o que lhe aconteceu.

    A *longo prazo* prevejo que o Flash tenha o mesmo fim. Tal como "roubou" o mercado do vídeo (e mais) ao Real Player, eventualmente o HTML lhe fará o mesmo.

    Tal como eventualmente todos andaremos em carros eléctricos e coisas que tais. Só que - como disse - não é "já amanhã"! :)

    Mas... vou colocar um "lembrete" para voltarmos a este assunto daqui por 5 anos... e veremos qual a evolução das coisas.

    ResponderEliminar