Você está na página 1de 2

• Inconsistência: Diferentes recursos nativos, ou diferentes equipes de

desenvolvimento desenvolvendo recursos de maneiras ligeiramente diferentes, podem


levar a inconsistências entre aplicativos, incomodando os usuários e tornando o
diagnóstico de relatórios de bugs mais complicado.
Flutter não é a primeira tentativa de criar uma única base de código e existem
frameworks disponíveis que têm promessas semelhantes. No entanto, eles podem
sofrer algumas desvantagens sérias:
• Desempenho: algumas estruturas usam soluções alternativas para permitir
consistência da experiência do usuário entre plataformas. Uma delas é ter
efetivamente uma página da Web em execução dentro de um aplicativo nativo usando
um webview (um navegador da Web integrado). Isso tende a ter um desempenho
muito pior do que os aplicativos nativos, levando a uma experiência do usuário ruim.
• Restrições de design: algumas estruturas são baseadas em linguagens que foram
projetadas antes da criação da experiência móvel. Isso pode significar que eles não são
bem projetados para determinadas interações do usuário ou determinados recursos
do dispositivo, levando a códigos complicados ou obscuros e aos problemas de
manutenção inerentes que isso pode causar.
• Não é bem uma base de código: embora alguns frameworks sugiram uma
abordagem de base de código única para o desenvolvimento de aplicativos, depois de
entrar nos detalhes, você descobre que ainda precisa escrever algum código específico
da plataforma, o que causa duplicação de código e permite bugs de plataforma única
para se infiltrar. Agora vamos ver como o Flutter combate esses problemas.
Alta performance
No momento, é difícil dizer que o desempenho do Flutter é sempre melhor na prática
do que outros frameworks, mas é seguro dizer que seu objetivo é ser. Por exemplo,
sua camada de renderização foi desenvolvida com uma alta taxa de quadros em
mente. Como veremos na seção de renderização do Flutter, algumas das estruturas
existentes dependem da renderização de JavaScript e HTML, o que pode causar
sobrecarga no desempenho porque tudo é desenhado em uma visualização da web
(um componente visual como um navegador da web).
Alguns usam widgets de fabricante de equipamento original (OEM), mas contam com
uma ponte
para solicitar a API do SO para renderizar os componentes, o que cria um gargalo no
aplicativo porque precisa de uma etapa extra para renderizar a interface do usuário
(UI). Consulte a seção de renderização do Flutter para obter mais detalhes da
abordagem de renderização do Flutter em comparação com outras.
Alguns pontos que tornam o desempenho do Flutter ótimo são os seguintes:
• Flutter possui os pixels: Flutter renderiza o aplicativo pixel por pixel (veja a próxima
seção), interagindo diretamente com o motor gráfico Skia.
• Sem camadas extras ou chamadas adicionais à API do SO: Como o Flutter é o
proprietário da renderização do aplicativo, ele não precisa de chamadas adicionais
para usar os widgets OEM, portanto, não há gargalos.
• Flutter é compilado para código nativo: Flutter usa o compilador Dart AOT para
produzir código nativo. Isso significa que não há sobrecarga na configuração de um
ambiente para interpretar o código Dart em tempo real, e ele é executado como um
aplicativo nativo, iniciando mais rapidamente do que estruturas que precisam de
algum tipo de interpretador.
1. Full control of the UI

PG 9

Você também pode gostar