Olá, estudante! Tudo bem? Hoje, você conhecerá a Kotlin, uma linguagem de programação moderna e oficial para o desenvolvimento de aplicativos Android. Desde 2017, a linguagem Kotlin vem ganhando destaque pela concisão, produtividade e recursos avançados, facilitando a vida dos desenvolvedores.
Nesse sentido, o objetivo desta lição é ensinar a você o que é o Kotlin, incluindo as principais características, vantagens em comparação com o Java e exemplos práticos de uso. Com isso, você estará preparado(a) para utilizar essa poderosa linguagem no desenvolvimento de seus projetos e, ao final desta lição, será capaz de compreender a estrutura básica da Kotlin, identificando os recursos mais importantes, e aplicá-los para criar aplicativos Android de forma mais eficiente.
Vamos nos aprofundar?
Suponha que você está desenvolvendo um aplicativo para Android e percebe que ele foi escrito em Java, uma linguagem poderosa e amplamente utilizada, mas que pode ser bastante verbosa. Em algumas partes do código, há repetições desnecessárias e complexidade que dificultam o entendimento e aumentam o tempo de desenvolvimento.
Embora seja perfeitamente possível construir excelentes softwares em Java, a linguagem Kotlin foi criada para trazer mais simplicidade e produtividade ao desenvolvimento Android. Com uma sintaxe concisa e moderna, a linguagem Kotlin elimina redundâncias e facilita a escrita de códigos mais claros e diretos, reduzindo erros comuns, como os null pointer exceptions.
Agora, pense: como a escolha de uma linguagem mais simples e expressiva pode transformar a sua experiência como desenvolvedor(a)? Vamos explorar como o Kotlin oferece essas vantagens e como ele pode te ajudar a criar aplicativos mais rapidamente, sem abrir mão da qualidade e da segurança!
Vamos entender a aplicação prática do Kotlin com um exemplo? Imagine uma empresa fictícia chamada SmartApp que desenvolve soluções móveis para pequenos negócios. A empresa decide migrar todo o portfólio de aplicativos Android de Java para Kotlin, com o objetivo de melhorar a manutenção do código e facilitar a inclusão de novos recursos.
Em um dos projetos, havia um formulário que frequentemente gerava erros de execução devido a valores nulos inesperados, um problema comum em Java. Com a migração para Kotlin, esses problemas foram resolvidos usando o sistema de segurança nativa da linguagem contra os valores nulos (null safety). Além disso, a redução na quantidade de linhas de código facilitou a leitura e o entendimento, acelerando o processo de desenvolvimento.
Esse exemplo mostra como a escolha de uma linguagem mais moderna e expressiva, como Kotlin, pode transformar o desenvolvimento de aplicativos, tornando-o mais ágil, seguro e eficiente. A migração de Java para Kotlin resolveu um problema comum em muitos projetos Android, melhorando a qualidade do código e, consequentemente, a experiência do usuário.
Kotlin é uma linguagem de programação moderna que combina os paradigmas de orientação a objetos e programação funcional. Foi criada pela JetBrains, a mesma empresa por trás do IntelliJ IDEA e Android Studio (Resende, 2018). Kotlin surgiu como uma alternativa ao Java para o desenvolvimento Android. No entanto, é importante entender que o objetivo do Kotlin não é substituir o Java, mas oferecer uma linguagem mais moderna e de alta produtividade que facilite o desenvolvimento e a manutenção de aplicativos.
Lançada oficialmente em 2011 durante o evento JVM Language Summit, em que a JetBrains revelou que estava trabalhando havia quase um ano no projeto, Kotlin foi projetada para resolver problemas que os desenvolvedores enfrentavam com Java, como verbosidade e gerenciamento de valores nulos (Resende, 2018). O nome foi inspirado na Ilha Kotlin, localizada próxima ao escritório da JetBrains, na Rússia, seguindo a tradição de linguagens, como "Java", inspirada em Java Island, na Indonésia (Jemerov; Svetlana, 2017).
Podemos definir Kotlin como uma linguagem de programação pragmática que combina os paradigmas de orientação a objetos e programação funcional com foco em interoperabilidade, segurança, clareza e suporte a ferramentas (Resende, 2018). Assim, Kotlin permite que ambas as linguagens (Kotlin e Java) coexistam no mesmo projeto, possibilitando migrações graduais e o uso de bibliotecas Java existentes. Resende (2018) informa que, em 2017, durante o evento Google I/O, foi feito o anúncio de que o Kotlin é oficialmente a linguagem oficial para desenvolvimento Android. Isso impulsionou a popularidade dessa linguagem, consolidando-a como uma escolha padrão para criar aplicativos móveis. Desde então, a linguagem tem sido amplamente adotada na indústria devido à facilidade de uso, produtividade e segurança.
A linguagem também combina o melhor de paradigmas orientados a objetos e funcionais oferecendo uma sintaxe limpa, recursos avançados e suporte direto às necessidades dos desenvolvedores modernos. Assim, foi projetada para resolver problemas reais, como a complexidade excessiva do código, e oferecer ferramentas que tornam o desenvolvimento mais rápido e menos propenso a erros (Resende, 2018).
Vamos entender as principais características do Kotlin?
Concisão: uma das características mais marcantes do Kotlin é a capacidade de reduzir significativamente a verbosidade do código. Resende (2018) afirma que podemos escrever menos código para fazer a mesma coisa que outra linguagem (no caso Java) faria com mais código. Você pode conferir essa concisão nas figuras 1 e 2 a seguir.
Segurança contra os valores nulos (Null Safety): a linguagem elimina o problema de null pointer exceptions, ao diferenciar variáveis que podem, ou não, ser nulas. Resende (2018) reforça que isso resolve o problema quando temos uma referência nula em nosso programa (Figura 3).
Interoperabilidade com Java: Kotlin pode ser usada ao lado do código Java, facilitando a migração gradual de projetos. Resende (2018) resume essa interoperabilidade como a capacidade de uma linguagem se comunicar com outra (Figura 4).
Programação Funcional: oferece suporte à programação funcional, que, segundo Melo (2019), não é novidade baseado no cálculo Lambda, desenvolvido em meados dos anos de 1930 e em coleções imutáveis, promovendo um estilo de desenvolvimento mais moderno e eficiente (Figura 5).
Suporte Total no Android Studio: Kotlin é totalmente integrado ao Android Studio, com suporte a recursos, como autocompletar e depuração.
Kotlin oferece um ecossistema robusto de ferramentas e suporte, o que torna o desenvolvimento mais eficiente e acessível para diferentes plataformas. Desde a integração com IDEs, como o Android Studio, que oferece recursos avançados, como autocompletar e depuração, até soluções poderosas, como o Kotlin Multiplatform, que permite a criação de aplicativos para múltiplas plataformas com uma base de código compartilhada, o suporte à linguagem está em constante expansão (Sprinter, 2024).
Além disso, o Kotlin Native possibilita a compilação para código nativo, ampliando o alcance para plataformas que não utilizam a JVM, como iOS, macOS, Windows, Linux e sistemas embarcados (Sprinter, 2024). Ferramentas adicionais, como Coroutines, Ktor e Serialization, complementam o ecossistema, fornecendo bibliotecas e extensões que ajudam a acelerar o desenvolvimento e a garantir a produtividade dos desenvolvedores.
Kotlin tem ganhado destaque no mercado devido à eficácia e versatilidade, sendo cada vez mais adotada por empresas em diversos setores. O uso industrial dela tem mostrado resultados positivos, com muitas organizações experimentando ganhos significativos em produtividade, qualidade de código e redução de erros. A linguagem Kotlin tem sido adotada com sucesso por grandes empresas, destacando o impacto no desenvolvimento de software e os benefícios observados na produtividade, qualidade de código e redução de erros. Alguns exemplos de empresas que adotaram a linguagem são:
Google: adotou Kotlin como linguagem oficial para Android (Resende, 2018).
Pinterest: migrou grande parte do código para Kotlin devido à redução de erros e aumento de produtividade (Cooke, 2017).
Netflix: usa Kotlin em serviços backend para APIs (Henry; Yahya, 2020).
Trello: integra Kotlin para melhorar a qualidade do código do aplicativo Android (Rajeevan, 2018).
Kotlin se consolida como uma linguagem de programação moderna e eficiente, projetada para resolver os desafios enfrentados por desenvolvedores no dia a dia, especialmente no contexto do desenvolvimento Android. Com concisão, segurança contra os valores nulos, interoperabilidade com Java e suporte à programação funcional, Kotlin não apenas simplifica o desenvolvimento, mas também melhora a qualidade e a manutenção do código. Seu robusto ecossistema de ferramentas, como o Kotlin Multiplatform, e bibliotecas, como Coroutines e Ktor, amplia a respectiva aplicação em múltiplas plataformas, garantindo versatilidade e produtividade. Amplamente adotada por grandes empresas, como Google, Pinterest e Netflix, Kotlin demonstra a eficácia e a relevância no mercado, sendo uma escolha assertiva para desenvolvedores que buscam soluções inovadoras e alinhadas às melhores práticas da indústria.
Compreender o que é Kotlin, incluindo as respectivas características e vantagens em comparação com o Java, é essencial para você, futuro(a) Técnico(a) em Desenvolvimento de Sistemas que deseja se destacar no mercado. Essa linguagem moderna, oficial para o desenvolvimento Android, permite criar aplicativos mais rápidos, seguros e eficientes, reduzindo a complexidade do código e aumentando a produtividade. Ao aprender Kotlin, você estará preparado(a) para trabalhar em projetos inovadores e atender às necessidades de um mercado tecnológico dinâmico e em constante evolução.
Agora chegou a sua vez! Você irá criar um aplicativo simples usando o Android Studio, aplicando condições, interoperabilidade com Java, null safety e programação funcional. O aplicativo exibirá uma lista de nomes processados com base em algumas condições e chamará um método de uma classe Java existente para exibir um texto adicional. Para iniciar essa prática, siga os passos a seguir:
Tenha uma máquina com o Android Studio instalado (esse processo você já conhece da primeira parte da disciplina).
Crie um projeto chamado KotlinApp e escolha o template “Empty Views Activity”. Clique em “Next”.
Escolha a linguagem Kotlin.
Clique em “Finish” (Concluir) para criar o projeto.
Passo a passo
1. Crie uma classe Java para iniciar o processo.
2. Implemente uma classe com o título JavaHelper conforme a Figura 6.
3. Configure o layout da aplicação.
4. No painel res/layout, abra o arquivo activity_main.xml.
5. Implemente o código xml conforme a Figura 7.
6. Implemente a lógica do aplicativo no código Kotlin.
7. Abra o arquivo MainActivity.kt e adicione o código da Figura 8.
8. Conecte um dispositivo fixo ou configure um emulador no Android Studio.
9. Clique no botão “Run” (Executar) no Android Studio.
10. Quando o aplicativo abrir, clique no botão “Processar Nomes”.
11. O aplicativo exibirá mensagens de saudação para os nomes válidos (não nulos e não vazios) na lista, com os nomes em letras maiúsculas.
Explicação do código
filterNotNull(): remove valores nulos.
filter(): remove strings em branco.
JavaHelper.getGreetingMessage(name): demonstra como Kotlin e Java podem coexistir em um mesmo projeto.
Com esse exemplo prático, você entenderá na prática como usar Kotlin para manipular listas com segurança e eficiência, integrar código Java e aproveitar recursos modernos, como programação funcional. Experimente, junto com os seus colegas e professores, modificar a lista ou personalizar a saída para praticar ainda mais! Bom trabalho!
COOKE, R. The case against Kotlin. Medium, 28 jul. 2017. Disponível em: https://medium.com/pinterest-engineering/the-case-against-kotlin-2c574cb87953. Acesso em: 14 jan. 2025.
HENRY, D.; YAHYA, M. Netflix Android and iOS Studio Apps - now powered by Kotlin Multiplatform. Medium, 28 out. 2020. Disponível em: https://netflixtechblog.com/netflix-android-and-ios-studio-apps-kotlin-multiplatform-d6d4d8d25d23. Acesso em: 14 jan. 2025.
JEMEROV, D.; SVETLANA I. Kotlin in Action. Shelter Island, NY: Manning Publications, 2017.
MELO, G. Programação funcional: uma introdução em clojure. São Paulo: Casa do Código, 2019.
RAJEEVAN, V. Kotlin at Trello. Atlassian, 30 jan. 2018. Disponível em: https://www.atlassian.com/blog/it-teams/kotlin-at-trello. Acesso em: 06 dez. 2024.
RESENDE, K. Kotlin com Android: crie aplicativos de maneira fácil e divertida. São Paulo: Casa do Código, 2018.
SPRINTER, C. Kotlin Multiplatform: A comprehensive Guide to Building Cross-Platform Native Applications. São Paulo: Casa do Código, 2024.