SVG: O primo Itt dos padrões abertos
Enviado por Rodrigo Delduca (rodrigodelducaΘgmail·com):
“SVG não é um formato muito valorizado dentro do eco-sistema de formatos do W3C. Primo menos famoso do HTML5, infelizmente não virou buzzword. Um arquivo neste formato, se bem preparado, tem a capacidade de substituir o Flash em muitas aplicações. Mas ele não se limita apenas à web. O SVG pode ser um poderoso formato de troca de dados, bem como um excelente formato de saída gráfica de ferramentas. Gostaria de, neste curto artigo, expor pontos positivos e negativos, a fim de compartilhar minha estima por este formato vetorial.” [referência: pontov.com.br]
• Publicado por Augusto Campos em
2012-03-23
“Ta-na-na-na!…clk, clk!…Ta-na-na-na!…clk, clk!…ta-na-na-na!,…ta-na-na-na!,…ta-na-na-na!”
@André
Esqueceste o final
…clk,clk!
XML + XHTML + ‘XSL-FO’ + SVG + VRML + Suporte a áudio e vídeo = “Tudo o que qualquer um pode querer da web”.
SVG é mais limitado e burocrático pra desenvolver do que o Flash e no IE precisava de plugin também.
Vamos ver quando o HTML5 ficar pronto, se vai conseguir ter a maioria dos recursos ou se vamos voltar ao inferno da incompatibilidade.
Para formatos gráficos o SVG concorreria com o CDR, o AI, EPS, PS, PDF…então fica difícil, principalmente porque lidamos com uma comunidade de mente muito fechada, como a dos designers.
Pessoal, acho que vocês não compreenderam muito bem o meu artigo. A ideia não é SVG para a web, mas SVG como um formato de dados para ser usado em uma aplicação. Eu costumo usar tanto para montar elementos de interface gráfica, quanto para billboards e decals num mundo 3D, quanto como ferramenta de debug. Meu principal uso atualmente é para testar o resultado de processamento do meu pré-processador de geometria ( é bem mais fácil avaliar o bom funcionamento olhando para uma imagem do que lendo números no console e tentando rabiscar o equivalente no papel ).
Vejam que tudo isso eu faço em um programa C++ ou Java. Gosto muito de SVG, mas conforme eu digo no artigo, ainda não existem boas ferramentas para explorar todo o potencial do formato. No dia a dia, entre outras coisas, também programo em ActionScript e embora tenha horror a “programas” feitos usando o paradigma de timeline, eu sei que para animações talvez seja a metafora mais apropriada. Sem falar que depois do AS3 e do SDK open source, passei a ter mais respeito pela VM da Adobe.
Curioso eu estar comentando isso agora que estou aqui batendo cabeça para fazer o parsing do convoluto formato de gradientes do SVG, para renderizar numa View Android, parseando tudo em Javão ( Ok que eu estou estuprando o meu parser, colocando um gradiente linear com 5 stops, mas eu quero que minha lib seja flexivel ).
@Porfírio: Trabalhei durante 1 ano e meio com XSL e posso dizer seguramente que nunca entendi direito essa parada! =-P
E quanto ao VRML, acho que pega mal o fato de ja não termos plugins funcionais de VRML in the wild.
Eu comecei a escrever também um parser de VRML, mas desanimei. VRML1 é meio esquisito, porque ele é statefull e acaba requerindo umas gambis pra funcionar ( tanto que o Blender ja exporta com gambi ). VRML2 é um bom formato, mas é complexo demais. Bateu complexo de deus no comitê que projetou o formato.
Eu consegui fazer parsing de algumas coisas, mas acabei optando por WavefrontOBJ + descritor externo de semântica. Minha ideia era fazer uma engine 3D que fosse um superset de VRML, mas logo acordei pra realidade.
@bebeto_maya:
Alguns designers sequer conhecem o SVG. E você tentar explicar os benefícios de se usar o SVG tende a ser uma luta. Some-se isso ao fato de que muitas ferramentas não oferecem um bom suporte. Eu descrevi um pouco mais sobre isso numa página sobre meu triangularizador de SVGs. Texto aqui: https://sites.google.com/site/montysprojects/current-projects/svgtriangulator/compatibility
SVG é o formato nativo do Inkscape. Quem trabalha com programas gráficos em FOSS usa muito. Os mapas do Brasil na Wikipedia estão em SVG, assim como muitos outros gráficos em melhor qualidade.
SVG é relegado faz tempo por todos se acomodarem com flash. Tanto por desenvolvedores dos browsers quanto por quem cria páginas.
Ferramentas para SVG sofrem com isso também, e comparar com ferramenta e padrões, ambos proprietários, é covardia.
Ferramente e padrão proprietário nascem praticamente juntos, as vezes quase não se distingui onde acaba um e começa o outro.
Quem desenvolve em JME, o SVG é o padrão suportado pra desenhos vetorias.
@José Antonio Meira da Rocha: E é da Wikipedia que eu pego muitos dos meus SVGs de teste.
@Weber Jr.: O Illustrator exporta SVG, mas acho que ele da uma leve cagadinha nas cores. Nesse ponto, eu ainda acho nosso amigo Inkscape bem melhor. Mas eu reitero – O foco do artigo é no formato de dados, voltado ao uso em jogos.
@marcosalex: Em qual JSR? Quais aparelhos suportam? OpenVG? Ja vi vários aparelhos que suportavam inclusive M3G, mas não suportavam nada de SVG. Eu sei que alguns suportam SVGTiny, mas é como eu disse no artigo: SVGTiny é um ser mitológico. Em toda minha carreira, só construi um arquivo SVGTiny uma única vez na vida, usando uma ferramenta proprietária da Nokia, do kit de desenvolvimento Symbian. E Mal ou bem, SVG é relativamente fácil de parsear e já esta ficando barato suporta-lo por completo.
@José Antonio Meira da Rocha: BTW, teu site é bem bacana.
@Daniel Monteiro, qualquer celular que aceite o MIDP 2.1.
A API pra manipular SVG foi liberada pela Sun no JME 3.0. Infelizmente a Sun já estava em processo de quebra e o JME já não conseguia acompanhar a evolução do hardware dos smartphones.
@Marcos, pode me passar um link pra um JavaDoc?