9 min de leitura Iniciante
Os testes em Kotlin têm um problema que piora quanto mais bem-sucedido seu projeto se torna.
9 min de leitura Iniciante
Os testes em Kotlin têm um problema que piora quanto mais bem-sucedido seu projeto se torna.
11 min de leitura Avançado
O Default Hierarchy Template em projetos KMP é uma ótima forma de reduzir código boilerplate e começar a trabalhar rapidamente. Porém, ele veio com um custo inesperado…
KMP 102 · Parte 5
6 min de leitura Intermediário
No último artigo, entramos em detalhes e aprendemos sobre as peculiaridades do código exportado nos headers do Objective-C, assim como as boas práticas quanto ao que exportar.
KMP 102 · Parte 4
7 min de leitura Intermediário
No último post, aprendemos como utilizar código Kotlin no Swift. Aprendemos sobre algumas técnicas para melhorar o codigo exportado para o Swift, e como as anotações como @HiddenFromObjC e @HidesFromObjC controlam a visibilidade do código no Swift.
KMP 102 · Parte 3
8 min de leitura Intermediário
No último post, aprendemos a criar um XCFramework a partir de código Kotlin e exploramos algumas características dos tipos de build gerados.
KMP 102 · Parte 2
10 min de leitura Intermediário
No post anterior, aprendemos sobre como o Kotlin/Native exporta uma coleção de .frameworks no formato XCFramework.
KMP 102 · Parte 1
4 min de leitura Intermediário
Olá! Dou as boas-vindas a série KMP-102. Vamos aprofundar os conceitos do Kotlin Multiplatform, aprendendo mais sobre como integrar nosso código Kotlin…
Kotlin Koans BR · Parte 12
2 min de leitura Iniciante
Ao importar uma classe ou função, você pode especificar um nome diferente para ela adicionando como NewName após a diretiva de importação. Isso pode ser…
Kotlin Koans BR · Parte 13
4 min de leitura Iniciante
Implemente as funções de extensão Int.r() e Pair.r() e faça com que elas convertam Int e Pair em um RationalNumber.
Kotlin Koans BR · Parte 2
2 min de leitura Iniciante
Faça com que a função joinOptions() retorne a lista em formato JSON (por exemplo, [a, b, c]) especificando apenas dois argumentos.
Kotlin Koans BR · Parte 3
4 min de leitura Iniciante
Imagine que você tenha várias sobrecargas de foo() na sua linguagem favorita.
Kotlin Koans BR · Parte 9
9 min de leitura Iniciante
Reescreva o seguinte código para Kotlin: <details> <summary>Java</summary>
Kotlin Koans BR · Parte 11
12 min de leitura Iniciante
Reutilize sua solução da tarefa anterior, mas substitua a interface pela interface sealed. Assim, você não precisará mais do bloco else na expressão when.
Kotlin Koans BR · Parte 8
3 min de leitura Iniciante
Passe um lambda para a função anypara verificar se a coleção contém um número par.
Kotlin Koans BR · Parte 5
2 min de leitura Iniciante
O padrão a seguir corresponde a uma data no formato 13.06.1992 (dois dígitos, um ponto, dois dígitos, um ponto, quatro dígitos):
Kotlin Koans BR · Parte 1
5 min de leitura Iniciante
Altere o código para que a função start retorne a string "OK".
Kotlin Koans BR · Parte 4
2 min de leitura Iniciante
Substitua a chamada trimIndent pela chamada trimMargin, definindo # como valor de prefixo, assim a string resultante não conterá o caractere de prefixo.
Kotlin Koans BR · Parte 10
7 min de leitura Iniciante
Reescreva o código fornecido usando smart casts e a expressão when do Kotlin.
Kotlin Koans BR · Parte 7
2 min de leitura Iniciante
Especifique o tipo de retorno Nothing para a função failWithWrongAge.
Kotlin Koans BR · Parte 6
5 min de leitura Iniciante
Reescreva o código a seguir para que ele tenha apenas uma expressão if: <details> <summary>Java</summary>
7 min de leitura Iniciante
Nos artigos anteriores, estabelecemos uma base sobre o Kotlin Multiplatform (KMP) e como ele compila para múltiplas plataformas.
8 min de leitura Iniciante
Nos últimos artigos, aprofundamos nos bastidores do Kotlin Multiplataforma: seu paradigma, a arquitetura do compilador, os source sets, o ambiente de desenvolvimento, a criação e execução de um projeto exemplo, e o papel fundamental do Gradle.
KMP 101 · Parte 6
9 min de leitura Iniciante
No último artigo, criamos um projeto utilizando o KMP Wizard e, sem muitos esforços, executamos nosso app em aparelhos Android, iOS e Desktop.
3 min de leitura Iniciante
Nos últimos artigos, focamos em diversos conceitos-chave do KMP e entendemos desde o paradigma multiplataforma, até a configuração do ambiente.
13 min de leitura Iniciante
O desenvolvimento de software é um processo complexo que exige não apenas habilidade e criatividade, mas também um ambiente de desenvolvimento bem configurado.
KMP 101 · Parte 3
9 min de leitura Iniciante
No último artigo (🔗 KMP 101: Entendendo como o Kotlin compila para multiplas plataformas), aprendemos sobre o frontend, IR e backend do compilador do Kotlin.
KMP 101 · Parte 2
5 min de leitura Iniciante
No último post (🔗 KMP 101: Introdução ao paradigma da multiplataforma), exploramos o paradigma multiplataforma e como o KMP se destaca no ecossistema.
KMP 101 · Parte 1
11 min de leitura Iniciante
Usamos diariamente uma variedade de aplicativos em dispositivos como celulares, relógios, TVs e computadores, inseridos em um amplo ecossistema digital.
Android Plataforma · Parte 17
3 min de leitura Intermediário
No mundo do desenvolvimento Android, enfrentamos um fluxo contínuo de novidades: novos dispositivos, atualizações do SDK e uma variedade de bibliotecas e ferramentas que são lançadas todos os dias.
Android Plataforma · Parte 1
2 min de leitura Intermediário
A eficiência no desenvolvimento de software é essencial nos projetos atuais. Neste artigo, discutiremos a modularização em projetos Kotlin/Android, o papel vital do Gradle para otimizar compilações e os desafios de gerir múltiplos módulos.
Android Plataforma · Parte 10
6 min de leitura Intermediário
No último artigo, exploramos o CommonsExtension para eliminar duplicidades em nossas configurações.
Android Plataforma · Parte 11
3 min de leitura Intermediário
No artigo anterior, parametrizamos os argumentos de applyAndroidApp() e appyAndroidLibary() com modelos.
Android Plataforma · Parte 12
5 min de leitura Intermediário
🌱 Branch: 12/improving-android-library-build-time 🔗 Repositório:...
Android Plataforma · Parte 13
4 min de leitura Intermediário
No último artigo, otimizamos a compilação dos módulos Android desativando diversas funcionalidades do Android Gradle Plugin (AGP).
Android Plataforma · Parte 14
3 min de leitura Intermediário
No último artigo, extendemos nossa plataforma com a capacidade de declarar módulos JVM.
Android Plataforma · Parte 15
6 min de leitura Intermediário
No último artigo, abordamos a capacidade de nossa plataforma aderir a funcionalidades experimentais em diferentes módulos.
Android Plataforma · Parte 16
2 min de leitura Intermediário
Nos últimos artigos, construímos uma plataforma do zero, aprendendo e aplicando diversos conceitos com o objetivo de flexibilizar e escalar aplicações multimodulares em Kotlin.
Android Plataforma · Parte 2
1 min de leitura Intermediário
Neste post, vamos explorar um projeto inicial, entender os desafios de manter os arquivos build.gradle.kts e descobrir como o conceito de Composite Builds do Gradle pode auxiliar nessa jornada.
Android Plataforma · Parte 3
3 min de leitura Intermediário
No artigo anterior, entendemos quais os desafios que um projeto multi-modular traz: a da manutenção e reutilização dos arquivos do Gradle. Vamos entender melhor como resolver esse problema analisando dois conceitos: o buildSrc e os Composite Builds.
Android Plataforma · Parte 4
4 min de leitura Intermediário
Nos artigos anteriores, compreendemos a importância da modularidade e como os Composite Builds são a escolha certa para escalar projetos Kotlin.
Android Plataforma · Parte 5
1 min de leitura Intermediário
No artigo anterior, estabelecemos nossa plataforma com o build-logic e registramos a task greeting no projeto principal.
Android Plataforma · Parte 6
3 min de leitura Intermediário
No post anterior, otimizamos nossa plataforma, deixando-a preparada para mais funcionalidades.
Android Plataforma · Parte 7
8 min de leitura Intermediário
No artigo anterior, preparamos nossa plataforma para receber novas funcionalidades.
Android Plataforma · Parte 8
2 min de leitura Intermediário
No último post, apresentamos a primeira decoração na Plataforma e fizemos toda a configuração do nosso módulo app usando Kotlin DSL.
Android Plataforma · Parte 9
4 min de leitura Intermediário
No último post, conseguimos extrair a lógica de configuração de nossos módulos library/biblioteca.