Site icon Embarcadero RAD Studio, Delphi, & C++Builder Blogs

Turbine sua interface de usuário com Skia4Delphi – Repetição do Webinar

skia4delphi
sk04 5467807 2
  • Ambos JPEG e PNG são formatos de imagem raster/bitmap
  • PNG é sem perdas, com reprodução 100% precisa da imagem
  • JPEG tem perdas, perdendo alguma fidelidade de imagem cada vez que é editado ou comprimido

Comparações de tamanho de arquivo de imagem

Animações vetoriais?

Lottie é um formato de animação baseado em JSON.

Name Type Size Relative
dev_coding.tgs tgs (zipped json) 55,834
dev_coding.mp4 mpeg4 (lossy) 373,642 7x
dev_coding.json lottie (json) 583,485 10x
dev_coding.gif gif (lossless) 5,020,259 90x

Design da interface do usuário

  • Construir um projeto com Skia4Delphi + Delphi 11
    • Faça uma bela aplicação com VCL ou FMX
  • Poste no GitHub
    • Inclua vídeos e capturas de tela e compartilhe-os nas mídias sociais.
  • Ganhe prêmios e elogios
    • O Grande Prêmio é um Apple M1 Mac Mini para que você possa aproveitar o excelente novo suporte para Apple Silicon em Delphi 11 Alexandria

Mais detalhes em breve: blogs.embarcadero.com/?p=140459

ACOMPANHE O PROJETO

Mais links

Notas

  1. Para a plataforma Mac, quando GlobalUseMetal é verdade junto com GlobalUseSkia, o desempenho com o FMX clássico é semelhante.
  2. No iOS não há link compartilhado (bibliotecas compartilhadas: dll, .so, .dylib), apenas estático (neste caso .a). Neste .a (equivalente a .lib no Windows), ele tem todos os arquivos obj gerados, porém, apesar de ter 60 MB, o tamanho do app resultante é bem menor, pois só é compilado junto com as funções utilizadas. Em outras palavras, é comum que as bibliotecas estáticas sejam maiores que as bibliotecas compartilhadas, mas a saída resultante é muito menor e não é maior do que o tamanho normal que uma biblioteca compartilhada teria.
 

Por que formatos vetoriais?

  • Tamanhos de arquivo muito menores
  • Infinitamente redimensionável e escalável
  • Animações mais suaves
  • Edição e personalização mais fáceis

Por que gráficos vetoriais?

SVG Source é XML (que facilmente compacta via Zip)

PNG e JPEG são binários (já compactados)

  • Ambos JPEG e PNG são formatos de imagem raster/bitmap
  • PNG é sem perdas, com reprodução 100% precisa da imagem
  • JPEG tem perdas, perdendo alguma fidelidade de imagem cada vez que é editado ou comprimido

Comparações de tamanho de arquivo de imagem

Animações vetoriais?

Lottie é um formato de animação baseado em JSON.

Name Type Size Relative
dev_coding.tgs tgs (zipped json) 55,834
dev_coding.mp4 mpeg4 (lossy) 373,642 7x
dev_coding.json lottie (json) 583,485 10x
dev_coding.gif gif (lossless) 5,020,259 90x

Design da interface do usuário

  • Construir um projeto com Skia4Delphi + Delphi 11
    • Faça uma bela aplicação com VCL ou FMX
  • Poste no GitHub
    • Inclua vídeos e capturas de tela e compartilhe-os nas mídias sociais.
  • Ganhe prêmios e elogios
    • O Grande Prêmio é um Apple M1 Mac Mini para que você possa aproveitar o excelente novo suporte para Apple Silicon em Delphi 11 Alexandria

Mais detalhes em breve: blogs.embarcadero.com/?p=140459

ACOMPANHE O PROJETO

Mais links

Notas

  1. Para a plataforma Mac, quando GlobalUseMetal é verdade junto com GlobalUseSkia, o desempenho com o FMX clássico é semelhante.
  2. No iOS não há link compartilhado (bibliotecas compartilhadas: dll, .so, .dylib), apenas estático (neste caso .a). Neste .a (equivalente a .lib no Windows), ele tem todos os arquivos obj gerados, porém, apesar de ter 60 MB, o tamanho do app resultante é bem menor, pois só é compilado junto com as funções utilizadas. Em outras palavras, é comum que as bibliotecas estáticas sejam maiores que as bibliotecas compartilhadas, mas a saída resultante é muito menor e não é maior do que o tamanho normal que uma biblioteca compartilhada teria.
 

Benefícios SVG

  • Resolução independente e escalável
  • Estilo (pode facilmente mudar de cor)
  • Arquivo muito menor
  • Para ícones, sempre prefira SVG a imagens estáticas como PNG
  • Milhares de ícones e imagens gratuitos disponíveis na web

Benefícios da Lottie Animation

Por que formatos vetoriais?

  • Tamanhos de arquivo muito menores
  • Infinitamente redimensionável e escalável
  • Animações mais suaves
  • Edição e personalização mais fáceis

Por que gráficos vetoriais?

SVG Source é XML (que facilmente compacta via Zip)

PNG e JPEG são binários (já compactados)

  • Ambos JPEG e PNG são formatos de imagem raster/bitmap
  • PNG é sem perdas, com reprodução 100% precisa da imagem
  • JPEG tem perdas, perdendo alguma fidelidade de imagem cada vez que é editado ou comprimido

Comparações de tamanho de arquivo de imagem

Animações vetoriais?

Lottie é um formato de animação baseado em JSON.

Name Type Size Relative
dev_coding.tgs tgs (zipped json) 55,834
dev_coding.mp4 mpeg4 (lossy) 373,642 7x
dev_coding.json lottie (json) 583,485 10x
dev_coding.gif gif (lossless) 5,020,259 90x

Design da interface do usuário

  • Construir um projeto com Skia4Delphi + Delphi 11
    • Faça uma bela aplicação com VCL ou FMX
  • Poste no GitHub
    • Inclua vídeos e capturas de tela e compartilhe-os nas mídias sociais.
  • Ganhe prêmios e elogios
    • O Grande Prêmio é um Apple M1 Mac Mini para que você possa aproveitar o excelente novo suporte para Apple Silicon em Delphi 11 Alexandria

Mais detalhes em breve: blogs.embarcadero.com/?p=140459

ACOMPANHE O PROJETO

Mais links

Notas

  1. Para a plataforma Mac, quando GlobalUseMetal é verdade junto com GlobalUseSkia, o desempenho com o FMX clássico é semelhante.
  2. No iOS não há link compartilhado (bibliotecas compartilhadas: dll, .so, .dylib), apenas estático (neste caso .a). Neste .a (equivalente a .lib no Windows), ele tem todos os arquivos obj gerados, porém, apesar de ter 60 MB, o tamanho do app resultante é bem menor, pois só é compilado junto com as funções utilizadas. Em outras palavras, é comum que as bibliotecas estáticas sejam maiores que as bibliotecas compartilhadas, mas a saída resultante é muito menor e não é maior do que o tamanho normal que uma biblioteca compartilhada teria.
 

Arquitetura

  • Implantado por meio do Deployment Manager
    • Basta clicar com o botão direito do mouse em “Ativar Skia” para adicionar ao gerenciador de implantação.
  • Bibliotecas nativas para todas as plataformas
    • OSXARM64, Win32, Win64, Android, Android64, iOSDevice64, Linux64 e OSX64
  • Componentes e bibliotecas do Delphi
    • Os componentes instalados no Tool Palette para VCL e FMX, com a biblioteca adicionada ao caminho de pesquisa

Redistribuíveis

Platform Library Size
Win32 sk4d.dll 18 mb
Win64 sk4d.dll 18 mb
Android libsk4d.so 19 mb
Android64 libsk4d.so 24 mb
iOSDevice64 sk4d.a 60 mb
Ubuntu64 libsk4d.so 22 mb
RedHat64 libsk4d.so 22 mb
OSX64 sk4d.dylib 20 mb
OSXARM64 sk4d.dylib 19 mb
Sizes based on v3.4.0 for 11.1 Alexandria

Qualidade de renderização

Aliased vs. Anti-aliased

A qualidade do desenho é melhorada, em alguns cenários, significativamente

Benefícios SVG

  • Resolução independente e escalável
  • Estilo (pode facilmente mudar de cor)
  • Arquivo muito menor
  • Para ícones, sempre prefira SVG a imagens estáticas como PNG
  • Milhares de ícones e imagens gratuitos disponíveis na web

Benefícios da Lottie Animation

Por que formatos vetoriais?

  • Tamanhos de arquivo muito menores
  • Infinitamente redimensionável e escalável
  • Animações mais suaves
  • Edição e personalização mais fáceis

Por que gráficos vetoriais?

SVG Source é XML (que facilmente compacta via Zip)

PNG e JPEG são binários (já compactados)

  • Ambos JPEG e PNG são formatos de imagem raster/bitmap
  • PNG é sem perdas, com reprodução 100% precisa da imagem
  • JPEG tem perdas, perdendo alguma fidelidade de imagem cada vez que é editado ou comprimido

Comparações de tamanho de arquivo de imagem

Animações vetoriais?

Lottie é um formato de animação baseado em JSON.

Name Type Size Relative
dev_coding.tgs tgs (zipped json) 55,834
dev_coding.mp4 mpeg4 (lossy) 373,642 7x
dev_coding.json lottie (json) 583,485 10x
dev_coding.gif gif (lossless) 5,020,259 90x

Design da interface do usuário

  • Construir um projeto com Skia4Delphi + Delphi 11
    • Faça uma bela aplicação com VCL ou FMX
  • Poste no GitHub
    • Inclua vídeos e capturas de tela e compartilhe-os nas mídias sociais.
  • Ganhe prêmios e elogios
    • O Grande Prêmio é um Apple M1 Mac Mini para que você possa aproveitar o excelente novo suporte para Apple Silicon em Delphi 11 Alexandria

Mais detalhes em breve: blogs.embarcadero.com/?p=140459

ACOMPANHE O PROJETO

Mais links

Notas

  1. Para a plataforma Mac, quando GlobalUseMetal é verdade junto com GlobalUseSkia, o desempenho com o FMX clássico é semelhante.
  2. No iOS não há link compartilhado (bibliotecas compartilhadas: dll, .so, .dylib), apenas estático (neste caso .a). Neste .a (equivalente a .lib no Windows), ele tem todos os arquivos obj gerados, porém, apesar de ter 60 MB, o tamanho do app resultante é bem menor, pois só é compilado junto com as funções utilizadas. Em outras palavras, é comum que as bibliotecas estáticas sejam maiores que as bibliotecas compartilhadas, mas a saída resultante é muito menor e não é maior do que o tamanho normal que uma biblioteca compartilhada teria.
 

Compatibilidade

  • Delphi 11+: Todas as plataformas
  • Delphi 10.3+: Windows e Android
  • Delphi XE7+: Windows

Disponível por …

Biblioteca Skia4Delphi

Banco de Renderização de Aplicativos

Arquitetura

  • Implantado por meio do Deployment Manager
    • Basta clicar com o botão direito do mouse em “Ativar Skia” para adicionar ao gerenciador de implantação.
  • Bibliotecas nativas para todas as plataformas
    • OSXARM64, Win32, Win64, Android, Android64, iOSDevice64, Linux64 e OSX64
  • Componentes e bibliotecas do Delphi
    • Os componentes instalados no Tool Palette para VCL e FMX, com a biblioteca adicionada ao caminho de pesquisa

Redistribuíveis

Platform Library Size
Win32 sk4d.dll 18 mb
Win64 sk4d.dll 18 mb
Android libsk4d.so 19 mb
Android64 libsk4d.so 24 mb
iOSDevice64 sk4d.a 60 mb
Ubuntu64 libsk4d.so 22 mb
RedHat64 libsk4d.so 22 mb
OSX64 sk4d.dylib 20 mb
OSXARM64 sk4d.dylib 19 mb
Sizes based on v3.4.0 for 11.1 Alexandria

Qualidade de renderização

Aliased vs. Anti-aliased

A qualidade do desenho é melhorada, em alguns cenários, significativamente

Benefícios SVG

  • Resolução independente e escalável
  • Estilo (pode facilmente mudar de cor)
  • Arquivo muito menor
  • Para ícones, sempre prefira SVG a imagens estáticas como PNG
  • Milhares de ícones e imagens gratuitos disponíveis na web

Benefícios da Lottie Animation

Por que formatos vetoriais?

  • Tamanhos de arquivo muito menores
  • Infinitamente redimensionável e escalável
  • Animações mais suaves
  • Edição e personalização mais fáceis

Por que gráficos vetoriais?

SVG Source é XML (que facilmente compacta via Zip)

PNG e JPEG são binários (já compactados)

  • Ambos JPEG e PNG são formatos de imagem raster/bitmap
  • PNG é sem perdas, com reprodução 100% precisa da imagem
  • JPEG tem perdas, perdendo alguma fidelidade de imagem cada vez que é editado ou comprimido

Comparações de tamanho de arquivo de imagem

Animações vetoriais?

Lottie é um formato de animação baseado em JSON.

Name Type Size Relative
dev_coding.tgs tgs (zipped json) 55,834
dev_coding.mp4 mpeg4 (lossy) 373,642 7x
dev_coding.json lottie (json) 583,485 10x
dev_coding.gif gif (lossless) 5,020,259 90x

Design da interface do usuário

  • Construir um projeto com Skia4Delphi + Delphi 11
    • Faça uma bela aplicação com VCL ou FMX
  • Poste no GitHub
    • Inclua vídeos e capturas de tela e compartilhe-os nas mídias sociais.
  • Ganhe prêmios e elogios
    • O Grande Prêmio é um Apple M1 Mac Mini para que você possa aproveitar o excelente novo suporte para Apple Silicon em Delphi 11 Alexandria

Mais detalhes em breve: blogs.embarcadero.com/?p=140459

ACOMPANHE O PROJETO

Mais links

Notas

  1. Para a plataforma Mac, quando GlobalUseMetal é verdade junto com GlobalUseSkia, o desempenho com o FMX clássico é semelhante.
  2. No iOS não há link compartilhado (bibliotecas compartilhadas: dll, .so, .dylib), apenas estático (neste caso .a). Neste .a (equivalente a .lib no Windows), ele tem todos os arquivos obj gerados, porém, apesar de ter 60 MB, o tamanho do app resultante é bem menor, pois só é compilado junto com as funções utilizadas. Em outras palavras, é comum que as bibliotecas estáticas sejam maiores que as bibliotecas compartilhadas, mas a saída resultante é muito menor e não é maior do que o tamanho normal que uma biblioteca compartilhada teria.
 

Esqui para Delfos

Compatibilidade

  • Delphi 11+: Todas as plataformas
  • Delphi 10.3+: Windows e Android
  • Delphi XE7+: Windows

Disponível por …

Biblioteca Skia4Delphi

Banco de Renderização de Aplicativos

Arquitetura

  • Implantado por meio do Deployment Manager
    • Basta clicar com o botão direito do mouse em “Ativar Skia” para adicionar ao gerenciador de implantação.
  • Bibliotecas nativas para todas as plataformas
    • OSXARM64, Win32, Win64, Android, Android64, iOSDevice64, Linux64 e OSX64
  • Componentes e bibliotecas do Delphi
    • Os componentes instalados no Tool Palette para VCL e FMX, com a biblioteca adicionada ao caminho de pesquisa

Redistribuíveis

Platform Library Size
Win32 sk4d.dll 18 mb
Win64 sk4d.dll 18 mb
Android libsk4d.so 19 mb
Android64 libsk4d.so 24 mb
iOSDevice64 sk4d.a 60 mb
Ubuntu64 libsk4d.so 22 mb
RedHat64 libsk4d.so 22 mb
OSX64 sk4d.dylib 20 mb
OSXARM64 sk4d.dylib 19 mb
Sizes based on v3.4.0 for 11.1 Alexandria

Qualidade de renderização

Aliased vs. Anti-aliased

A qualidade do desenho é melhorada, em alguns cenários, significativamente

Benefícios SVG

  • Resolução independente e escalável
  • Estilo (pode facilmente mudar de cor)
  • Arquivo muito menor
  • Para ícones, sempre prefira SVG a imagens estáticas como PNG
  • Milhares de ícones e imagens gratuitos disponíveis na web

Benefícios da Lottie Animation

Por que formatos vetoriais?

  • Tamanhos de arquivo muito menores
  • Infinitamente redimensionável e escalável
  • Animações mais suaves
  • Edição e personalização mais fáceis

Por que gráficos vetoriais?

SVG Source é XML (que facilmente compacta via Zip)

PNG e JPEG são binários (já compactados)

  • Ambos JPEG e PNG são formatos de imagem raster/bitmap
  • PNG é sem perdas, com reprodução 100% precisa da imagem
  • JPEG tem perdas, perdendo alguma fidelidade de imagem cada vez que é editado ou comprimido

Comparações de tamanho de arquivo de imagem

Animações vetoriais?

Lottie é um formato de animação baseado em JSON.

Name Type Size Relative
dev_coding.tgs tgs (zipped json) 55,834
dev_coding.mp4 mpeg4 (lossy) 373,642 7x
dev_coding.json lottie (json) 583,485 10x
dev_coding.gif gif (lossless) 5,020,259 90x

Design da interface do usuário

  • Construir um projeto com Skia4Delphi + Delphi 11
    • Faça uma bela aplicação com VCL ou FMX
  • Poste no GitHub
    • Inclua vídeos e capturas de tela e compartilhe-os nas mídias sociais.
  • Ganhe prêmios e elogios
    • O Grande Prêmio é um Apple M1 Mac Mini para que você possa aproveitar o excelente novo suporte para Apple Silicon em Delphi 11 Alexandria

Mais detalhes em breve: blogs.embarcadero.com/?p=140459

ACOMPANHE O PROJETO

Mais links

Notas

  1. Para a plataforma Mac, quando GlobalUseMetal é verdade junto com GlobalUseSkia, o desempenho com o FMX clássico é semelhante.
  2. No iOS não há link compartilhado (bibliotecas compartilhadas: dll, .so, .dylib), apenas estático (neste caso .a). Neste .a (equivalente a .lib no Windows), ele tem todos os arquivos obj gerados, porém, apesar de ter 60 MB, o tamanho do app resultante é bem menor, pois só é compilado junto com as funções utilizadas. Em outras palavras, é comum que as bibliotecas estáticas sejam maiores que as bibliotecas compartilhadas, mas a saída resultante é muito menor e não é maior do que o tamanho normal que uma biblioteca compartilhada teria.
 

Sobre Skia4Delphi

  • Código aberto
    • Usa um fork modificado do Skia do Google
  • Multiplataforma e Multi-Framework
  • Biblioteca de gráficos 2D para Delphi
  • Desenho
    • Texto
    • Animações
    • Imagens
  • Foco na Qualidade e Desempenho

O cérebro por trás do Skia4Delphi

Esqui para Delfos

Compatibilidade

  • Delphi 11+: Todas as plataformas
  • Delphi 10.3+: Windows e Android
  • Delphi XE7+: Windows

Disponível por …

Biblioteca Skia4Delphi

Banco de Renderização de Aplicativos

Arquitetura

  • Implantado por meio do Deployment Manager
    • Basta clicar com o botão direito do mouse em “Ativar Skia” para adicionar ao gerenciador de implantação.
  • Bibliotecas nativas para todas as plataformas
    • OSXARM64, Win32, Win64, Android, Android64, iOSDevice64, Linux64 e OSX64
  • Componentes e bibliotecas do Delphi
    • Os componentes instalados no Tool Palette para VCL e FMX, com a biblioteca adicionada ao caminho de pesquisa

Redistribuíveis

Platform Library Size
Win32 sk4d.dll 18 mb
Win64 sk4d.dll 18 mb
Android libsk4d.so 19 mb
Android64 libsk4d.so 24 mb
iOSDevice64 sk4d.a 60 mb
Ubuntu64 libsk4d.so 22 mb
RedHat64 libsk4d.so 22 mb
OSX64 sk4d.dylib 20 mb
OSXARM64 sk4d.dylib 19 mb
Sizes based on v3.4.0 for 11.1 Alexandria

Qualidade de renderização

Aliased vs. Anti-aliased

A qualidade do desenho é melhorada, em alguns cenários, significativamente

Benefícios SVG

  • Resolução independente e escalável
  • Estilo (pode facilmente mudar de cor)
  • Arquivo muito menor
  • Para ícones, sempre prefira SVG a imagens estáticas como PNG
  • Milhares de ícones e imagens gratuitos disponíveis na web

Benefícios da Lottie Animation

Por que formatos vetoriais?

  • Tamanhos de arquivo muito menores
  • Infinitamente redimensionável e escalável
  • Animações mais suaves
  • Edição e personalização mais fáceis

Por que gráficos vetoriais?

SVG Source é XML (que facilmente compacta via Zip)

PNG e JPEG são binários (já compactados)

  • Ambos JPEG e PNG são formatos de imagem raster/bitmap
  • PNG é sem perdas, com reprodução 100% precisa da imagem
  • JPEG tem perdas, perdendo alguma fidelidade de imagem cada vez que é editado ou comprimido

Comparações de tamanho de arquivo de imagem

Animações vetoriais?

Lottie é um formato de animação baseado em JSON.

Name Type Size Relative
dev_coding.tgs tgs (zipped json) 55,834
dev_coding.mp4 mpeg4 (lossy) 373,642 7x
dev_coding.json lottie (json) 583,485 10x
dev_coding.gif gif (lossless) 5,020,259 90x

Design da interface do usuário

  • Construir um projeto com Skia4Delphi + Delphi 11
    • Faça uma bela aplicação com VCL ou FMX
  • Poste no GitHub
    • Inclua vídeos e capturas de tela e compartilhe-os nas mídias sociais.
  • Ganhe prêmios e elogios
    • O Grande Prêmio é um Apple M1 Mac Mini para que você possa aproveitar o excelente novo suporte para Apple Silicon em Delphi 11 Alexandria

Mais detalhes em breve: blogs.embarcadero.com/?p=140459

ACOMPANHE O PROJETO

Mais links

Notas

  1. Para a plataforma Mac, quando GlobalUseMetal é verdade junto com GlobalUseSkia, o desempenho com o FMX clássico é semelhante.
  2. No iOS não há link compartilhado (bibliotecas compartilhadas: dll, .so, .dylib), apenas estático (neste caso .a). Neste .a (equivalente a .lib no Windows), ele tem todos os arquivos obj gerados, porém, apesar de ter 60 MB, o tamanho do app resultante é bem menor, pois só é compilado junto com as funções utilizadas. Em outras palavras, é comum que as bibliotecas estáticas sejam maiores que as bibliotecas compartilhadas, mas a saída resultante é muito menor e não é maior do que o tamanho normal que uma biblioteca compartilhada teria.
 

Plataformas Skia:

  • Todas as plataformas mais populares do mundo, como:
    • janelas
    • Mac OS
    • iOS (incluindo simulador)
    • Android (incluindo simulador)
    • Linux (distribuições principais)
    • Fuschia OS
    • Tizen
    • tvOS
    • watchOS

Recursos de esqui

Sobre Skia4Delphi

  • Código aberto
    • Usa um fork modificado do Skia do Google
  • Multiplataforma e Multi-Framework
  • Biblioteca de gráficos 2D para Delphi
  • Desenho
    • Texto
    • Animações
    • Imagens
  • Foco na Qualidade e Desempenho

O cérebro por trás do Skia4Delphi

Esqui para Delfos

Compatibilidade

  • Delphi 11+: Todas as plataformas
  • Delphi 10.3+: Windows e Android
  • Delphi XE7+: Windows

Disponível por …

Biblioteca Skia4Delphi

Banco de Renderização de Aplicativos

Arquitetura

  • Implantado por meio do Deployment Manager
    • Basta clicar com o botão direito do mouse em “Ativar Skia” para adicionar ao gerenciador de implantação.
  • Bibliotecas nativas para todas as plataformas
    • OSXARM64, Win32, Win64, Android, Android64, iOSDevice64, Linux64 e OSX64
  • Componentes e bibliotecas do Delphi
    • Os componentes instalados no Tool Palette para VCL e FMX, com a biblioteca adicionada ao caminho de pesquisa

Redistribuíveis

Platform Library Size
Win32 sk4d.dll 18 mb
Win64 sk4d.dll 18 mb
Android libsk4d.so 19 mb
Android64 libsk4d.so 24 mb
iOSDevice64 sk4d.a 60 mb
Ubuntu64 libsk4d.so 22 mb
RedHat64 libsk4d.so 22 mb
OSX64 sk4d.dylib 20 mb
OSXARM64 sk4d.dylib 19 mb
Sizes based on v3.4.0 for 11.1 Alexandria

Qualidade de renderização

Aliased vs. Anti-aliased

A qualidade do desenho é melhorada, em alguns cenários, significativamente

Benefícios SVG

  • Resolução independente e escalável
  • Estilo (pode facilmente mudar de cor)
  • Arquivo muito menor
  • Para ícones, sempre prefira SVG a imagens estáticas como PNG
  • Milhares de ícones e imagens gratuitos disponíveis na web

Benefícios da Lottie Animation

Por que formatos vetoriais?

  • Tamanhos de arquivo muito menores
  • Infinitamente redimensionável e escalável
  • Animações mais suaves
  • Edição e personalização mais fáceis

Por que gráficos vetoriais?

SVG Source é XML (que facilmente compacta via Zip)

PNG e JPEG são binários (já compactados)

  • Ambos JPEG e PNG são formatos de imagem raster/bitmap
  • PNG é sem perdas, com reprodução 100% precisa da imagem
  • JPEG tem perdas, perdendo alguma fidelidade de imagem cada vez que é editado ou comprimido

Comparações de tamanho de arquivo de imagem

Animações vetoriais?

Lottie é um formato de animação baseado em JSON.

Name Type Size Relative
dev_coding.tgs tgs (zipped json) 55,834
dev_coding.mp4 mpeg4 (lossy) 373,642 7x
dev_coding.json lottie (json) 583,485 10x
dev_coding.gif gif (lossless) 5,020,259 90x

Design da interface do usuário

  • Construir um projeto com Skia4Delphi + Delphi 11
    • Faça uma bela aplicação com VCL ou FMX
  • Poste no GitHub
    • Inclua vídeos e capturas de tela e compartilhe-os nas mídias sociais.
  • Ganhe prêmios e elogios
    • O Grande Prêmio é um Apple M1 Mac Mini para que você possa aproveitar o excelente novo suporte para Apple Silicon em Delphi 11 Alexandria

Mais detalhes em breve: blogs.embarcadero.com/?p=140459

ACOMPANHE O PROJETO

Mais links

Notas

  1. Para a plataforma Mac, quando GlobalUseMetal é verdade junto com GlobalUseSkia, o desempenho com o FMX clássico é semelhante.
  2. No iOS não há link compartilhado (bibliotecas compartilhadas: dll, .so, .dylib), apenas estático (neste caso .a). Neste .a (equivalente a .lib no Windows), ele tem todos os arquivos obj gerados, porém, apesar de ter 60 MB, o tamanho do app resultante é bem menor, pois só é compilado junto com as funções utilizadas. Em outras palavras, é comum que as bibliotecas estáticas sejam maiores que as bibliotecas compartilhadas, mas a saída resultante é muito menor e não é maior do que o tamanho normal que uma biblioteca compartilhada teria.
 

O que Google Chrome, Mozilla Firefox, Chrome OS, Android, Flutter e Delphi têm em comum? Eles têm gráficos acelerados graças ao Skia. Essa biblioteca de gráficos 2D multiplataforma de alto desempenho está conquistando o mundo do desenvolvimento. Funciona com VCL e FireMonkey em todas as plataformas que o Delphi suporta. Uma linha de código pode tornar seus aplicativos FireMonkey existentes mais rápidos ou levá-los adiante e desbloquear novos recursos para interfaces de usuário de tirar o fôlego.

Skia4Delphi é um projeto de código aberto dos vencedores e irmãos do Prêmio Spirit of Delphi, Paulo César Botelho Barbosa e Vinícius Felipe Botelho Barbosa. Então, como você usa o Skia4Delphi e leva o desenvolvimento de seu aplicativo para o próximo nível? Você veio ao lugar certo.

Aqui estão alguns vídeos mais curtos ou você pode assistir ao replay completo :

O que é Skia, você quer perguntar?

Imagine que você é um desenvolvedor de software que precisa alcançar todas as principais plataformas hoje. Suas escolhas tradicionais são:

Mas agora temos… FireMonkey

  • Compilado Nativo – acesso direto ao hardware da plataforma
  • Multi-Platform – uma base de código para todas as plataformas
  • Visual Designer Baseado em Componentes – maximize a produtividade do desenvolvedor

Como Skia se encaixa aqui? Apresentando… Google Skia

  • O Google Skia é o mecanismo gráfico de código aberto para Google Chrome, Android, Flutter, Xamarin, Firefox e muitos outros.
  • Ele fornece APIs 2D comuns que funcionam em uma variedade de plataformas, abstraindo complexidades na implementação de bibliotecas de baixo nível que ele usa por trás dele, como Vulkan, DirectX, Metal e outros, implementando muitas otimizações e novos recursos.

Plataformas Skia:

  • Todas as plataformas mais populares do mundo, como:
    • janelas
    • Mac OS
    • iOS (incluindo simulador)
    • Android (incluindo simulador)
    • Linux (distribuições principais)
    • Fuschia OS
    • Tizen
    • tvOS
    • watchOS

Recursos de esqui

Sobre Skia4Delphi

  • Código aberto
    • Usa um fork modificado do Skia do Google
  • Multiplataforma e Multi-Framework
  • Biblioteca de gráficos 2D para Delphi
  • Desenho
    • Texto
    • Animações
    • Imagens
  • Foco na Qualidade e Desempenho

O cérebro por trás do Skia4Delphi

Esqui para Delfos

Compatibilidade

  • Delphi 11+: Todas as plataformas
  • Delphi 10.3+: Windows e Android
  • Delphi XE7+: Windows

Disponível por …

Biblioteca Skia4Delphi

Banco de Renderização de Aplicativos

Arquitetura

  • Implantado por meio do Deployment Manager
    • Basta clicar com o botão direito do mouse em “Ativar Skia” para adicionar ao gerenciador de implantação.
  • Bibliotecas nativas para todas as plataformas
    • OSXARM64, Win32, Win64, Android, Android64, iOSDevice64, Linux64 e OSX64
  • Componentes e bibliotecas do Delphi
    • Os componentes instalados no Tool Palette para VCL e FMX, com a biblioteca adicionada ao caminho de pesquisa

Redistribuíveis

Platform Library Size
Win32 sk4d.dll 18 mb
Win64 sk4d.dll 18 mb
Android libsk4d.so 19 mb
Android64 libsk4d.so 24 mb
iOSDevice64 sk4d.a 60 mb
Ubuntu64 libsk4d.so 22 mb
RedHat64 libsk4d.so 22 mb
OSX64 sk4d.dylib 20 mb
OSXARM64 sk4d.dylib 19 mb
Sizes based on v3.4.0 for 11.1 Alexandria

Qualidade de renderização

Aliased vs. Anti-aliased

A qualidade do desenho é melhorada, em alguns cenários, significativamente

Benefícios SVG

  • Resolução independente e escalável
  • Estilo (pode facilmente mudar de cor)
  • Arquivo muito menor
  • Para ícones, sempre prefira SVG a imagens estáticas como PNG
  • Milhares de ícones e imagens gratuitos disponíveis na web

Benefícios da Lottie Animation

Por que formatos vetoriais?

  • Tamanhos de arquivo muito menores
  • Infinitamente redimensionável e escalável
  • Animações mais suaves
  • Edição e personalização mais fáceis

Por que gráficos vetoriais?

SVG Source é XML (que facilmente compacta via Zip)

PNG e JPEG são binários (já compactados)

  • Ambos JPEG e PNG são formatos de imagem raster/bitmap
  • PNG é sem perdas, com reprodução 100% precisa da imagem
  • JPEG tem perdas, perdendo alguma fidelidade de imagem cada vez que é editado ou comprimido

Comparações de tamanho de arquivo de imagem

Animações vetoriais?

Lottie é um formato de animação baseado em JSON.

Name Type Size Relative
dev_coding.tgs tgs (zipped json) 55,834
dev_coding.mp4 mpeg4 (lossy) 373,642 7x
dev_coding.json lottie (json) 583,485 10x
dev_coding.gif gif (lossless) 5,020,259 90x

Design da interface do usuário

  • Construir um projeto com Skia4Delphi + Delphi 11
    • Faça uma bela aplicação com VCL ou FMX
  • Poste no GitHub
    • Inclua vídeos e capturas de tela e compartilhe-os nas mídias sociais.
  • Ganhe prêmios e elogios
    • O Grande Prêmio é um Apple M1 Mac Mini para que você possa aproveitar o excelente novo suporte para Apple Silicon em Delphi 11 Alexandria

Mais detalhes em breve: blogs.embarcadero.com/?p=140459

ACOMPANHE O PROJETO

Mais links

Notas

  1. Para a plataforma Mac, quando GlobalUseMetal é verdade junto com GlobalUseSkia, o desempenho com o FMX clássico é semelhante.
  2. No iOS não há link compartilhado (bibliotecas compartilhadas: dll, .so, .dylib), apenas estático (neste caso .a). Neste .a (equivalente a .lib no Windows), ele tem todos os arquivos obj gerados, porém, apesar de ter 60 MB, o tamanho do app resultante é bem menor, pois só é compilado junto com as funções utilizadas. Em outras palavras, é comum que as bibliotecas estáticas sejam maiores que as bibliotecas compartilhadas, mas a saída resultante é muito menor e não é maior do que o tamanho normal que uma biblioteca compartilhada teria.
 
Exit mobile version