Lição 4: Ambientes de desenvolvimento
e frameworks disponíveis
e frameworks disponíveis
Você chegou até aqui e já pode se considerar uma pessoa vitoriosa. Você já conhece as características e as restrições dos dispositivos móveis, as plataformas, as linguagens de programação e os componentes. Chegou a hora, portanto, de conhecer os ambientes de desenvolvimento de aplicativos para dispositivos móveis e os frameworks disponíveis no mercado e amplamente utilizados para o desenvolvimento híbrido.
Costuma-se chamar de ambiente de desenvolvimento o conjunto de ferramentas que você utilizará no seu dia a dia como pessoa desenvolvedora, ou seja, computador ou notebook, sistema operacional e programas instalados, para que você possa realizar o seu trabalho desenvolvendo aplicativos. Já os frameworks, segundo Sommerville (2007), são estruturas genéricas que podem ser ampliadas para criar um subsistema ou realizar uma aplicação mais específica.
Ao final desta lição, você terá saberá preparar o seu ambiente de desenvolvimento nas plataformas estudadas em lições anteriores e aprenderá a avaliar e a analisar os frameworks disponíveis para o desenvolvimento de aplicativos para dispositivos móveis, mais precisamente, na plataforma híbrida.
Agora, você já conhece as linguagens de programação de cada uma das plataformas disponíveis para desenvolvimento móvel e suas respectivas características, paradigmas e componentes de desenvolvimento utilizados. Contudo, acredito que está faltando algo para você “ligar os pontos”: o que acha?
Talvez, você não percebeu, mas você tem um pequeno problema: como começar a utilizar aquela plataforma de desenvolvimento móvel com aquela linguagem de programação que adotei? Pois bem, neste momento, deve ser estudada toda a parte de ambiente de desenvolvimento. Ele varia de acordo com a plataforma escolhida e a linguagem de programação utilizada. Outra questão é: você escolheu o desenvolvimento híbrido, em que usará o HTML, o CSS e o JavaScript, e você já sabe que precisará de um framework para completar o pacote e finalizar os seus aplicativos. Qual framework você usará? Quais existem e são utilizados?
A solução desses questionamentos está justamente nesta lição, em que você conhecerá a base dos ambientes de desenvolvimento da plataforma Android, iOS e híbrida, a fim de iniciar a codificação e os projetos, e conhecer os frameworks mais atuais e usados por todo o mercado de desenvolvimento híbrido de aplicativos para dispositivos móveis.
Para o case desta lição, temos a situação que ocorreu com a desenvolvedora fictícia Maria, que entrou em um programa de estágio na área de desenvolvimento de aplicativos para dispositivos móveis da multinacional fictícia chamada “Orange”. Ela participou de uma entrevista inicial para conhecer a cultura e os valores da empresa, além da rotina e do formato de trabalho dela e da nova equipe. O formato será remoto. Você não sabe, mas Maria se inscreveu nessa vaga, porque, após as aulas iniciais desta disciplina, em que ela conheceu as plataformas e as linguagens de programação, optou pelo desenvolvimento nativo em Android.
O que seria um momento feliz, por alguns momentos, tornou-se um problema. Maria, após participar da fase da entrevista, foi avisada que receberia um notebook novo, na caixa, para iniciar os trabalhos na empresa. Além disso, disseram que os prazos dos projetos em que ela atuaria já estavam bastante apertados. Você pode não estar entendendo ainda a situação. Vou te explicar!
Ela recebeu um notebook. Ligou-o e ele já estava com um sistema operacional instalado. Tudo super tranquilo. Ela já sabia que iria programar em Java ou em Kotlin para Android nativo. No entanto, em qual programa ela deveria clicar para começar a codificar os projetos? A solução foi recorrer ao conteúdo desta lição para entender o que seria preciso instalar e em qual sequência, para que pudesse escrever a primeira linha de código. Tudo foi feito muito rápido e de forma simples. Passada a situação, Maria já iniciou o primeiro estágio mostrando toda a garra e a vontade de contribuir que ela tem.
Agora, você conhecerá as ferramentas que constituem a base para o ambiente de desenvolvimento em cada uma das plataformas de desenvolvimento, com as respectivas particularidades, seguido dos mais conhecidos frameworks utilizados no mercado de desenvolvimento híbrido para dispositivos móveis.
Em suma, a base para todo ambiente de desenvolvimento nativo para Android se dá a partir da ferramenta Android Studio. Segundo Glauber (2019), ela é o Ambiente de Desenvolvimento Integrado (IDE - Integrated Development Environment) padrão para o desenvolvimento de aplicações Android, indicada oficialmente pela própria Google. Ela é uma personalização de outra importante IDE chamada IntelliJ, criada pela empresa Jetbrains.
Sugiro que você acesse a página de documentação do IDE para conhecer os pré-requisitos para a instalação do Android Studio, garantindo que o seu computador ou notebook consigam executar a ferramenta sem maiores problemas. Clique aqui para acessar.
Junto com o Android Studio, será necessária a instalação da Java Development Kit (JDK) ou Kit de Desenvolvimento Java, em português (clique aqui para baixar), para compilação dos códigos escritos em Java no link. Assim como foi mencionado em lições anteriores, mesmo que você opte pela Linguagem Kotlin, ainda trabalhará com códigos de projetos anteriores, os chamados códigos legados e/ou utilizará bibliotecas consolidadas no mercado escritas em Java.
Resumindo o ambiente de desenvolvimento Android nativo, temos: Android Studio, JDK e, junto com o primeiro, você deverá instalar a SDK Android (Software Development Kit), em português, Kit de Desenvolvimento de Software Android, que é onde estão disponíveis as funções de interação com todo o sistema operacional Android. A SDK pode variar de acordo com as versões mínima e máxima do Android o qual você escolherá que o seu projeto dará suporte. Clique aqui para baixar a SDK Android.
Finalizando o ambiente de desenvolvimento nativo Android, temos a forma com a qual você testará e validará as suas aplicações. Para isso, você precisará de um emulador Android, disponível na ferramenta Android Studio. Basta que você crie um dispositivo virtual na versão desejada. Você também pode usar o seu próprio dispositivo Android, o que traz uma sensação maior de usabilidade do aplicativo.
Uma das principais características do ambiente de desenvolvimento nativo iOS é o fato de que você precisa ter um aparelho da marca Apple para criação. Pode ser um computador de mesa, chamado tecnicamente de desktop, o denominado iMac, ou os notebooks da marca, chamados de Macbooks. Trata-se de um critério básico para o desenvolvimento nessa plataforma.
Segundo Lecheta (2018, p. 26), o “Xcode é o IDE (ambiente de desenvolvimento) oficial da Apple”. Até então, situação bem similar ao que acontece com o desenvolvimento nativo Android.
Vale lembrar que há duas linguagens de programação (Objective-C e Swift) disponíveis para desenvolvimento nessa plataforma. Sendo assim, para completar o ambiente de desenvolvimento iOS, ainda temos os Frameworks Foundation e Cocoa Touch, que são os responsáveis diretamente pela “conversa” com códigos das linguagens para os componentes dos Iphones.
O Framework Foundation, de acordo com Lecheta (2018), contém um conjunto de classes escritas em Objective-C para tornar o desenvolvimento de aplicações mais simples e rápido. Baseado nessas classes Foundation, foi criado o Cocoa Touch, que é bem integrado à IDE Xcode e facilita a utilização de recursos de multimídia, rede, gravação de dados, animações, dentre outros.
Uma vez que o desenvolvimento nativo iOS é bem restrito às opções, desde hardware, linguagens e plataformas, é possível afirmar que, basicamente, o ambiente de desenvolvimento acontece a partir de um iMac ou Macbook, como já citado, pois todos os programas citados neste item já foram criados e personalizados para essa experiência, inclusive, com a parte específica para o teste dos aplicativos a partir do iOS Simulator.
A plataforma híbrida de desenvolvimento de aplicativos para dispositivos móveis é a mais simples em termos de ambiente de desenvolvimento, porque é formada pela tríade de tecnologias (HTML, CSS e JavaScript) que, basicamente, já está disponível na maioria dos computadores/notebooks. Basta que você crie um arquivo e salve as extensões .html ou .css ou .js, respectivamente. O seu navegador web, independentemente de ser Google Chrome, Microsoft Edge ou Mozilla Firefox, entende e interpreta esses códigos, pois são códigos que foram criados justamente para utilização nos navegadores.
Contudo, sendo usado nos navegadores, como transportar esses códigos ou programas aos dispositivos móveis? A partir dos frameworks, que praticamente “envelopam” esses códigos no formato dito “nativo” para os dispositivos Android ou Apple. De qualquer maneira, onde criar esses arquivos e codificá-los? Existem vários editores de textos inteligentes para codificação utilizando essas tecnologias. Serão apresentados os dois mais utilizados pelo mercado de desenvolvimento atualmente.
O primeiro é chamado de Sublime Text 4, e o segundo, o “queridinho” dos(as) desenvolvedores(as), é chamado de VS Code. Ambos têm licenças grátis e uma série de extensões grátis disponíveis para deixá-los ainda mais inteligentes. Para acessar o Sublime Text 4, clique aqui. Para acessar o VS Code, clique aqui.
Outro diferencial do ambiente de desenvolvimento híbrido se dá a partir da utilização dos frameworks para transformar nossos códigos html, css e javaScript em aplicativos. Para tê-los disponíveis em nosso computador, precisamos ter um gerenciador de pacotes, que é o responsável por encontrar, efetuar o download, instalar e manter a versão dessas bibliotecas. Esse gerenciador de bibliotecas JavaScript é chamado de NPM. Para acessá-lo, clique aqui. A partir dele, você pode instalar e disponibilizar, para sua máquina ou mesmo para um único projeto, esse amplo conjunto de frameworks utilizados para desenvolvimento de aplicações híbridas. Um fato curioso é que você pode instalar um emulador Android para validar e testar as suas aplicações híbridas.
Toda a questão relativa ao desenvolvimento híbrido de aplicações móveis ocorreu por intermédio da junção do HTML na versão 5, do CSS na versão 3 e da linguagem de programação JavaScript. Quando essa opção se tornou realidade, começaram a surgir vários frameworks para ajudar a comunidade desenvolvedora. Nesse período, segundo Gois (2017, p. 8), “surgiu também o PhoneGap com o propósito de facilitar a vida de muitos desenvolvedores, disponibilizando acesso aos diversos hardwares (câmeras, GPS, acelerômetros) nos variados dispositivos móveis”.
Nascido em 2013, segundo Gois (2017), o Ionic Framework mescla as funcionalidades de dois frameworks já existentes, como o PhoneGap e o AngularJS. Ele é uma SDK de código aberto que usa um conceito chamado native-feeling mobile apps, que é outra maneira de se nomear o desenvolvimento híbrido com as tecnologias HTML, CSS e JavaScript.
De acordo com Stefanov (2016), o React é uma biblioteca para construção de User Interface (UIs), em inglês, e Interface do Usuário, em português. Ela te ajuda a definir a UI de uma vez por todas. Então, quando o estado da aplicação mudar, a UI será reconstruída, de modo a reagir à alteração. Você não precisará fazer nada adicional. Ela foi criada e anunciada pelo Facebook em sua conferência anual de 2015. Você precisa saber que ela existe, porque ela é a base para que você saiba como funciona o React-Native.
Trata-se de outra biblioteca baseada em React que proporciona realmente o uso da tríade HTML5, CSS3 e JavaScript para o desenvolvimento híbrido para dispositivos móveis. Segundo Escudelario e Pinho (2021), o React-Native é uma plataforma baseada no React que nos possibilita desenvolver aplicativos mobile híbridos, ou seja, que rodam tanto no iOS (Apple) quanto no Android (Google). Assim como você já leu no item anterior, a tecnologia é baseada em JavaScript, assim como sua base, o React.
Uma segunda definição para React-Native é chamá-lo de um framework que consiste em uma série de ferramentas que viabilizam a criação de aplicações mobile nativas para as plataformas iOS e Android utilizando o que já há de mais moderno no desenvolvimento front-end (HTML, CSS e JS). É possível afirmar que o React-Native é, hoje, um dos principais, senão o principal framework desse mercado híbrido de desenvolvimento de aplicações para dispositivos móveis.
Com o seu computador de mesa ou notebook em mãos, com a plataforma de desenvolvimento escolhida, conhecendo a base das linguagens de programação disponíveis e ciente do ambiente de desenvolvimento e frameworks de mercado para cada uma das plataformas, você sobe outro nível nas próximas lições, que é realmente entender as premissas e as características da codificação para aplicações de dispositivos móveis.
Independentemente da plataforma escolhida, cabe a você “montar” o seu ambiente de trabalho, tendo a certeza de que se a plataforma for a nativa Android, a sua base será o IDE Android Studio, independentemente do sistema operacional de sua máquina (Windows ou Linux), pois esse IDE está disponível, inclusive, para os computadores da Apple. Entretanto, se você optou pelo desenvolvimento nativo iOS e já tem Macbook ou iMac, também basta a instalação do IDE Xcode e a utilização do Cocoa Touch e das respectivas linguagens de programação.
Agora, se sua escolha for pela plataforma de aplicações híbridas, você, provavelmente, já tem, em sua máquina, metade do ambiente montado, porque, assim como você já sabe, HTML, CSS e JavaScript já estão disponíveis em qualquer máquina, visto que são as linguagens de programação que os navegadores web entendem e processam. Portanto, basta que você escolha o seu editor de texto, Sublime Text ou VS Code, por exemplo, instale o pacote de gerenciamento de dependências JavaScript NPM e comece os seus projetos.
ESCUDELARIO, B.; PINHO, D. React Native Desenvolvimento de aplicativos mobile com React. São Paulo: Casa do Código, 2021.
GLAUBER, N. Dominando o Android com Kotlin. 3. ed. São Paulo: Novatec, 2019.
GOIS, A. Ionic framework: construa aplicativos para todas as plataformas Mobile. São Paulo: Casa do Código, 2017.
LECHETA, R. R. Desenvolvendo para iPhone e iPad: aprenda a desenvolver aplicações utilizando o iOS SDK. 6. ed. São Paulo: Novatec, 2018.
SOMMERVILLE, I. Engenharia de software. 8. ed. São Paulo: Pearson Addison-Wesley, 2007.
STEFANOV, S. Primeiros passos com React: construindo aplicações web. São Paulo: Novatec, 2016.