Blog Tecnológico

Xcode: UI Kit Mais conhecimentos sobre Swift

Patrick Gainher • 04 nov 2019

Xcode: UI Kit Mais conhecimentos sobre Swift

Expandindo seus conhecimentos de Swift - Aprendendo mais do Xcode: UIKit

Neste artigo, aprenderemos mais o sobre componentes do Xcode, aqui falando sobre o UIKit.

Aprendendo mais do Xcode: UIKit

Relembrando o assunto anterior

No artigo passado, comentamos a respeito da Interface Builder. Agora, veremos à respeito do UIKit, com seus atributos: Strings, Functions, Structures, Classes e Inheritance, Collections e Loops.

Analisando o UIKit e seus atributos

Aprendendo mais do Xcode: UIKit

O UIKit já foi discutido anteriormente em artigos passados, e aqui exploraremos mais à respeito dele em particular. O framework UIKit fornece os objetos principais que um programador irá precisar para construir aplicativos para iOS, iPadOS e também o tvOS. O programador utilizará estes objetos para servir como um display na tela, exibindo o conteúdo na interface. Além disso, o UIKit servirá para interagir com o conteúdo, e gerenciar as interações com o sistema. Aplicativos utilizam o UIKit para seu comportamento básico, e o UIKit fornece várias maneiras para o programador customizar tal comportamento para estar de acordo com suas necessidades. Veja abaixo, um dos exemplos de fornecimento de templates por parte do Xcode.

Template de Single View Application

Aprendendo mais do Xcode: UIKit

O Xcode fornece projetos estilo “template” que servem como pontos de início para cada aplicativo criado. Por exemplo, temos a estrutura de um aplicativo criado utilizando o template “Single View App”. O template irá então fornecer uma interface de usuário mínima, assim permitindo a compilação e execução do projeto em imediato para ver os resultados no dispositivo ou simulador.

Aprendendo mais do Xcode: UIKit

Figura 1 – Estrutura de dados do Single View App.

O template para uma única view contêm arquivos fonte para um App Delegate e o View Controller, possuindo também o storyboard, o catálogo de recursos (imagens, áudio, etc.) e arquivos Info.plist.

Ao programador construir um aplicativo, o Xcode irá compilar os arquivos fonte e assim criará um “pacote” para o projeto, chamado de App Bundle. Um pacote de aplicativo é um estruturado diretório estruturado que contém códigos e recursos associados ao aplicativo. Os recursos incluem imagens, arquivos storyboard, arquivos string, metadados do aplicativo, e assim por diante. A estrutura do pacote é importante, mas o Xcode saberá onde os recursos são necessários em localização.

Recursos necessários

Aprendendo mais do Xcode: UIKit

Cada aplicativo do tipo UIKit precisa ter os seguintes recursos:

  • Ícones de aplicativos;

  • O Storyboard da tela de boas vindas;

O sistema irá transmitir o ícone do aplicativo na tela principal, em configurações, e em todos os outros lugares para diferenciar o aplicativo de outros. Devido ao seu uso em múltiplos lugares (e em múltiplos dispositivos), será necessário um bom número de resoluções distintas para o ícone dentro do banco de imagens do Xcode. O ícone do aplicativo deve ser distintivo em ajudar ao usuário identificar o mesmo de forma rápida na tela inicial.

Aprendendo mais do Xcode: UIKit

Figura 2 – Diferentes tamanhos de ícones para um único aplicativo iOS.

Um catálogo de ativos contém muitos variantes de um único ícone. O arquivo LaunchScreen.storyboard contém a interface inicial do aplicativo, e pode ser usado como uma versão simplificada ou como uma tela de abertura. Quando o usuário pressiona no ícone do aplicativo, o sistema irá mostrar a tela de abertura instantaneamente, deixando o mesmo ciente da abertura do aplicativo. Além disso, a tela de abertura fornece uma “cobertura” enquanto o aplicativo é inicializado. Ao estar pronto, o sistema esconde a tela de abertura e revela o conteúdo presente na interface.

Recursos de metadados

Aprendendo mais do Xcode: UIKit

O sistema deriva informação sobre a configuração do aplicativo (junto com suas capacidades) à partir do arquivo Info.plist, que é “information property list” dentro do pacote. O Xcode fornece uma versão pré-configurada deste arquivo com cada template, mas será necessário modificá-lo 100% das vezes. Por exemplo, se o aplicativo depende de algum hardware específico, ou utiliza frameworks do sistema específico, será necessário adicionar a informação pertinente às características de tal arquivo.

Uma modificação muito comum que o programador pode fazer ao Info.plist é declarar os requerimentos de hardware e software do aplicativo, para que o mesmo possa ser executado com sucesso. Essa informação serve de comunicação entre o sistema e o aplicativo, facilitando e deixando assim mais rápida a comunicação entre eles. Um exemplo comum, um aplicativo de navegação pode necessitar da presença do hardware GPS para fornecer direções. A App Store previne um aplicativo de ser instalado à um dispositivo que não esteja de acordo com as necessidades, o que é uma outra utilidade presente no arquivo.

Aprendendo mais do Xcode: UIKit

Figura 3 – Declarando os requerimentos de hardware e software do aplicativo.

Capacidades de dispositivo incluem informações como se um aplicativo precisa fazer o uso da câmera, localização, ou alguma outra tecnologia particular.

Estrutura de dados dentro do Aplicativo UIKit

Aprendendo mais do Xcode: UIKit

O UIKit fornece muitos dos objetos principais de um aplicativo incluindo aqueles que interagem com o sistema, executam o evento principal de loop de um aplicativo, e mostram o conteúdo na tela do dispositivo. O programador faz uso destes objetos no sentido “como é”, ou com poucas modificações. Saber quais objetos devem ser modificados e quando deverão é crucial para implementar seu aplicativo.

A estrutura dos aplicativos UIKit é baseada no padrão MVC, o qual já analisamos em artigos passados. Mas apenas para lembrar:

  • Objetos Model gerenciam os dados do aplicativo e sua lógica;

  • Objetos View fornecem a representação visual dos dados;

  • Objetos Controller agem como uma conexão entre os objetos do tipo Model e View, assim movendo dados entre os mesmos em períodos apropriados;

A figura abaixo é uma representação estrutural de um aplicativo UIKit, confira:

Aprendendo mais do Xcode: UIKit

Figura 4 –Os objetos principais de um aplicativo.

Um aplicativo contém um Main Controller e um ou mais View Controllers. Além disso, inclui objetos Model representando os dados do aplicativo, e contém a janela e objetos View para a interface do aplicativo.

O UIKit e os frameworks Foundation fornecem muitos dos tipos básicos que programadores utilizam em seus apps. O UIKit fornece um objeto chamado UIDocument para organizar as estruturas de dados que pertencem em um arquivo baseado em disco. O framework Foundation em contrapartida define objetos básicos representando strings, números, arrays, e outros tipos de dados. O Swift Standard Library fornece muitos dos mesmos tipos disponíveis no framework Foundation.

O UIKit fornece a maior parte dos objetos dentro da camada do Controller e da View. Em específico, o UIKit define a classe UIView, que é responsável por projetar o conteúdo em tela. O objeto UIApplication executa dentro do evento Main e gerencia o ciclo de vida do aplicativo como um todo.

Patrick Gainher

Patrick Gainher

Patrick Gainher é consultor de Linguagem Swift, Google for Education e LG na ENG DTP e Multimídia. Graduando em Ciência da Computação pela Universidade Paulista-SP.

ENG DTP & Multimídia - Logo

CONTATO