Flutter (software) - Flutter (software)

Flutter
Google-flutter-logo.svg
Autor (es) original (is) Google
Desenvolvedor (s) Google e comunidade
lançamento inicial Alpha (v0.0.6) / maio de 2017 ; 4 anos atras ( 2017-05 )
Versão estável
2,5  Edite isso no Wikidata / 8 de setembro de 2021 ; 38 dias atrás ( 8 de setembro de 2021 )
Repositório
Escrito em C , C ++ , Dart
Plataforma Android , iOS , Google Fuchsia , plataforma da web , Linux , macOS e Windows
Modelo Framework de aplicação
Licença Nova Licença BSD
Local na rede Internet flutter .dev

Flutter é um kit de desenvolvimento de software de IU de código aberto criado pelo Google . É usado para desenvolver aplicativos de plataforma cruzada para Android , iOS , Linux , Mac , Windows , Google Fuchsia e a web a partir de uma única base de código .

Descrito pela primeira vez em 2015, o Flutter foi lançado em maio de 2017.

História

A primeira versão do Flutter era conhecida como codinome "Sky" e rodava no sistema operacional Android . Ele foi revelado no encontro de desenvolvedores do DART 2015 com a intenção declarada de ser capaz de renderizar de forma consistente a 120 quadros por segundo . Durante a apresentação do Google Developer Days em Xangai em setembro de 2018, o Google anunciou o Flutter Release Preview 2, que é o último grande lançamento antes do Flutter 1.0. Em 4 de dezembro daquele ano, o Flutter 1.0 foi lançado no evento Flutter Live, denotando a primeira versão "estável" do Framework. Em 11 de dezembro de 2019, Flutter 1.12 foi lançado no evento Flutter Interactive.

Em 6 de maio de 2020, foram lançados o kit de desenvolvimento de software ( SDK ) Dart na versão 2.8 e o Flutter na versão 1.17.0, onde foi adicionado suporte à API Metal , melhorando o desempenho em dispositivos iOS (aproximadamente 50%), novo material widgets e novo rastreamento de rede.

Em 3 de março de 2021, o Google lançou o Flutter 2 durante um evento online Flutter Engage. Esta grande atualização trouxe suporte oficial para aplicativos baseados na web com o novo renderizador CanvasKit e widgets específicos da web, suporte a aplicativos de desktop de acesso antecipado para Windows , macOS e Linux e APIs Add-to-App aprimoradas . Este lançamento incluiu segurança nula sonora , o que causou muitas alterações importantes e problemas com muitos pacotes externos, mas a equipe do Flutter também incluiu instruções para mitigar essas alterações.

Em 8 de setembro de 2021, o Dart SDK na versão 2.14 e o Flutter versão 2.5 foram lançados pelo Google. A atualização trouxe melhorias para o modo de tela inteira do Android e a versão mais recente do Material Design do Google, chamada Material You. O Dart recebeu duas novas atualizações, as condições de fiapos mais recentes foram padronizadas e predefinidas como as condições padrão, assim como o Dart para Apple Silicon agora está estável.

Arquitetura de framework

Os principais componentes do Flutter incluem:

  • Plataforma de dardos
  • Motor oscilante
  • Biblioteca da Fundação
  • Widgets de design específico
  • Flutter Development Tools (DevTools)

Plataforma de dardos

Os aplicativos Flutter são escritos na linguagem Dart e usam muitos dos recursos mais avançados da linguagem.

No Windows , macOS e Linux, o Flutter é executado na máquina virtual Dart, que possui um mecanismo de execução just-in-time . Ao escrever e depurar um aplicativo, o Flutter usa a compilação Just In Time, permitindo o "recarregamento a quente", com o qual modificações nos arquivos de origem podem ser injetadas em um aplicativo em execução. O Flutter estende isso com suporte para recarregamento dinâmico com estado , onde na maioria dos casos as alterações no código-fonte são refletidas imediatamente no aplicativo em execução, sem exigir uma reinicialização ou qualquer perda de estado .

Para melhor desempenho, as versões de lançamento de aplicativos Flutter direcionados para Android e iOS são compiladas com compilação antecipada (AOT) .

Motor oscilante

O mecanismo do Flutter, escrito principalmente em C ++ , fornece suporte de renderização de baixo nível usando a biblioteca de gráficos Skia do Google . Além disso, ele faz interface com SDKs específicos da plataforma , como os fornecidos pelo Android e iOS . O Flutter Engine é um runtime portátil para hospedar aplicativos Flutter. Ele implementa as principais bibliotecas do Flutter, incluindo animação e gráficos, arquivo e E / S de rede, suporte de acessibilidade, arquitetura de plug-in e um runtime Dart e conjunto de ferramentas de compilação. A maioria dos desenvolvedores interage com o Flutter por meio do Flutter Framework, que fornece uma estrutura reativa e um conjunto de plataforma, layout e widgets de base.

Biblioteca da Fundação

A biblioteca Foundation, escrita em Dart , fornece classes e funções básicas que são usadas para construir aplicativos usando Flutter, como APIs para se comunicar com o mecanismo.

Widgets de design específico

A estrutura Flutter contém dois conjuntos de widgets que estão em conformidade com linguagens de design específicas: widgets de design de material implementam a linguagem de design do Google com o mesmo nome e widgets Cupertino implementam as diretrizes de interface humana iOS da Apple .

Widgets

O Flutter usa uma variedade de widgets para entregar um aplicativo totalmente funcional. Esses widgets são a arquitetura de estrutura do Flutter. O Catálogo de widgets do Flutter fornece uma explicação completa e API sobre a estrutura.

Noções básicas de widgets no Flutter

Os widgets são geralmente definidos em três tipos básicos: widgets com estado, widgets sem estado e widgets herdados. Sendo a hierarquia de classes central na estrutura do Flutter, os três tipos básicos de widgets são usados ​​na construção de cada aplicativo do Flutter. Embora todas as instâncias de um widget sejam imutáveis , o widget Stateful permite a interação entre o usuário e o aplicativo. Ao fornecer acesso ao método setState, o estado pode ser mantido em objetos de estado separados. Como alternativa, o widget sem estado atua como uma constante e, antes que qualquer coisa exibida possa ser alterada, o widget precisa ser recriado. O widget Inherited funciona permitindo que outro widget assine o estado de widgets herdados, permitindo que o estado seja passado para seus filhos.

Veja também

Referências

links externos