Desenvolvimento de aplicação móvel utilizando Xamarin

Tipo de documento:Plano de negócio

Área de estudo:Tecnologia

Documento 1

Titulação Nome do Professor(a) Prof(a). Titulação Nome do Professor(a) Prof(a). Titulação Nome do Professor(a) Belo Horizonte, 15 de setembro de 2018 Dedico este trabalho aos meus familiares, pelo apoio e incentivo na busca pelos meus sonhos. Sem eles seria impossível chegar até aqui. AGRADECIMENTOS Agradeço aos meus familiares que tanto me apoiaram até aqui e que foram a minha fonte de inspiração. Com uma base de código compartilhada em C#, os desenvolvedores usam as ferramentas Xamarin para criar aplicativos nativos para Android, iOS e Windows com interfaces de usuário nativas e podem compartilhar códigos em várias plataformas, incluindo Windows e macOS. Nos últimos 10 anos os aparelhos celulares se tornaram itens essenciais na rotina das pessoas, devido ao uso do aparelho não apenas para realizar ligações, mas também para redigir e-mails, trabalhar, jogar, interagir em redes sociais, utilizar o GPS e ouvir música por exemplo.

Com isso, os fabricantes de aplicativos encontram o problema de conseguir atender as plataformas existentes no mercado, sendo que cada uma possui uma arquitetura e linguagem de programação diferente, tornando os custos de desenvolvimento inviável devido à complexidade e tempo envolvidos. Dessa forma o desenvolvimento multiplataforma fornecido pelo Xamarin possibilita o desenvolvimento de um aplicativo para as 3 principais plataformas utilizadas (Android, iOS e Windows) através de um único código fonte, sendo ele o objetivo da análise. Palavras-chave: Aplicativos móveis; Desenvolvimento hibrido; Xamarin. Figura 2 – Arquitetura Android no Xamarin. Figura 3 – Visão geral da arquitetura iOS no Xamarin. Figura 4 – Esboço da compilação do aplicativo iOS Xamarin. Figura 5 – Arquitetura do Windows Phone. Figura 6 – Arquitetura Xamarin. SUMÁRIO 1. INTRODUÇÃO. VISÃO GERAL DO XAMARIN. ANDROID. IOS. VIEW-MODEL.

BINDING. CONSIDERAÇÕES FINAIS. REFERÊNCIAS. INTRODUÇÃO Com o advento da tecnologia, os celulares se tornaram parte do dia a dia pois segundo Procedi (2016), o uso de tecnologias tem crescido de forma acelerada, auxiliando nas mais atividades, desde a se encontrar o caminho mais rápido através de aplicativos como Waze até realizar transações bancárias, ouvir música, tirar fotos, entre outras atividades. Foi adquirida pela Microsoft em 24 de fevereiro de 2016. São os aplicativos nativos que exploram todo o potencial da linguagem de desenvolvimento específica, segundo Procedi (2016), porém para atender todo o mercado seria necessário o desenvolvimento de um aplicativo para cada plataforma, tornando o desenvolvimento muitas vezes inviável, dessa forma o Xamarin permite a geração de um aplicativo para cada plataforma através de um único código fonte (MUKESH et.

al. No Quadro 1 encontra-se um quadro comparativo entre as 3 principais linguagens (Android, iOS e Windows Phone) de acordo com os seguintes fatores: linguagem de programação e ambiente de desenvolvimento. Segundo Petzold (2016), sem a utilização do Xamarin, o desenvolvedor teria que ter no mínimo 2 sistemas operacionais (Windows e Mac), sendo que o Mac requer um hardware específico, ter domínio das 3 linguagens de programação (Android, Objective-C e C#), além de possuir as licenças de todos os programas utilizados para o desenvolvimento. Essas bibliotecas, segundo Petzold (2016), são versões de código nativo de cada sistema operacional, porém na versão. NET. Dessa maneira os desenvolvedores podem escrever suas aplicações em C# e na hora da compilação, elas serão compiladas na respectiva linguagem nativa.

Ainda segundo Petzold (2016), o uso dessas bibliotecas e suas relações com o Xamarin e as APIs de cada sistema operacional pode ser melhor observadas na Figura 1. As caixas da segunda linha são as plataformas específicas de cada aplicação, o aplicativo então manda chamadas do projeto comum a todos e as bibliotecas do Xamarin fazem a implementação nas plataformas nativas. NET. Como a maior parte das bibliotecas Android para acesso ao sistema, áudios, gráficos, notificações, entre outras, só estão disponíveis através de API’s do Android em tempo de execução Java, uma arquitetura semelhante a apresentada na Figura 2. Dessa forma os desenvolvedores acessam os recursos do sistema operacional por meio das API’s do. NET ou então utilizando as classes expostas nos namespaces do Android, que fornecem o acesso para as API’s Java (MCLEMORE, 2018).

Figura 2: Arquitetura Android no Xamarin. Figura 4: Esboço da compilação do aplicativo iOS Xamarin. Fonte: Umbaugh (2018) O iOS também possui uma funcionalidade de layout automático, ele é uma forma de layout responsivo que não fixa na tela o local de cada elemento, mas sim as relações de um elemento a outro, ou seja, a ideia consiste que restrições ou regras 18 que definem o posicionamento de um elemento ou um conjunto de elementos no contexto de outros elementos na tela (UMBAUGH, 2018). WINDOWS PHONE O Windows Phone foi lançado em fevereiro de 2010, sendo lançado inicialmente como Windows Mobile na versão 6. não tendo compatibilidade com os aplicativos das versões anteriores. Sua arquitetura é apresentada na Figura 6, e segue basicamente o padrão dos sistemas anteriores, tendo como detalhes a integração com a nuvem diretamente em sua arquitetura, e não por aplicativos, como em seus concorrentes Android e iOS.

Forms e os componentes gráficos disponíveis na plataforma. XAMARIN. FORMS E COMPONENTES GRÁFICOS O Xamarin. Forms é responsável por fazer a compilação do código das diferentes plataformas (Android, iOS e Windows Phone), dentro dele tem-se uma biblioteca de núcleo comum que permite isso. Com o uso do Xamarin. Forms utiliza uma biblioteca comum, de forma a deixar transparente ao desenvolvedor as diferenças entre cada ambiente, utilizando XAML. Possui restrições quanto ao uso dos componentes como por exemplo o uso do Touch Screen. Outro detalhe, segundo Petzold (2016), é que por mais que o Xamarin. Forms auxilie na criação do layout para os demais sistemas, ainda se mantém as caraterísticas individuais de cada um deles, por exemplo, ao se gerar um aplicativo pela primeira vez, pode-se visualizar que a cor de fundo do aplicativo em Android fica preto, enquanto que do Windows Phone e iOS são brancos, isso deve-se a característica, e que pode ser modificado.

No Quadro 2 apresenta-se a cor de fundo e cor de texto padrão de cada dispositivo. Dentro da classe Page, tem-se ainda 4 propriedades do Padding que permitem o posicionamento desejado do layout, sendo eles: Bottom, Left, Right e Top. Com eles pode-se incluir em quantos pontos de unidade de pixels que o layout tenha de espaçamento do fim da tela, da esquerda da tela, do lado direito da tela e do topo da tela, respectivamente. Um detalhe, segundo Petzold (2016) relata, é que cada dispositivo, tem suas variações de tamanho de tela e devido a isso trabalham com uma densidade de layout, de forma a atender essas características. Abaixo, no Quadro 3 apresenta-se as diferentes características de tela do Android, iOS e Windows Phone 8. e 10. Dessa forma o conteúdo adicionado é dimensionado no espaço disponível, conforme apresenta-se na Figura 9.

Figura 9: Exemplo do Stack Layout em diferentes telas. Fonte: Portal oficial Xamarin (2018) 25 Segundo Britch (2016), o Absolute Layout posiciona e dimensiona de forma proporcional ao seu próprio tamanho e posição ou por valores absolutos de elementos filho. Já o Relative Layout não trabalha com o posicionamento de elementos em relação as margens e suporta elementos posicionados fora dos seus limites. O Grid Layout destina-se como uma forma de dispor o conteúdo, geralmente imagens, ele não tem o conceito de linhas, colunas ou células de formatação. ESTRUTURA DO PROJETO Petzold (2016) relata que uma grande vantagem de desenvolver para as 3 plataformas (Android, iOs e Windows Phone) com um único código fonte é o poder de compartilhar código entre as aplicações, porém a aplicação deve ser estruturada para esse propósito e o principal requisito é a separação do código em diferentes pastas.

Essa divisão começou na década de 1980, segundo Petzold (2016), com o MVC (Model – View – Controller), cujo objetivo era separar o layout da regra de negócio, e a classe controller fazia a interação entre as outras duas. Essa arquitetura foi modernizada no decorrer dos anos e deu origem a outros derivados, como o MVVM. Segundo Peppers et al. MVVM divide um aplicativo em três camadas: • O Model fornece dados subjacentes, às vezes envolvendo acesso a arquivos ou à web. Figura 10: Arquitetura MVVM. Fonte: MSDN Microsoft, 2012. Como pode-se visualizar na figura 10, o Model é oculto ao ViewModel. Em outras palavras, o Modelo não sabe nada sobre as propriedades e métodos públicos do ViewModel, e certamente nada sobre seu funcionamento interno. Similarmente, o ViewModel é oculto da View. O Binding também pode apresentar 4 diferentes formatos, segundo Procedi (2016).

• Default: Formato padrão, segue o fluxo das informações, que depende do componente em questão. • OneWay: Possui um único sentido e as alterações feitas na fonte são transmitidas para o destino. • OneTime: Possui um fluxo semelhante ao OneWay, mas ocorre somente na inicialização do componente, e mesmo que os dados sejam alterados as alterações não são refletidas. • TwoWay: Toda alteração realizada em um lado é passada para o outro. A ViewModel faz isso Implementando a interface INotifyPropertyChanged, pois ela declara um evento único chamado PropertyChanged que indica a propriedade que foi alterada. A ViewModel também é responsável pela coordenação de interações da View com os modelos de classes que são necessárias. Ainda segundo Britch (2016), normalmente há uma relação um-para-muitos entre a ViewModel e as classes de modelo.

O modelo de exibição pode optar então por expor as classes de modelo diretamente para o modo de exibição, para que os controles na View possam vincular dados diretamente para os modelos. Nesse caso, as ViewModels precisarão ser projetados para dar suporte à associação de dados e eventos de notificação de alteração (BRITCH, 2016). CONSIDERAÇÕES FINAIS O Xamarin é uma ferramenta para desenvolvimento multiplataforma, que possibilita o desenvolvimento de aplicativos para os 3 principais sistemas operacionais móveis (Android, iOS e Windows Phone) através de um único código fonte e utilizando a linguagem de programação C#. Foi apresentado sua arquitetura, a forma de desenvolvimento da interface gráfica, e por fim, a forma de organização do projeto na arquitetura MVVM. Na seção 1 apresentou-se a arquitetura de cada um dos sistemas operacionais suportados pelo Xamarin.

Foi detalhado de que forma é feita sua integração para que seja gerado um código nativo para cada uma das plataformas. Na seção 2 avaliou-se de forma positiva o Xamarin. ijcsmc. com/docs/papers/June2015/V4I6201599a17. pdf>. Acesso em: 26 out. BRITCH, David. com/pt-br/xamarin/xamarin-forms/enterprise-applicationpatterns/mvvm>. Acesso em: 20 out. BRITCH, David, StackLayout xamarin. Forms. Disponível em <https://docs. BRITCH, David. Automatizar teste do Xamarin. Forms com o App Center. Disponível em <https://docs. microsoft. HELIA, H. Xamarin as a Tool for Cross-plataform Mobile Development. Bachelor’s Thesis Degree Programme in Business Information Technology, Haaga-Helia University of Applied Sciences, Finland, 2015. HERMES, DAN. Xamarin Mobile Application Development Cross-Platform C# and Xamarin. Disponível em <http://www. macoratti. net/16/09/net_mvvm1. htm>. Acesso em: 25 out. com/pt-br/xamarin/>. Acesso em: 10 out.

MSDN MICROSOFT. The MVVM Pattern. Disponível em <https://msdn. com/view/study-on-xamarin-cross-platform-framework. pdf?paper=study-on-xamarin-cross-platform-framework-. pdf >. Acesso em: 26 out. OPUS SOFTWARE. p. PORTAL OFICIAL XAMARIN. Documentação do Xamarin. Disponível em <https://docs. microsoft. RADI, A. A. Evaluation of Xamarin Forms for Multiplatform Mobile Application Development. Disponível em <http://scholarworks. gvsu. WINDOWS. Windows Dev Center. Disponível em <https://docs. microsoft. com/enus/windows/uwp/develop/>.

899 R$ para obter acesso e baixar trabalho pronto

Apenas no StudyBank

Modelo original

Para download