MENU

| BR

Campus

Cursos

Programas Executivos

Paises

2 benefícios mais comuns entre as arquiteturas iOS

2 benefícios mais comuns entre as arquiteturas iOS
#Tecnologia
12 de abril - min de leitura


O desenvolvimento de aplicativos iOS está cada vez mais popular. Os aplicativos estão mais robustos, as interações mais complexas, as funcionalidades mais desafiadoras e os times cada vez maiores. É fundamental que um novo membro de um time seja capaz de compreender e alterar a base de código de um app de forma fácil e rápida. Para garantir a sincronia desses times e a manutenibilidade do projeto, assuntos como arquitetura foram introduzidos nas empresas e têm sido altamente fomentados na comunidade desenvolvedora. Essas arquiteturas possuem algumas características que podem beneficiar muito os times de desenvolvimento e os projetos como um todo. A arquitetura de software define a estrutura de um sistema, a comunicação entre os componentes que o compõe e visa garantir a integridade dos requisitos técnicos e operacionais. A arquitetura adotada pela Apple para o desenvolvimento de aplicativos iOS é o MVC (Model - View - Controller), representada no diagrama abaixo: Onde:
  • View é responsável pelos componentes visuais e por receber ações do usuário
  • Model representa os objetos de uma aplicação
  • Controller é responsável pela interação entre Views e Models
 Na prática View e Controller são representados em uma única classe, chamada UIViewController, que possui outlets para os componentes visuais, recebe as ações do usuário, além de prover dados e garantir a atualização dos modelos. Visto que o objetivo da empresa é apenas expor suas APIs e exemplificar seus usos, esse arranjo cumpre com seu dever. No entanto, os aplicativos tomaram novas proporções e muitas vezes são altamente complexos, gerando a necessidade de uma nova maneira de organizar o código, para garantir a reusabilidade e manutenibilidade do mesmo. Nesse âmbito, o MVC foi apelidado de Massive View Controller, já que todas as lógicas ficam nessa única classe, e novas propostas surgiram para tentar resolver esse problema. Algumas das propostas mais conhecidas são MVP, MVVM, MVVM-C, VIPER e VIP (também conhecida como CleanSwift). Apesar de suas particularidades e por algumas abrangerem também a forma de lidar com a manipulação de dados e fluxo de navegação, todas as arquiteturas têm como objetivo principal garantir alguns benefícios. São eles: single responsibility e testabilidade.  Single responsibility É muito pertinente que ao desenvolver uma aplicação exista a garantia da single responsibility, isso é, cada classe deve ser responsável por apenas uma atividade, logo View não será responsável por chamadas HTTP e Model não saberá da interação do usuário com a aplicação, por exemplo. Algumas arquiteturas, como VIPER e CleanSwift possuem camadas específicas para lidar com as requisições à APIs ou gerenciamento de banco de dados. Essas camadas podem ser encontradas pelos nomes middleware, interactor, service, entre outros. A ideia é que essas classes possam ser reutilizadas por diferentes fluxos ao invés de haver a repetição de código em múltiplas partes do código. A maioria das aplicações são contidas de diferentes telas e fluxos de navegação, por isso as novas arquiteturas procuram maneiras mais eficientes de realizar a orquestração dessas telas. É daí que surgiram termos como coordinator e router, classes que sabem a ordenação das telas e fluxos e quais os dados necessários para a inicialização de cada um deles.  Testabilidade A popularidade dos testes vêm aumentando e os desenvolvedores estão cada vez mais preocupados com a garantia da qualidade de seus códigos. Através da separação de responsabilidades e isolamento de side effects, que devem ser garantidos pelas arquiteturas, é possível testar cada unidade de código e cada um dos módulos. Isso dá liberdade para que o desenvolvedor possa realizar alterações sem que bugs sejam introduzidos na aplicação. Existem diferentes tipos de testes. Teste unitário, teste de integração e teste de interface. O primeiro visa garantir que uma unidade de código funciona em isolamento. O segundo, como seu próprio nome diz, visa garantir a integração entre módulos e que essa integração não crie side effects na aplicação. Já o teste de interface costuma ser mais manual e, apesar de sua popularidade no mundo de desenvolvimento, deve ser usado com certa cautela, pois são voláteis e bastante custosos. Independente da quantidade e quais tipos de testes são aplicados a um projeto, a arquitetura escolhida deve sempre visar o aumento da cobertura de testes do código, possibilitando que alterações sejam feitas sem a necessidade de regressões e garantindo ao desenvolvedor a segurança de que o app continua operando com sucesso. Não necessariamente o seu projeto vai se encaixar em uma dessas opções. Você pode criar a sua própria arquitetura ou adaptar uma existente para atender as características do seu projeto. Toda essa sopa de letrinhas deve servir como inspiração e o fundamental é manter a clareza, organização e separação do código de forma que a responsabilidade única de cada classe e sua testabilidade sejam garantidas.
Yasmin Benatti do Grupo Movile

Outras notícias

Do banco de dados à nuvem: o que muda e como se adaptar? img
#Dados

Do banco de dados à nuvem: o que muda e como se adaptar?

O novo petróleo da humanidade, para ser tão valioso, precisa de gerenciamento, segurança, espaço...muito espaço... e armazenamento. O antigo banco de dados, hoje, cede espaço para o armazenamento em nuvem, ou cloud. Mas, então, por que cargas d'água tantas empresas relutam em adotar a tal cloud computing em seu universo operacional? A Transformação Digital prova que há um movimento de mão única para quem quer crescer e não sumir em meio à inovação. Logo, ou o mindset de algumas empresas muda por bem... ou vai pela força das circunstâncias mesmo. Com a pandemia da Covid-19, por exemplo, momento significativo no que se refere a adequação ao digital, trabalhar em casa se tornou imprescindível para todos os tipos de empresa, das pequenas às multinacionais. E aí é que entra a importância do armazenamento em nuvem. Pesquisas mostram o crescimento da nuvem para armazenamento de dadosA pesquisa da Hibou/Indico sobre home office durante o Covid-19 anunciou na semana passada que 59,9% dos brasileiros estão trabalhando home office. Isso não significa menos trabalho. Isso porque 25,2% dos entrevistados dizem que estão trabalhando mais do que antes. Então, o paradigma da menor produtividade em casa já era. Outra informação que deixa muita gente de queixo caído é o quanto armazenamento cloud se tornou essencial. De acordo com estudo sobre armazenamento na nuvem da SAS Brasil, 80% das empresas nacionais avaliadas têm ou terão um projeto baseado em cloud computing nos próximos 12 meses e, até 2025, 80% das companhias já terão migrado para o armazenamento de dados em nuvem. A pergunta que fica é: por que as empresas estão tão preocupadas em mudar o armazenamento para nuvem o mais rápido possível? Pois, além de prezar pela vida de seus negócios, os olhos brilham para as vantagens que aderir à nuvem traz, como: 1. Melhora na experiência de quem depende de recursos tecnológicos em nível pessoal ou profissional, incluindo clientes; 2. Redução de custos com infraestrutura, como compra de software, instalação e manutenção; 3. Economia de espaço, já que os dados permanecem armazenados online; 4. Centralização da informação, o que gera praticidade e rapidez na tomada das decisões; 5. Trabalho remoto viável e não dispendioso ao empregador; 6. Segurança: com monitoramento e atualizações automáticas do servidor, serviços de assistência técnica e backups são inclusos no pacote de cloud. As vantagens do Cloud Computing para as empresas Entre as vantagens de usar cloud computing está melhorar experiência do cliente, incluindo segurança e agilidade nos serviços, além de produtos ofertados a ele. É óbvio que essa movimentação gera demanda por profissionais especializados em cloud computing, ou seja, os pilotos.Você que sonha em evoluir nas áreas de ciência de dados, inteligência artificial, ciência quantitativa ou engenharia de software, a Digital House oferece um curso sobre Cloud Architect com especialistas em criação de armazenamento em nuvem privada, pública ou híbrida. Ministramos os melhores cursos em habilidades digitais, entre eles, o curso voltado para Cloud Computing, que tem o objetivo de te ensinar a manjar muito sobre planejamento estratégico para nuvem. No programa, você aprenderá a construir projetos e arquiteturas eficientes e escalonáveis ​​na AWS, seguindo as melhores práticas do mercado, além de configurar um data lake, criar APIs, fazer entradas de informações em tempo real e usar ETLs no Spark. Acompanhe o blog da Digital House para aprender mais sobre o mundo dos dados e como utilizá-los para alavancar a sua empresa.

A Inteligência Artificial já faz parte do seu dia a dia, saiba como img
#Dados

A Inteligência Artificial já faz parte do seu dia a dia, saiba como

Esse termo tech descolado foi dado, oficialmente, em 1956, durante uma conferência na Dartmouth College, universidade da terra do tio Sam, em New Hampshire. Na ocasião, os moderninhos da época  definiram a inteligência artificial, ou IA para os íntimos, como a "ciência e engenharia de produzir máquinas inteligentes". Uau! Se parece futurista hoje, imagine há mais de meio século atrás. Mas, só nos anos 2000 que a inteligência artificial realmente começou a decolar, passando a tomar forma e integrar a vida e o cotidiano dos humanóides.IA à vista! E olha a inteligência artificial ganhando cada vez mais espaço no Brasil. Recentemente, a Microsoft anunciou a criação de um AI Industry Board (Comitê da Indústria para Inteligência Artificial) junto a outras empresas e organizações, aqui no país. A meta é se reunir trimestralmente para discutir o uso ético e responsável da IA, além dos desafios e oportunidades trazidos por esta tecnologia. A conferência contou com a presença de executivos de empresas como Bradesco, Vivo, Grupo Fleury, Sulamérica e Car10, além da participação de Miriam Wimmer, do Ministério da Ciência, Tecnologia, Inovações e Comunicações (MCTIC). O encontro, realizado online, teve palestra de Lisa Tanzi, vice-presidente corporativa da Microsoft Corporation. O AI Industry Board tem foco no uso responsável desta tecnologia, compartilhando boas práticas adotadas por empresas e organizações de vários segmentos, aprendendo todos juntos a promover o desenvolvimento da inovação no Brasil. Bola dentro no que se refere à competitividade do país por meio da IA e seu impacto na transformação digital.Fizemos uma lista abaixo com 8 indícios de IA, presente no dia a dia, para você não achar que estamos viajando no desenho dos Jacksons (jóvens talvez nem entendam a brincadeira). Acompanhe. 1 - Assistentes virtuais A criação de assistentes pessoais virtuais é uma das aplicações de IA mais utilizadas, atualmente. Seja a Siri, Cortana, Alexia, eles funcionam em diversos celulares e auxiliam em tarefas básicas como definir alarmes, lembrar compromissos, ligar para outros números, informar a previsão do tempo, entre outras funcionalidades. O Google Maps e muitos outros também entram nos assistentes que salvam rotinas e agendas por aí. 2 - Medicina Exames e diagnósticos sofisticados dependem de IA para serem mais precisos. Tratamentos contra alguns tipos de câncer também se desenvolvem com a ajuda dela. Um exemplo atual de IA na medicina é a Stratasys, que anunciou mobilização global dos recursos e experiência em impressão 3D da empresa para ajudar no combate à pandemia atual da Covid-19. A empresa pretende fornecer milhares de Equipamentos de Proteção Individual (EPI) descartáveis para os profissionais da saúde. 3 - Segurança Mundo conectado, com encurtamento de distâncias entre pessoas, empresas, países e continentes. Em contrapartida, o lado negro da força também tira vantagens disso, independentemente da pandemia ou não. Os cibercriminosos, cada vez mais presentes e sem escrúpulos, se aproveitam de situações de crise e vulnerabilidade, com novas e mais sofisticadas ameaças digitais. No sentido de se precaver contra este perigo, além do bom senso (práticas de uso cauteloso de acessos e compartilhamento de dados), existem sistemas e softwares, com tecnologia baseada em IA, que ajudam a detectar problemas de invasão e não conformidade, abrangendo usuários, dados e perímetro. 4 - Transporte Aqui a atuação da IA é soberana, atualmente. Você, ou o motorista de transporte, público ou não, que você utiliza para se locomover, usam inteligência artificial. No caso do transporte público, de rastreamento. No caso de particular, para escolher melhor rotas, evitando trânsito e estradas acidentadas, chamando o próximo passageiro e por aí vai. Já no transporte rodoviário de cargas, essa tecnologia ajuda a aumentar a lucratividade das empresas e impulsionar a logística por terra, água e ar, ajudando aquela sua compra pela internet a chegar, linda e rastreada, em suas mãos, no menor tempo possível. Como? Robôs com inteligência artificial fazendo um sofisticado trabalho de gerenciamento de cargas para alcançar os melhores resultados em entregas. 5 - Alimentação Aqui, IA não se restringe apenas nos apps que entregam alimentos, mas revolucionando a forma como os procedimentos da indústria de alimentos e bebidas são realizados, na relação ao atendimento ao consumidor, processos de fabricação, manuseio, gestão da cadeia de suprimentos e embalagens. Para que você entenda o tamanho da evolução, algumas empresas especializadas contam com um acervo de algoritmos fundamentados em IA, que tornam capaz a obtenção de grandes volumes de dados para aprender os mais variados padrões de processos logísticos, incluindo campanhas de marketing, sazonalidades, produtos mais vendidos, entre muitas outras informações deste mercado, tudo com foco no bon appefit do freguês. 6 - Entretenimento Fora os aplicativos que mudam avatares, fotos, edições destas fotos, tudo ao alcance de nossos dedinhos em dispositivos móveis, podemos colocar neste barco do entretenimento também os serviços de streaming, cinema e uma outra infinidade de aplicações incríveis na produção de conteúdo, com algoritmos tratando textos, imagens, áudio e vídeo. E, calma, pois aqui não esquecemos de citar o universo dos games, outro espaço onde a inteligência artificial está mudando a forma como jogamos. Com a chegada de acessórios como os óculos de realidade virtual, a imersão do usuário só aumenta, proporcionando experiências nunca antes vividas. 7 - Mercado de trabalho A tecnologia de IA já tem como reformular o processo de contratação, coletando os dados para ajudar a colocar as pessoas certas nas posições certas. O uso de dados, com os programas de IA, aprimoram a experiência humana, em vez de substituí-la. E é nessa aposta que plataformas de experiência de talentos oferecem ferramentas para mudar a maneira como as empresas gerenciam o desenvolvimento dos funcionários. Essa tecnologia acompanha o progresso e dá a oportunidade de medir o sucesso dos colaboradores de uma maneira muito mais ágil e tangível. 8. Casa inteligente Os eletrodomésticos chamados inteligentes, ou seja, com base em dados de IA, devem crescer quase 20% até 2023. Esse mercado já mostra como as casas inteligentes caminham para ser realidade em poucos anos. Nesse campo fértil, o aprendizado de máquina e a conectividade de aparelhos são a base para fornecer uma experiência de ambientes integrados. Por exemplo, uma cozinha integrada com dispensas que se “comuniquem” com as geladeiras, evitando desperdício, entre outros tipos de automação. Hoje, as luzes, câmeras e garagem de seu prédio talvez sejam o mais próximo que você tenha de experiência com este tipo de tecnologia, mas os assistentes de voz ganham cada vez mais espaço e sua máquina de lavar, por exemplo, toda programável, é sinal de que sua casa caminha para esta trend. Quer saber mais sobre como fazer parte destas mudanças que o mundo passa, sendo protagonista delas. Conheça os cursos em habilidade digitais da Digital House. Nosso time-fera de especialistas pode te ajudar nesta missão. Projete sua carreira para o futuro que já começou.

LGPD e a cyber segurança: como a lei abre caminho para um novo mercado img
#Dados

LGPD e a cyber segurança: como a lei abre caminho para um novo mercado

LGPD colocando ordem no parquinhoCom o avanço da hiperconexão, nossos dados navegam por vários destinos, seja em sites, cadastros de acessos, apps, jogos, etc. Essa superexposição deixa empresas e cidadãos vulneráveis e na mira de cibercriminosos que roubam informações e disseminam vírus a torto e a direito.A Lei Geral de Proteção de Dados Pessoais vem justamente para colocar ordem nesta antes terra de ninguém. A LGPD é a regulamentação brasileira, baseada na GRPD europeia, que garante o direito da proteção de dados, exigindo mais transparência das empresas quanto ao tratamento de informações confidenciais. Isso quer dizer que qualquer informação sua só será coletada com prévia autorização, assim como guardada por terceiros somente pelo tempo que você definir.A LGPD entra em vigor a partir de agosto de 2020. Mesmo com a pandemia mudando as rotinas e destinos, essa data de início permanece até segunda ordem. E quando gritarem valendo, quem desobedecer às regras ficará de castigo! Antes fosse… na real, as empresas que não seguirem a norma estarão sujeita a duras e altas multas - algumas equivalentes a 2% do faturamento da empresa, com teto de R$ 50 milhões por ocorrência. Sim, como diria aquele meme raiz, que dó da formiguinha...Portanto, cyber segurança passa a não ser um serviço apenas opcional. Vira questão de prioridade, sobrevivência e base de qualquer negócio da era digital.Cyber Segurança - a realidade do virtualParte dos casos de vazamentos de dados acontece por falhas humanas, olha que beleza. E isso aumentou após o uso de dispositivos móveis no ambiente corporativo e no trabalho remoto dos usuários. Nesse sentido, a cyber segurança fornece ferramentas de proteção que acompanham o movimento das informações e conscientizam usuários sobre os riscos no ciberespaço.É digital, mas é real. Por isso, proteger dados com boas práticas de utilização, softwares de monitoramento, backup e firewalls de segurança são saídas para a sobrevivência das empresas. E não só para não pagar altas multas, mas também para manter a chamada reputação da marca, que, se manchada, pode acabar com anos de construção.Ter um sistema de proteção cibernética em uma empresa engloba:     > Evitar e barrar ataques virtuais; Identificar riscos;      > Proteger dados;      > Determinar diretrizes para gerenciamento de informações;      > Controlar o acesso dos usuários aos dados;      > Recuperá-los em caso de vazamentos. Chegou a hora do Data Protection OfficerO novo mercado que surge precisa se adequar às regras do jogo, investindo em sistemas de segurança e em um profissional voltado para a proteção de dados que saiba gerenciar estas ferramentas, assim como educar as pessoas para seu uso. E esse movimento é mais uma das características da revolucionária Transformação Digital, que traz várias oportunidades de carreira para quem tem coragem e quer aprender a reaprender.A Digital House, uma das maiores escolas de habilidades digitais do planeta, possui um curso de Cyber Segurança. Nele, você entende sobre Sistemas Operacionais, Topologia de Rede e Bancos de Dados, e tudo o que é indispensável para controlar a segurança de uma empresa, criando e monitorando um plano de ação.Como? Manjando muito de:     1. Redes TCP/IP      2. Aplicações Web e Banco de Dados      3. Criptografia      4. Identidade de Acesso      5. Cloud      6. Normativas e Análise de Risco      7. Plano de Segurança da Informação Nossos especialistas estão ministrando aulas remotas neste período de quarentena, para que você invista seu tempo em capacitação e entre neste novo momento, qualificado. Vem com a gente para o novo, nada desconhecido.