Baixe o app para aproveitar ainda mais
Prévia do material em texto
IOS Sumário 1 Introdução 5 2 INTRODUÇÃO AO DESENVOLVIMENTO IOS 6 2.1 DESENVOLVIMENTO DE APLICATIVOS 6 2.1.1 Linguagem de programação 7 2.1.2 Frameworks 7 2.1.3 Xcode 8 3 LICENÇAS E LINKS INTERESSANTES 9 3.1 LICENÇAS 9 3.1.1 Airport para iOS 10 3.1.2 Gerageband para iOS 11 3.1.3 iMovie para iOS 12 3.2 LINKS 13 3.2.1 Como os links funcionam? 13 3.2.2 Possíveis problemas em Universal Links 13 4 COMANDOS DE CONTROLE, DECISÃO E REPETIÇÃO 14 5 TIPOS DE DADOS AVANÇADOS 15 5.1 LISTAS 15 5.1.1 Item destino 15 5.1.2 Estruturas de lista estática 16 5.1.3 Lista multável 16 5.2 FILHOS 16 5.2.1 Child_added 16 5.2.2 Child_changed 16 5.2.3 Chlid_removed 16 5.2.4 Child_moved 17 5.3 PILHAS 17 5.4 ÁRVORES 17 6 RECONHECIMENTOS DE GESTOS 18 6.1 O QUE SÃO GESTOS PARA O IOS? 18 6.2 GESTOS MODELOS PARA O ID FACE 19 7 APLICAÇÕES MULTIVIEWS 20 8 ESTRUTURA DE UMA TABLE VIEW 20 8.1 COMO CRIAR UTILIZANDO O TABLE VIEW 20 8.2 ADICIONANDO DADOS 22 9 CÂMERA E PHOTO LIBRARY 23 9.1 COMO MOVER A SUA BIBLIOTECA DE FOTOS? 23 10 INTERNACIONALIZAÇÃO E ADEQUAÇÃO 24 10.1 POR QUE INTERNACIONALIZAR? 24 10.2 COMO INTERNACIONALIZAR? 24 11 PERSISTÊNCIA DE DADOS 25 11.1 PRINCIPAIS BANCOS DE DADOS 26 11.2 FRAMEWORKS ESPECIFICOS 26 Resumo do curso 27 Referências 28 Módulo 1 IOS 1 Introdução O iOS é um sistema que está presente de forma popular em nosso cotidiano. Tipicamente, podemos encontrá-lo em locais como nos celulares da Apple, mas não somente: ele também pode ser encontrado em computadores, por exemplo. Esse sistema expandiu rapidamente nos últimos anos devido à sua qualidade e ótimo custo-benefício. Por essa razão, é importan- te que as pessoas estejam atentas ao sistema e sua evolução a fim de ingressar neste merca- do de trabalho promissor. Pensando nisso, apresentamos este curso, em uma única etapa, para que você entenda mais sobre desenvolvimento no iOS. Vamos abordar desde a sua introdução, passando por itens importantes como as licenças, aplicações e persistências de dados. Desta forma, você terá uma boa base e conseguirá se desenvolver neste caminho que é tão acolhedor para profissio- nais preparados. 6 2 INTRODUÇÃO AO DESENVOLVIMENTO IOS O iOS é bastante conhecido por ser um sistema utilizado nos telefones da Apple, grande marca que tem conquistado o mercado. Os aparelhos desta marca chamam a atenção dos consumi- dores pelo excelente funcionamento e custo-benefício justo, mas algo que influencia na es- colha de forma negativa são os aplicativos, que normalmente são pagos. Além disso, muitos aplicativos utilizados tradicionalmente não possuem uma versão para o iOS, fazendo com que os consumidores indecisos optem pelo Android. Para que você consiga contribuir com este mercado, vamos iniciar este curso conversando sobre o desenvolvimento de aplicativos, as- sim você terá mais facilidade para entender sobre a raiz do iOS. FIGURA 1 - DESENVOLVIMENTO IOS FONTE: Freepik (2021). 2.1 DESENVOLVIMENTO DE APLICATIVOS Como bem sabemos, tudo que é produzido no meio da informática necessita de uma lingua- gem de programação para que seja feito. O iOS tem uma linguagem de programação chama- da de Objective-C, que também é popularmente conhecida por pessoas ligadas à área como ObjC. Como esta é a linguagem de programação, este será o nosso primeiro passo de conhe- cimento dentro desta história. 7 2.1.1 Linguagem de programação Como dissemos, a linguagem de programação utilizada no sistema iOS é a Objective-C. Ela foi desenvolvida em meados dos anos 80, pela StepStone, mas a responsável por sua adoção e popularização foi a NeXT. A empresa utilizou esta linguagem em seu sistema operacional, o NeXTSTEP. A ObjC é voltada para os objetos que adicionam estilo à troca de mensagens de Smalltalk, uma linguagem de programação voltada para a definição de tipo dos dados, como a linguagem de programação C, que é o local por onde o programa passa a ser executado. De forma geral, a ObjC é responsável por fornecer a sintaxe de comandos que os aplicativos normalmente utili- zam para funcionar. Nota Como sabemos, o suporte aos usuários é muito importante, mas a Objec- tive-C não oferta isso aos seus usuários. Este tipo de recurso de suporte é ofertado através da biblioteca Cocoa Touch, que foi desenvolvida pela Apple. Você pode acessá-la clicando neste link: https://developer.apple.com/li- brary/archive/documentation/General/Conceptual/DevPedia-CocoaCore/ Cocoa.html 2.1.2 Frameworks Os frameworks são ferramentas que tornam possível o compartilhamento de trechos de có- digos que tenham funcionalidade semelhante, por isso, como você já pode imaginar, eles são de grande importância para a programação. Sabe por que isso ocorre? É bem simples. Ima- gine uma indústria automotiva. Os frameworks são como as peças que estão prontas, apenas esperando para serem inseridas em carros que necessitem, independente dos modelos. Ou seja, de forma muito simples, os frameworks são códigos funcionais que estão apenas a espe- ra de um sistema para utiliza-los. Para a construção de aplicativos no iOS são utilizados os frameworks Foundation Kit, que são frameworks Objective-C da especificação OpenStep. Eles são conhecidos por serem bem completos, fornecendo as estruturas de dados, recursos de rede, recursos de entrada e saída e tratamento de strings. https://developer.apple.com/library/archive/documentation/General/Conceptual/DevPedia-CocoaCore/Cocoa.html https://developer.apple.com/library/archive/documentation/General/Conceptual/DevPedia-CocoaCore/Cocoa.html https://developer.apple.com/library/archive/documentation/General/Conceptual/DevPedia-CocoaCore/Cocoa.html 8 2.1.3 Xcode Para que você tenha um melhor desempenho, é fundamental conhecer as ferramentas dispo- nibilizadas pela Apple. A empresa disponibiliza, por exemplo, os desenvolvedores Xcode, que são ambientes integrados, e também um software livre da Apple. Além disso, ela dispõe tam- bém do Integrated Development Environment (Ambiente de Desenvolvimento Integrado), popu- larmente conhecido como IDE. Trata-se de um programa de computador que tem como obje- tivo reunir características e ferramentas, a fim de apoiar o desenvolvimento de um software. O Xcode é muito útil pela quantidade de ferramentas que coloca a disposição do seu usuário. Confira a seguir a lista das mais importantes. • Compilador LLVM: trata-se de uma ferramenta muito funcional para quem deseja compilar algum tipo de código, além de ter a possibilidade de completar códigos que perderam as suas partes; • Interface Builder: popularmente conhecido como IB, ele é responsável pela cara do aplicativo, como a parte visual. A construção de telas, por exemplo, pode ser feita por ele, simplificando muito o trabalho de desenvolvimento; • Organizer: é uma ferramenta de dentro do LLVM que serve para quem deseja geren- ciar os seus projetos, ajudando na organização. Além disso, você pode, através dele, gerenciar os dispositivos utilizados para teste, ajudando muito a controlar quem tem acesso ao seu projeto; • Instruments: esta ferramenta incrível é disponibilizada pela LLVM para quem deseja analisar o desempenho dos seus códigos, podendo fazer mudanças necessárias para o melhor desempenho do seu aplicativo ou site; • iOS Simulator: por último, mas não menos importante, para finalizar nossa introdu- ção, falaremos um pouco mais este simulador desenvolvido para uso principalmente em iPhones e iPads. Através dele é possível simular o aplicativo desenvolvido e, as- sim, verificar seu desempenho e usabilidade. Agora que entendemos um pouco mais sobre alguns princípios básicos, vamos conhecer al- gumas dicas para que você aproveite as melhores ferramentas. 9 3 LICENÇAS E LINKS INTERESSANTES O iOS é um sistema operacional muito utilizado e popular. Com isso, surgem links que podem ajudar no seu bom funcionamento e licenças que fazem com que atualizações sejam sempre bem explicadas. Vamos abordá-los avaliando o seu grau de importância. Quando falamos das licenças, temos termos importantesvoltados para a comunicação entre o seu criador e o seu consumidor, explanando regras, possibilidades de melhoria ou de defa- sagem, seja de produtos ou serviços, como os computadores da Apple ou os seus aplicativos, por exemplo. 3.1 LICENÇAS As licenças são de fundamental importância. Elas são um documento digital que, por vezes, garante direitos, execuções e modificações de um programa ou um aplicativo. Quando fala- mos de iOS, existem diversas licenças. Confira a seguir alguns exemplos: • Ferramentas de software do sistema operacional e servidor; • Licença de softwares e aplicativos; • Licenças de forma geral; e • Licenças ligadas aos produtos da Apple, como Apple TV, iPod e Apple watch, entre outros. Para que consigamos manter um foco no desenvolvimento de aplicativos para iOS, vamos co- meçar abordando as licenças de software para aplicativos, assim você se manterá informado. Nota No Site da Apple, na parte de Licenças, você pode encontrar a informação de que, tanto o produto comprado na loja, quanto o software tem licenças ba- seadas nas condições para o produto no momento da sua compra. Por isso, é importante que ao comprar algo que tenha o iOS instalado, o cliente bus- que saber sobre as suas licenças de uso, para que sejam compatíveis com os seus propósitos. 10 Quando é feita a busca por licença de software e aplicativos, é possível encontrar três opções: • Aplicativos para MacOS; • Aplicativos para iOS/iPadOS; e • Aplicativos para Windows. Tendo em vista que o nosso objetivo de aprendizagem é sobre o iOS, vamos priorizar aqui os aplicativos para iOS/iPadOS. Deste tópico, selecionamos as licenças que mais se destacam e que podem ser mais relevantes para o conhecimento do sistema. 3.1.1 Airport para iOS Na licença de Airport para iOS é possível encontrar informações muito úteis, como: • Termos e licença; • Licença de volume ou manutenção; • Requisitos do sistema; • Conteúdo; • Concordância das leis; • Atualizações automáticas. Quando falamos do consentimento para o uso de dados, podemos incluir: • Diagnóstico e dados de utilização; • Políticas de privacidade. Neste termo você também pode encontrar itens como um acordo completo, de acordo com o idioma governante. 11 3.1.2 Gerageband para iOS Neste tópico você encontrará mais informações sobre a licença no contrato do Garageband. Dentro dele você encontrará: • Licença de forma geral, falando sobre os termos e condições; • Licença de volume ou manutenção; • ID Apple; • Compra dentro do app; • Requisitos do sistema; • Materiais digitais; • Concordância com as leis; • Softwares de terceiros. Para que você aprove a parte de consentimento para o uso de dados, é importante ter infor- mações sobre: • Dados para análise; • Dados de localização; • Políticas de privacidade. Após as informações concedidas acima, você pode encontrar também informações sobre os serviços e materiais de terceiros. 12 3.1.3 iMovie para iOS Quando falamos de assistir filmes, o iMovie pode te ajudar de uma forma efetiva! Para enten- der mais sobre o uso autorizado pela licença e restrições, você encontrará informações como: • Licença; • Licença de volume de manutenção; • Resquícios de sistema; • Conteúdo e materiais digitais; • Recursos e suporte; • Sem engenharia reversa; • Concordância com as Leis; • Software de terceiros; • Atualizações automáticas. Entretanto, quando o assunto é o consentimento sobre o uso de dados, podemos encontrar com facilidade: • Dados de análise; • Dados de localização; • iMovie Theater; • Política de privacidade. Neste tópico conversamos um pouco sobre as licenças quando o assunto é o iOS, pois elas são uma grande questão no momento de atualizações e funcionamento do celular. 13 3.2 LINKS Aqui podemos falar sobre os Apple Universal links, que são links configurados com um padrão da Apple, especialmente para o iOS. Mas por que isso é importante? Eles são fundamentais pelo simples fato de que, com esta exclusividade, assim que o usuário do iOS clicar sobre o Universal Link, ele será transferido diretamente para o aplicativo, caso este já tenha sido ins- talado para o seu computador. Os Universal links funcionam como uma configuração mais complexa dos sistemas em que estão presentes, mudando a forma como os links antigos se comportam. Nota Os Universal links são links de retargeting, que são implantados nos cookies dos sites para que o cliente possa ser localizado e captado através da sua busca. Eles se utilizam de uma tecnologia especial que é aplicada ao universal link, fazendo com que os usuários do sistema operacional que suporta este tipo de atualização, sejam direcionados para o aplicativo do link em questão. 3.2.1 Como os links funcionam? Quando um usuário do sistema clica sobre um link, ocorre um transporte do comando direta- mente para o servidor da Apple. Esta informação faz com que o sistema operacional, no caso o iOS, abra diretamente o universal link. Uma das maiores vantagens é que o este link universal é aberto diretamente pelo iOS, sem a necessidade de abrir o navegador ou de carregar a URL. Para saber qual link está mais de acordo com o seu sistema operacional ou com o seu objeti- vo, é preciso conferir os seus tipos, assim saberá se os mesmos que funcionam em Android funcionam em iOS. 3.2.2 Possíveis problemas em Universal Links Mesmo sendo muito úteis, estes links não estão a salvo de bugs ou de mau funcionamento. Existem problemas como a falta de mensuração ou atribuição, compactação de links, que se tratam de links muito grandes, por vezes com uma má configuração, podendo gerar no seu leitor a sensação de link falso, inibindo o clique. Estes são problemas que já existem há algum tempo e que estão sendo estudados para que a solução de cada um chegue de forma mais breve possível. 14 4 COMANDOS DE CONTROLE, DECISÃO E REPETIÇÃO Estes são termos importantes e que você ouvirá muito relacionado ao iOS. É através deles que os comandos ao assistente virtual são dados, fazendo com que funções sejam desempenha- das de maneira automática. Entretanto, para que saibamos quais são os comandos de contro- le, decisão e repetição, é fundamental saber do que se trata cada um. • Comandos de controle: estes são os comandos responsáveis pelo controle de diver- sas situações. • Controle de decisão: nele qualquer comando será executado partindo da análise de determinada situação. • Comando de repetição: este comando é dado a partir da repetição quase que exaus- tiva de uma função. Agora que o conceito de todos já está um pouco mais claro, vamos para alguns exemplos de comandos que vão te ajudar a entender mais a situação. • O controle de voz permite que você controle o iPhone através da voz, dando coman- dos para que o mesmo consiga interagir com você através da tela, como com o ditado de textos, edição e ligação, por exemplo. • O controle de decisão é importantíssimo para a tomada de decisão do usuário, isso por que, é através delas que o desenvolvimento de itens para o iOS será feito de forma correta. • Sabe aquilo que você deve ficar repetindo para que enfim seja feito? Isso também pode ocorrer com o iOS e é o que chamamos de comandos de repetição. Um bom exemplo dele dentro do iOS é através do controle assistivo. Nele você pode definir uma ação que será repetida e manter o controle pressionado, até que a mesma seja realizada. Estes exemplos te ajudaram a entender melhor sobre os controles que podemos encontrar no iOS? Lembre-se que, como o desenvolvimento é constante no iOS, você pode sempre estar criando algo, para que assim itens como os comandos sejam cada vez mais funcionais e prá- ticos para os seus usuários. 15 5 TIPOS DE DADOS AVANÇADOS Os dados avançados existem com o propósito de abrigar vários outros dados, valores e opera- ções que são servidos pela ferramenta central. Estes são complexos e merecem toda a aten- ção que é possível dar-lhe. As principais estruturas de dados são: • Listas;• Filhos; • Pilhas; e • Árvores. Importante Algumas das categorias da estrutura de dados avançados tem subtítulos em sua composição, sendo locais que precisam ser visitados para que haja o seu entendimento em um todo. 5.1 LISTAS As listas, também chamadas de sequência, se tratam de dados abstratos que completam uma sequência de valores. É importante salientarmos que, em uma lista, o mesmo valor pode ocor- rer mais de uma vez. Para entender o que é uma lista é necessário saber que, uma instância de uma lista se trata de uma representação computacional do conceito da matemática de sequência infinita. Mas por que esta é uma informação relevante? Porque cada uma das ins- tâncias das quais falamos tem um valor na nossa lista, que é comumente chamado de item. 5.1.1 Item destino Se trata de quando um valor ocorre mais de uma vez, de forma repetitiva, assim, esta ocorrên- cia é considerada um item destino. 16 5.1.2 Estruturas de lista estática Este tipo de lista permite que seja feita apenas a verificação e a enumeração de valores pre- sentes, ou seja, a alteração por completo não pode ser feita. 5.1.3 Lista multável Também conhecida como dinâmica, nela é permitido inserir itens, substitui-los ou exclui-los durante o seu uso da lista. 5.2 FILHOS Filhos, também conhecidos de eventos ou eventos filhos, são acionados como uma res- posta a operações que ocorrem nos filhos de um nó de uma operação específica. Inclusi- ve, cabe explicar que, um nó se trata de um registro em um ou mais campos, conectados a outros nós dentro de um campo de dados. Estes podem ser adicionados através do método push () que gera uma chave exclusiva sempre que um novo filho é adicionado a uma refe- rência especifica do Firebase ou atualizado através do método update (), que serve para a atualização de um filho. A seguir, veja um pouco sobre alguns eventos e seu uso habitual: 5.2.1 Child_added Se trata de uma ferramenta de recuperação de listas de itens ou para detectar adições de ele- mentos que foram feitos a uma lista recente. É importante saber que, o child_added só pode ser adicionado uma vez para cada filho. Sempre que o filho seguir o caminho indicado, o liste- ner receberá um registro com os novos dados do filho. 5.2.2 Child_changed Este é um evento utilizado comumente para encontrar mudanças em itens de uma lista. Você poderá encontrá-lo sempre que um nó filho for alterado, incluindo alterações descendentes. 5.2.3 Chlid_removed Este tipo de evento tem o potencial de detectar itens que estão sendo removidos da sua lista. O listener recebe a informação imediata quando um filho é removido. 17 5.2.4 Child_moved É responsável por encontrar mudanças na ordem dos itens de uma lista do tipo ordenada. Importante O evento child_moved sempre segue o child_changed, causando a mudança da ordem dos itens. 5.3 PILHAS As pilhas são consideradas estruturas de dados de tipo simples e, para que cumpra sua fun- ção, é possível transformá-las em estruturas persistentes. As pilhas são um tipo de abstrato de dado, caracterizado pelo empilhamento de dados. Normalmente elas são compostas por duas operações: Push (empilhar) e pop (desempilhar), responsável por remover o último ele- mento adicionado. 5.4 ÁRVORES Em dados avançados, a árvore é responsável por organizar um conjunto de acordo com a hie- rarquia demonstrada. Elas são compostas por elementos chamados de nó ou nodos e é fun- damental salientarmos que, para que um conteúdo seja representado em um nó, não existem impedimentos, basta que ele seja colocado. Para que você consiga percorrer uma árvore, basta ir listando os seus nós: Pré-ordem, central e pós-ordem. • Pré-ordem: é uma função que lista o nó raiz, ajudando a explorar as suas sub-árvores. • Central: é um nó que pode estar localizado na lista de nós da primeira sub-árvore usando o caminhamento central. Ele também lista as demais árvores em caminha- mento central. • Pós-Ordem: lista os nós das sub-árvores, seguindo a sequência da direita para a es- querda, com cada uma delas em pós-ordem. 18 6 RECONHECIMENTOS DE GESTOS Com a evolução da tecnologia, é comum que os itens como celulares e outras ferramentas da área da informática avancem. Estes avanços são um benefício enorme, tanto para o usuário, quanto para as empresas de forma geral. Uma destas evoluções é o reconhecimento de ges- tos, sendo uma forma inclusiva, prática e muito legal de executar algumas ações no seu celu- lar, principalmente nos que tem o sistema iOS instalado. Para que você conheça mais sobre esta possibilidade, a seguir vamos tratar um pouco sobre o reconhecimento de gestos. 6.1 O QUE SÃO GESTOS PARA O IOS? Este é um questionamento importante, tendo em vista que, os gestos são conhecidos de ma- neira universal. Para o iOS, os gestos se tratam de movimentos que podemos fazer com os dedos para que possamos interagir com o sistema de uma forma mais rápida e inclusiva. Contudo, como seria a execução destes gestos no seu celular? Parece ser complexo, mas não é. Pode ser a execução de escolha com apenas um toque, desbloqueio com dois toques na tela, arrastando uma parte especifica da tela, para que consiga executar ações, além de des- lizar rapidamente o menu, por exemplo. Você consegue perceber como os gestos são inclusivos? Pense se através deles seria possí- vel facilitar a vida de pessoas com baixa coordenação motora, que tenham algum tipo de defi- ciência ou que desejem utilizar este tipo de ferramenta para facilitar o dia a dia. 19 6.2 GESTOS MODELOS PARA O ID FACE O ID Face se trata de um de reconhecimento de face muito utilizado pela Apple. Para que ele funcione, basta posicionar o celular a frente do seu rosto, permitindo que a sua câmera frontal faça uma análise. Existem alguns gestos que são padrão e que podem te ajudar a utilizar o ID Face de uma forma mais simples. Acompanhe os exemplos a seguir. • Voltar para o início: para que você consiga sair da tela que está e consiga voltar para a página inicial, basta posicionar o dedo na parte inferior do seu telefone e deslizar para cima a qualquer momento, assim o comando será dado e você voltará para a sua tela inicial. • Acessar controles rapidamente: existem vezes em que é necessário abrir o controle do celular de maneira rápida, em situações que não podem esperar. Para fazer isso, posicione o seu dedo na borda superior, no canto direito e arraste para baixo. • Abra o seletor de apps: às vezes necessitamos encontrar algum aplicativo para exe- cuta-lo, mas busca-lo no menu pode demandar tempo. Para localiza-lo de forma rápi- da, basta posicionar o dedo na borda inferior da página, arrastar para cima e parar no meio da tela, mantendo-a pressionada. Assim, os aplicativos abertos serão encontra- dos e poderão ser explorados. • Alternar entre aplicativos abertos: quando você está utilizando mais de um aplicati- vo e deseja alternar entre eles, basta passar o dedo para a direita ou para a esquerda próximo a borda inferior do seu celular, assim os aplicativos serão mostrados. • Usar o Apple Pay: deseja pagar algo e não quer buscar pelo aplicativo? Para isso, a solução é rápida, dê um toque duplo no botão de desligar do seu celular, assim o seu cartão de crédito será exibido. Para que você consiga finalizar a transição, é necessá- ria a autenticação do ID Face. Viu como existem muitos gestos que podem te ajudar no dia a dia, simplificando a sua vida e fazendo com que o seu cotidiano seja cada vez mais prático? Não se intimide, busque por no- vos gestos que possam ajudar. Pensou em algo que ainda não está inserido? Desenvolva para o iOS e colabore com o mundo! 20 7 APLICAÇÕES MULTIVIEWS As aplicações multi-telas, também chamadas de multiviews, são, de forma bem simples, apli- cativos abertos em diversas telas. Pela sua grande utilidade, ele pode ajudar na criação de aplicativos, organizando o tempo e o ambiente, por exemplo. Para que você possa criar um projeto com a ajuda das facilidades do multiview, bastaabrir o Olympus IMS, que é um software multiview, selecionar a guia “Arquivo” buscar por “Novo” e escolher o projeto. Assim que passar esta etapa, opte por exibir a folha em apenas uma lauda, para fazer isso basta aumentar o zoom ou ir até a seleção de modelo. Para que o processo dê certo, nomeie o produto como “swift iOS Multiview”. Em seguida, você pode selecionar o ViewController.swift, depois clicar duas vezes no nome da sua classe e, a seguir, clicar com o botão direito mouse. Pra que você tenha os controladores de visualização de conteúdo, clique com o botão direito no grupo e escolha um novo artigo. 8 ESTRUTURA DE UMA TABLE VIEW Para começarmos a falar deste ponto, é importante lembrar que este é um dos componen- tes mais utilizados quando o assunto é a construção de interface de aplicativos em iOS. Você pode encontrar o Table View, que se trata de componentes muito usados no framework, dentro de aplicativos que vem originalmente no seu celular, como as configurações, contatos e apli- cativos de e-mail. 8.1 COMO CRIAR UTILIZANDO O TABLE VIEW Para criar, abra o aplicativo que falamos no início, o Xcode e opte por iniciar um novo traba- lho. Assim que ele abrir, preencha todos os campos que são considerados como obrigató- rios, como o nome, sua conta da Apple, domínio para identificar o autor do projeto e lingua- gem, por exemplo. 21 FIGURA 2 – CONSTRUINDO UMA TABLE VIEW Fonte: Falcão (2019). Você poderá criar uma table view com storyboard, para isso selecione o Main.storyboard para que este seja aberto para edição. Quando a biblioteca de objetos abrir, vá até o canto inferior direito e procure pelo table view. Em seguida, basta arrastar para a view controller. Assim que este se encontrar no posicionamento correto, adicione Constraints para adicio- nar ao Autolayout e garantir o funcionamento no iOS de qualquer numeração, como o iPhone 7, por exemplo. FIGURA 3 – VIEW CONTROLLER Fonte: Ekren (2018). 22 8.2 ADICIONANDO DADOS Você precisará assinar os delegates e datasources UITableViewDelegate e UITableViewData- Source respectivamente a sua ViewController, aparecendo assim um código. A UITableViewDataSource serve para que possa conectar a Table View a uma lista de dados qualquer. Existem dois métodos obrigatórios que qualquer classe que assinar o protocol pre- cisará implementar: o tableView(_:cellForRowAt:) e o numberOfRows(inSection:). Importante Storyboard: Lida com a construção de hierarquia de view, além da navegação entre elas. Constraints: Ajuda na responsividade do aplicativo. Delegate: Protocol com assinatura de funções obrigatórias ou opcionais, no qual a classe que implementar concordará com o poder dele. datasources UITableViewDelegate: Protocol para representação de modelo de dados para a table view. UITableViewDataSource: Protocol usado para representar um modelo de dados. 23 9 CÂMERA E PHOTO LIBRARY A câmera é um fator importante para quem deseja comprar um celular, quanto melhor a qua- lidade de um celular, melhor, pois ter uma boa imagem de captação é importante. Diferente dos celulares Android, que podem salvar as suas fotos em locais como a memória do celular e o Google Drive, o iOS dá a oportunidade de salvar imagens e vídeos no Photo Library. Este se trata de um espaço onde as suas fotos ficaram armazenadas, ofertando qualidades para o aparelho no qual está instalado, como, por exemplo, a economia de espaço em Mac e iPhones. 9.1 COMO MOVER A SUA BIBLIOTECA DE FOTOS? Existem muitas maneiras de mover a sua biblioteca de fotos. Para isso, você precisa sair do Photo Library. Em seguida, vá para o Finder e se direcione para um espaço onde deseja que a sua Photo Library fique guardada. Você pode encontrar a sua biblioteca de fotos através do localizador usuário/nome de usuário/imagens. Para colocar suas fotos no novo local de armazenamento, basta selecionar o arquivo, clicar no triangulo e certificar-se de que a caixa de seleção “Ignorar a propriedade deste volume” esteja marcada. Caso ela esteja bloqueada, basta clicar no cadeado para desbloquear. Após a transferência bem sucedida, clique duas vezes na biblioteca de fotos para abri-la de forma simples. FIGURA 4 – COMO MOVER A BIBLIOTECA DE FOTOS Fonte: Apple (2021). 24 10 INTERNACIONALIZAÇÃO E ADEQUAÇÃO A internacionalização ou localização de aplicações se trata da possibilidade de adaptação de aplicativos de acordo com o idioma e região no qual este está sendo utilizado. É importante que salientemos que este tipo de alteração não se restringe apenas aos textos, mas abrange itens como moedas, unidades de medidas e datas, por exemplo. 10.1 POR QUE INTERNACIONALIZAR? Esta é uma pergunta interessante. A internet é mundial e os aplicativos que você criar pro- vavelmente não serão utilizados apenas em uma região ou país. A internacionalização e ade- quação farão com que eles possam ser utilizados em qualquer lugar, isso graças a adequação, fazendo com o que foi desenvolvido esteja dentro da realidade do usuário, aumentando o seu incentivo para o uso. 10.2 COMO INTERNACIONALIZAR? Uma das opções para a internacionalização é a da utilização do Localizable.strings. Para uti- liza-la você deve primeiro criar um arquivo. Após a criação você pode renomear utilizando a chave-valor. Em seguida, clique no arquivo Localizable.strings e adicione um idioma novo no File Inspector. Importante Localizable.strings se trata da nomeação padrão que o iOS usa para textos localizados, por isso é importante não nomear o arquivo de outra maneira. É importante alertar que o botão terá como opções de idiomas apenas os de base. Para que você acrescente um novo vá até a secção “Localizations”, clique em “+” e escolha um novo idioma. 25 Para que esta String consiga cumprir a sua missão será necessário utilizar uma NSLocalizedS- tring que é responsável por fornecer a descrição de um texto, onde o construtor recebe a Key e o comment. É preciso salientar que, o parâmetro para key deve ser equivalente a alguma key string do arquivo Localizable.strings. FIGURA 5 – LOCALIZABLE.STRINGS Fonte: Blair (2018). 11 PERSISTÊNCIA DE DADOS A persistência de dados tem a função de garantir que as suas informações sejam armazena- das da melhor maneira, a fim de que possam ser recuperadas, caso seja o caso, a qualquer momento. Desta forma podemos afirmar que são registros feitos de forma permanente, fa- zendo com que o tempo ou o encerramento de uma sessão não os prejudique. Podemos exemplificar da seguinte forma: para comprar algo em uma loja virtual é necessá- rio ter um cadastro. Uma vez que você faz o cadastro, suas informações ficam guardadas lá, mesmo que você mude de computador. Da próxima vez que você fizer o login no site, suas in- formações retornarão. Estas informações são guardadas em bancos de dados, assim como qualquer outro tipo de arquivo que tenha identificação com a persistência de dados, fazendo com que este possa ser recuperado quando precise. 26 11.1 PRINCIPAIS BANCOS DE DADOS Para que a informação consiga ser resgatada em momentos de necessidade, é preciso arma- zena-las em um Sistema Gerenciador de Banco de Dados (SGBD). Este tipo de armazenamento pode ser feito por meio de comandos SQL, que é uma linguagem utilizada para executar diver- sos comandos em bancos de dados que estão relacionados com a operação executada, fa- zendo com que seja possível a manipulação de dados passados. Alguns dos modelos de banco de dados são: • Oracle; • MySql; • MariaDB; e • SQL Server. 11.2 FRAMEWORKS ESPECIFICOS O uso de frameworks é uma outra maneira de fazer a persistência de dados. Eles tornam a ma- nipulação de registros do banco de dados mais simples. É interessante pensar que, este tipo de ferramenta diminui a possibilidade e a necessidade de reescrever dados completos, por exemplo, aumentando a produção e diminuindo a possibilidade de ter dores de cabeças com dados que sumiram. Os frameworks podem ser diferentes e podem ser utilizados de acordocom a linguagem de programação que está sendo utilizada no seu negócio. Dispositivos como o Hibernate e o En- tity Framework podem ajudar bastante. Nota Com o aumento do desenvolvimento Web, surgem as dificuldades de progra- mação de códigos grandes e complexos para acessar banco de dados. Para sanar essas dificuldades, novas tecnologias de acesso a dados são criadas. Uma delas é o uso do Hibernate e o Entity Framework. (CARVALHO, 2017) 27 Resumo do curso Neste curso, você aprendeu um pouco sobre o desenvolvimento no iOS, este sistema opera- cional que tem avançado a cada dia mais, fazendo com que você se insira no mercado de tra- balho, desenvolvendo aplicativos funcionais e que atendam às necessidades existentes. O que estudamos aqui foi uma Introdução ao desenvolvimento iOS. Vimos um pouco sobre Licenças e links interessantes, Comandos de controle, decisão e repetição, Tipos de dados avançados, Reconhecimentos de gestos, Aplicações multiviews, Estrutura de uma table view, Câmera e Photo Library, Internacionalização e adequação e Persistência de dados. Este é um primeiro passo que você precisa para uma jornada brilhante! 28 Referências APPLE. Move your Photos library to save space on your Mac. 2021. Disponível em: https://su- pport.apple.com/en-us/HT201517. Acesso em: 09 set. 2021. BLAIR, Eric. Where the &$!#% is localizable.strings?!? 2018. Disponível em: https://martian- craft.com/blog/2018/11/where-is-localizable-string/. Acesso em: 09 set. 2021. CARVALHO, Carlos Eduardo Medeiros de. Desenvolvimento WEB: o que são entity framework, hibernate, nhibernate e quais são suas diferenças. O que são Entity Framework, Hibernate, NHibernate e quais são suas diferenças. 2017. Disponível em: https://www.linkedin.com/pulse/ desenvolvimento-web-o-que-s%C3%A3o-entity-framework-e-carlos-eduardo/?originalSub- domain=pt. Acesso em: 09 set. 2021. EKREN, Esat Kemal. Swift: create custom tableview cell with programmatically in ios. Crea- te Custom TableView Cell with programmatically in iOS. 2018. Disponível em: https://medium. com/@kemalekren/swift-create-custom-tableview-cell-with-programmatically-in-ios- -835d3880513d. Acesso em: 09 set. 2021. FALCÃO, Eloísa. Tables em Swift (for Dummies). 2019. Disponível em: https://medium.com/ mackmobile/tables-em-swift-for-dummies-f5d9ed7a90b6. Acesso em: 09 set. 2021. https://support.apple.com/en-us/HT201517 https://support.apple.com/en-us/HT201517 https://martiancraft.com/blog/2018/11/where-is-localizable-string/ https://martiancraft.com/blog/2018/11/where-is-localizable-string/ https://www.linkedin.com/pulse/desenvolvimento-web-o-que-s%C3%A3o-entity-framework-e-carlos-eduardo/?originalSubdomain=pt https://www.linkedin.com/pulse/desenvolvimento-web-o-que-s%C3%A3o-entity-framework-e-carlos-eduardo/?originalSubdomain=pt https://www.linkedin.com/pulse/desenvolvimento-web-o-que-s%C3%A3o-entity-framework-e-carlos-eduardo/?originalSubdomain=pt mailto:https://medium.com/@kemalekren/swift-create-custom-tableview-cell-with-programmatically-in-ios-835d3880513d mailto:https://medium.com/@kemalekren/swift-create-custom-tableview-cell-with-programmatically-in-ios-835d3880513d mailto:https://medium.com/@kemalekren/swift-create-custom-tableview-cell-with-programmatically-in-ios-835d3880513d https://medium.com/mackmobile/tables-em-swift-for-dummies-f5d9ed7a90b6 https://medium.com/mackmobile/tables-em-swift-for-dummies-f5d9ed7a90b6 1 Introdução 2 INTRODUÇÃO AO DESENVOLVIMENTO IOS 2.1 DESENVOLVIMENTO DE APLICATIVOS 2.1.1 Linguagem de programação 2.1.2 Frameworks 2.1.3 Xcode 3 LICENÇAS E LINKS INTERESSANTES 3.1 LICENÇAS 3.1.1 Airport para iOS 3.1.2 Gerageband para iOS 3.1.3 iMovie para iOS 3.2 LINKS 3.2.1 Como os links funcionam? 3.2.2 Possíveis problemas em Universal Links 4 COMANDOS DE CONTROLE, DECISÃO E REPETIÇÃO 5 TIPOS DE DADOS AVANÇADOS 5.1 LISTAS 5.1.1 Item destino 5.1.2 Estruturas de lista estática 5.1.3 Lista multável 5.2 FILHOS 5.2.1 Child_added 5.2.2 Child_changed 5.2.3 Chlid_removed 5.2.4 Child_moved 5.3 PILHAS 5.4 ÁRVORES 6 RECONHECIMENTOS DE GESTOS 6.1 O QUE SÃO GESTOS PARA O IOS? 6.2 GESTOS MODELOS PARA O ID FACE 7 APLICAÇÕES MULTIVIEWS 8 ESTRUTURA DE UMA TABLE VIEW 8.1 COMO CRIAR UTILIZANDO O TABLE VIEW 8.2 ADICIONANDO DADOS 9 CÂMERA E PHOTO LIBRARY 9.1 COMO MOVER A SUA BIBLIOTECA DE FOTOS? 10 INTERNACIONALIZAÇÃO E ADEQUAÇÃO 10.1 POR QUE INTERNACIONALIZAR? 10.2 COMO INTERNACIONALIZAR? 11 PERSISTÊNCIA DE DADOS 11.1 PRINCIPAIS BANCOS DE DADOS 11.2 FRAMEWORKS ESPECIFICOS Resumo do curso Referências
Compartilhar