Pular para o conteúdo
Home > O que é Flutter? Crescimento de aplicativos móveis para Android, iOS e extras

O que é Flutter? Crescimento de aplicativos móveis para Android, iOS e extras

    Houve um tempo em que você tinha que decidir entre criar aplicativos móveis comuns e aplicativos nativos. Aplicativos comuns usavam ciências aplicadas à Internet, como HTML e JavaScript, que frequentemente funcionavam mal em dispositivos móveis. Os aplicativos nativos tiveram um desempenho melhor porque foram escritos individualmente para cada plataforma que você precisava atender, mas eram caros e exigiam uma força de trabalho especializada em crescimento para cada plataforma.

    O Flutter, um framework de fornecimento aberto desenvolvido pelo Google, modificou isso. Atualmente, os criadores têm mais opções para criar aplicativos rápidos de celular que são executados em várias plataformas, incluindo Ionic, React Native e Xamarin. O Flutter e sua linguagem de programação integrada, Dart, permanecem difundidos e amplamente usados.

    O Flutter 3, lançado no início deste ano, oferece suporte para aplicativos de desktop macOS e Linux , juntamente com os destinos exclusivos do Android, iOS, Internet e Windows. A descarga também contém aprimoramentos de eficiência para reparar pausas perceptíveis na interface do usuário.

    Crescimento multiplataforma com Flutter 3

    Flutter é uma estrutura de fornecimento aberto desenvolvida pelo Google que permite que você construa funções multiplataforma compiladas nativamente a partir de uma única base de código. O Flutter 3 suporta seis destinos de plataforma: Android, iOS, Windows, macOS, Linux e recursos da Internet.

    Os widgets do Flutter são construídos utilizando uma estrutura contemporânea inspirada no React . Conforme comprovado na Determinação 1 abaixo, provavelmente os widgets e layouts mais usados ​​são widgets de conteúdo textual, layouts de linha e coluna Flexbox, layouts de posicionamento absoluto de pilha, widgets posicionados e widgets de contêiner.

    Por exemplo, você está construindo um software multiplataforma que começa com o widget Flutter MaterialApp . Este widget cria vários widgets úteis diferentes na raiz do seu software, juntamente com um navegador. O navegador gerencia uma pilha de widgets reconhecidos por strings, também chamados de rotas no Flutter. O navegador permite que você faça a transição facilmente entre as telas do software.

    Para criar um design centrado no iOS, consulte o pacote de elementos Cupertino . A força de trabalho do Flutter recomenda usar apenas os elementos de Cupertino em aplicativos somente para iOS; para aplicativos multiplataforma, pense em usar outro conjunto de widgets; por exemplo, o conjunto Materials Design .

    As três primeiras capturas de tela abaixo apresentam widgets sem estado, gerenciamento de gestos e widgets com estado. Vale a pena passar por todo o tutorial de crescimento do Flutter, começando com a introdução dos widgets que começamos aqui. Também vale a pena experimentar os exemplos do DartPad e visualizar a galeria do Flutter , além de experimentar os codelabs do Flutter .

    Além de widgets e layouts, o Flutter possui navegação e roteamento, animações, ações e intents, atalhos, administração de estado, rede e HTTP, serialização JSON e integração com Firebase.

    Determine 1 mostra uma instância do widget Flutter Materials usando o DartPad em um navegador online. O código Dart está à esquerda e o show na rede está à direita.

    vibração fig1IDG
    Determinar 1. Uma instância do widget Flutter Materiais utilizando DartPad.

    Determinar 2 exibe uma instância de tratamento de gesto em Flutter. A onTapmetodologia do widget Stateless GestureDetector conectado ao botão Interagir é acionado quando o botão é pressionado.

    vibração fig2IDG
    Determine 2. Gesto de vibração lidando com a instância.

    Determine 3 é uma instância de um widget com estado. Urgente, o widget Increment ElevatedButton aciona sua onPressedmetodologia, que chama a função não pública _increment. Isso chama setState()para informar ao Flutter que algo foi modificado e incrementa a _countervariável. Em seguida, o framework chama a construct()metodologia para redesenhar o botão e o conteúdo textual.

    vibração fig3IDG
    Determine 3. Uma instância de widget com estado.

    Flutter e dardo

    O Flutter é desenvolvido com Dart , uma linguagem otimizada para aplicativos rápidos em qualquer plataforma. Dart se parece relativamente com Java, Kotlin, Swift e TypeScript (consulte Determinar 4 para uma comparação). Caso você perceba alguma linguagem orientada a objetos, poderá escolher o Dart em breve. O preço passa pelo mínimo do tour Dart .

    Um programa Dart realmente fundamental provavelmente será:

    
    // Outline a perform.
    void printInteger(int aNumber) {
      print('The quantity is $aNumber.'); // Print to console.
    }
    
    // That is the place the app begins executing.
    void major() {
      var quantity = 42; // Declare and initialize a variable.
      printInteger(quantity); // Name a perform.
    }
    

    O Dart é fortemente tipado, mas as anotações de tipo não são obrigatórias porque o Dart pode inferir variedades. A moda popular é usar vare fazer inferência para variáveis ​​nativas e tipagem robusta para capacidades e variáveis ​​públicas. Ao contrário do Java, o Dart não possui as frases-chave public, protectede non-public. Se um identificador começar com um sublinhado ( _), ele não será público em sua biblioteca.

    O Dart pode compilar para ARM e código de máquina x64 para celular, desktop e funções de acabamento, além de JavaScript para a rede. No modo de depuração, o Dart permite que você carregue aplicativos de trabalho depois de salvar os ajustes no código de fornecimento. O Dart possui compiladores JIT (just-in-time) e AOT (ahead-of-time).

    Dart tem segurança nula não obrigatória. Caso sua restrição mínima do SDK (no pubspec.yamlarquivo do seu software) seja de no mínimo 2.12.0, você pode ter optado pela segurança nula. Nesse caso, apenas variáveis ​​com uma classificação adotada por uma marca de consulta (por exemplo, ” int?") podem incluir nulos.

    vibração fig4IDG
    Determine 4. Dart em comparação com Kotlin, Swift e TypeScript.

    Flutter 3 opções e atualizações

    Em uma  publicação no blog , Tim Sneath, supervisor de produto do Google para Flutter e Dart, resumiu as novas opções do Flutter 3, observando que “o Flutter 3 completa nosso roteiro de uma estrutura centrada em dispositivos móveis para uma estrutura multiplataforma”.

    O Flutter 3 expande os alvos de plataforma acessíveis para incorporar o macOS e o suporte para aplicativos de desktop Linux, integra totalmente o Flutter com o Firebase, fornece suporte de crescimento nativo para Apple Silicon e inclui vários recursos de produtividade e desempenho.

    Flutter Showcase e Flutter Gallery

    O Flutter Showcase é na verdade um grupo de pesquisa de caso sobre a fabricação de aplicativos construídos com o Flutter. É mais útil para os gerentes que estão pensando no Flutter.

    A Galeria do Flutter contém um grupo de widgets, comportamentos e vinhetas que mostram o que o Flutter faz e como ele se comporta, e é muito útil para construtores e designers. Você poderá visualizar a Galeria na rede ou executá-la regionalmente em qualquer uma das plataformas suportadas utilizando o repositório da galeria Flutter .

    Colocando em Flutter

    Você pode configurar o Flutter no Windows, macOS, Linux ou Chrome OS. Precisamente como você coloca é determinado pelo sistema. Você pode optar por baixar um arquivo .zip ou tarball específico do sistema e descompactá-lo ou clonar o repositório. Em seguida, você precisará adicionar o flutterdispositivo ao seu caminho e executar flutter physician. Eu provei a saída flutter physicianabaixo.

    
    Working "flutter pub get" in flutter_tools...                       5.1s
    Physician abstract (to see all particulars, run flutter physician -v):
    [✓] Flutter (Channel steady, 3.0.1, on Mac OS X 10.15.7 19H1922 darwin-x64,
        locale en-US)
    [✗] Android toolchain - develop for Android gadgets
        ✗ Unable to find Android SDK.
          Set up Android Studio from:
          https://developer.android.com/studio/index.html
          On first launch it can help you in putting in the Android SDK
          elements.
          (or go to https://flutter.dev/docs/get-started/set up/macos#android-setup
          for detailed directions).
          If the Android SDK has been put in to a customized location, please use
          `flutter config --android-sdk` to replace to that location.
    
    [!] Xcode - develop for iOS and macOS (Xcode 12.4)
        ✗ Flutter requires Xcode 13 or larger.
          Obtain the newest model or replace by way of the Mac App Retailer.
        ✗ CocoaPods not put in.
            CocoaPods is used to retrieve the iOS and macOS platform facet's plugin
            code that responds to your plugin utilization on the Dart facet.
            With out CocoaPods, plugins won't work on iOS or macOS.
            For more information, see https://flutter.dev/platform-plugins
          To put in see
          https://guides.cocoapods.org/utilizing/getting-started.html#set up for
          directions.
    [✓] Chrome - develop for the net
    [!] Android Studio (not put in)
    [✓] IntelliJ IDEA Final Version (model 2022.1.1)
    [✓] IntelliJ IDEA Final Version (model 2022.1.1)
    [✓] VS Code (model 1.67.1)
    [✓] Related machine (2 accessible)
    [✓] HTTP Host Availability
    

    Você pode ver na saída que meu Intel MacBook Pro é muito antigo para suportar o modelo mínimo de Xcode necessário para o crescimento do iOS e macOS. A força de trabalho do Flutter quer que o Xcode 13 crie binários macOS Intel/M1 comuns. Posso desenvolver para Android colocando a cadeia de ferramentas Android SDK e já posso desenvolver para a rede. A inclusão do plug-in Flutter no Visible Studio Code levou menos de um minuto. Se eu ficar crítico sobre o crescimento de funções multiplataforma com o Flutter, talvez queira melhorar pelo menos um entre meus Macs.

    Conclusão

    O Flutter 3 é um benchmark fascinante, fornecendo estabilidade em seis plataformas enquanto continua a se concentrar em melhorias de desempenho. Para construtores que precisam criar aplicativos multiplataforma, agora é provavelmente um ótimo momento para contemplar o Flutter.

    Direitos autorais © 2022 IDG Communications, Inc.

    0