Resumo de Aprendizagem
Por: Igor_ms1910 • 1/9/2023 • Relatório de pesquisa • 3.719 Palavras (15 Páginas) • 87 Visualizações
Resumo de aprendizado – Igor
Modularização: é o ato de dividir uma aplicação, então você pega uma aplicação grande e divide em aplicações menores, com o intuito que reaproveitar esses submódulos.
Estratégia: fazer a separação de pacotes dentro do seu monolite, pois, se você ver bem a modularização nada mais é do que a separação de pacotes dentro da sua aplicação, e se você tiver essa separação de pacotes dentro da sua aplicação, você vai enxergar com muito mais clareza o que são, por exemplo: as suas funcionalidades, camada de rede, a sua camada de dados, componentes, enfim, você irá entender melhor o que serão seus futuros módulos.
A modularização em programação é um conceito importante que se refere à divisão de um programa complexo em módulos menores e independentes. Cada módulo é responsável por uma parte específica do programa, o que facilita o desenvolvimento, a manutenção e a reutilização do código.
Existem várias razões pelas quais a modularização é importante:
Organização do código: Dividir um programa em módulos ajuda a organizar o código de maneira mais clara e estruturada. Em vez de ter um único arquivo gigante, você tem vários módulos menores, cada um com uma função específica.
Facilidade de manutenção: Com a modularização, é mais fácil localizar e corrigir erros no código. Se um problema ocorrer em um determinado módulo, você pode se concentrar nele sem precisar examinar o programa inteiro. Além disso, as alterações feitas em um módulo não afetam necessariamente os outros, o que reduz o risco de introduzir erros em partes não relacionadas do programa.
Reutilização de código: Ao dividir um programa em módulos, é possível criar componentes independentes que podem ser reutilizados em outros projetos. Se você escrever um módulo bem projetado e testado, poderá usá-lo em diferentes programas, economizando tempo e esforço.
Colaboração entre desenvolvedores: A modularização facilita a colaboração entre diferentes desenvolvedores em um projeto. Cada desenvolvedor pode se concentrar em um módulo específico, trabalhando de forma independente e integrando os diferentes módulos no final.
Para implementar a modularização em um programa, é comum usar conceitos como funções ou métodos (dependendo da linguagem de programação), classes, pacotes ou módulos. Cada módulo contém um conjunto de funcionalidades relacionadas, que podem ser chamadas e usadas em outros módulos, conforme necessário.
Em resumo, a modularização em programação é uma abordagem para dividir um programa em partes menores e independentes, o que melhora a organização, facilita a
manutenção, promove a reutilização de código e permite uma colaboração mais eficiente entre os desenvolvedores.
Monolito - Representa uma arquitetura, onde tudo que é criado, é criado em cima de um mesmo bloco;
- Componentes: são unidades de software independentes e reutilizáveis que encapsulam funcionalidades relacionadas. Podem ser implementados como classes, funções ou módulos. São projetados para facilitar a modularização, reutilização e manutenção do código.
No Flutter, os componentes são chamados de "widgets". Os widgets são blocos de construção da interface do usuário, podendo ser visuais (botões, imagens) ou de layout (contêineres, linhas). Os widgets no Flutter são flexíveis, personalizáveis e reutilizáveis, e são organizados em uma hierarquia.
- Estruturas: pode se referir a uma estrutura de dados que organiza e armazena dados, ou a frameworks/bibliotecas que fornecem uma estrutura de desenvolvimento para construir aplicativos.
- Páginas: são telas ou visualizações em um site ou aplicativo, exibindo informações e permitindo interação com o usuário. Podem ser compostas por componentes, estruturas e recursos específicos da programação.
Flutter: as páginas são chamadas de "telas" ou "rotas". Cada tela representa uma visualização única do aplicativo, compostas por widgets e elementos de interface do usuário específicos do Flutter. O Flutter oferece recursos para gerenciar as transições entre as telas.
- Design System: é uma biblioteca de componentes que você cria baseado, no monte de regras.
É algo que facilita você como desenvolvedor ou designer, continuar a criar produtos de uma maneira consistente.
Um design system é um conjunto de padrões interconectados e práticas compartilhadas organizadas de forma coerente para servir aos propósitos de um produto digital.
O Design System é um conjunto de diretrizes, padrões, componentes e práticas de design que são usados de forma consistente em um projeto ou organização. Ele fornece um conjunto de regras e princípios para garantir a coerência visual, a usabilidade e a experiência do usuário em todos os produtos ou serviços de uma empresa.
O objetivo principal de um Design System é criar uma linguagem de design unificada e coesa, facilitando o processo de design e desenvolvimento, além de promover uma experiência consistente para os usuários. Ele engloba elementos de design, como cores, tipografia, ícones, espaçamentos e estilos visuais, bem como componentes de interface do usuário, como botões, campos de entrada, menus, barras de navegação, entre outros.
Um Design System eficiente traz benefícios como economia de tempo no desenvolvimento, melhoria da consistência visual, reutilização de componentes, padronização da experiência do usuário e colaboração mais efetiva entre designers e desenvolvedores.
Constantes:
• Cores;
• Espaçamentos;
• Tipografia.
Components Padrão:
"Componentes padrão" referem-se a widgets pré-definidos e amplamente utilizados fornecidos pela biblioteca do Flutter. Eles são elementos comuns e convenientes para a construção de interfaces de usuário, seguindo as convenções de design e interação do Flutter.
Exemplos:
• Elevated Button;
• AppBar.
Estruturas Padrão:
o termo "estruturas padrão" não é comumente utilizado no contexto de Design Systems. Pode ter havido uma confusão ou uso incorreto do termo.
No entanto, no contexto mais amplo do design de interfaces e do Design System, as estruturas referem-se às formas de organização e disposição dos elementos de uma interface de usuário. As estruturas fornecem um esqueleto ou uma base para a composição dos elementos visuais e funcionais em uma interface. Elas podem incluir layouts, grades, hierarquias de informações e fluxos de navegação.
...