Skip to content

Repository files navigation

Resumo da primeira aula

Hoje criamos um novo usuário restrito com permissões de administrador chamado 2DevSESI em todos os PCs da sala, em busca de privacidade e segurança aos alunos dessa turma e seus projetos. (continuar)



Introdução ao Desenvolvimento Mobile

Tipos de Desenvolvimento

Nativo

  • Android:

    • SDK : Android SDK
    • IDE : Android Studio
    • Linguagens: Kotlin e Java
    • Ambientes: Mac, Win, Linux
  • IOS:

    • SDK: Cocoa Touch
    • IDE: Xcode
    • Liguagens: Swift / Objectype-C
    • Ambientes: Mac

Multiplataforma

  • React Native:

    • SDK: Node.js
    • IDE: VSCode
    • JavaScript / TypeScript
    • Ambientes: Mac, Win, Linux
  • Flutter:

    • SDK: Flutter SDK
    • IDE: VSCode, Android Studio
    • Linguagens: Dart
    • Ambientes: Mac, Win, Linux

Preparação do Ambiente de Desenvolvimento

Instalação do FlutterSDK

  • download do arquivo ZIP na página flutter.dev
  • inclusão do flutter na pasta C:\src
  • inclusão do flutter\bin nas varáveis de ambiente
  • teste o flutter --version

Instalação do AndoridSDK

  • download do Android SDK - Command Line Tools
  • adicionar o Command-line ao c:\src\AndroidSDK
  • adicionar o SDKManager às Variáveis de ambiente -> Variáveis do Sistema -> path
  • download dos pacotes
    • emulador
    • platforms
    • platform-tools
    • build-tools
  • adicionar ADB e o Emulator as Variáveis de Ambiente
  • Criação da Imagem do Emulador - via sdkmanager
  • Build do Emulador - via sdkmanager

Criação de projetos e códigos da linha de comando

  • Criação de Projetos

    • flutter create <nome_do_app>
      • flags(marcações):
        • --empty : Cria um app "vazio" (Hello World!)
        • --platforms : Permite a seleção de uma plataforma de desenvolvimento
          • ex: --platforms=android (a criação do projeto será somente para a plataforma android)
    • exemplo de criação de uma aplicativo android
      • flutter create nome_do_app --empty --platforms=android
      • obs.: nome do aplicativo -> todas as letras minúsculas e separação de palavras com '_';
    • flutter doctor
      • Permite correção de pequenos problemas no flutter e identificação dos parâmetros funcionais em relação as plataformas de desenvolvimento
      • Sempre rodar o flutter doctor no começo do desenvolvimento
    • flutter clean
      • limpa o cache do build (apaga o apk anterior)
    • flutter run -v
      • build do app (apk)
  • gerenciamento de dependências do PubSpec()

    • instalação
      • flutter pub add nome_dependencia
    • baixar e instalar dependências projetadas
      • flutter pub get
    • outros comandos do flutter pub(dependências)
      • flutter pub outdated (verifica se as dependências estão desatualizadas)
      • flutter pub upgrade (atualiza as dependências do flutter pub)

Estrutura básica de um aplicativo em flutter

Árvore de Widgets

    flowchart TD
        subgraph MaterialApp["MaterialApp"]
        end

        subgraph Janelas["Janelas"]
            StateLess["StateLess"]
            StateFull["StateFull"]
        end

        subgraph Scaffold["Scaffold"]
            AppBar["Appbar"]
            Body["Body"]
            BNBar["BNBar"]
            Drawer["Drawer"]
            FAButton["FAButton"]
            SnackBar["SnackBar"]
        end

        MaterialApp --> Janelas
        Janelas --> Scaffold

Loading

Tipo de Janelas

StateLess

Janelas Imutáveis - uma vez construida ela não se altera Obs.: pode ter movimento (GIF, Movies, Carousel, Cards), mas não consigo alterar as imagens, vídeos, GIFs e outros elementos depois de montados.

StateFull

Janelas que permitem mudança de estado (setState) Obs.: Permite Adicionar elemetos a Janela, Como novas Imagens, Novos Textos entre outros.

Comparativo StateLess x StateFull
Caracteristica Stateless Stateful
Mutabilidade Não Sim
Uso Ideal Layouts Fixo e Exibição de dados Estáticos Interações do Usuários, Animações e Dados Dinâmicos
Armazenamento de Estado Não Sim
Método Principal build() build()+setState()

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages