Programação Android com Kotlin Introdução a Kotlin Othon Marcelo Nunes Batista Mestre em Informática
Roteiro Introdução Características Ferramentas Adoções Links Perguntas?
Introdução Kotlin é uma linguagem de programação lançada em 2011 pelo pessoal da JetBrains que gera bytecodes e Javascript. A mesma empresa responsável pelo IntelliJ IDEA, base do Android Studio.
Introdução Kotlin foi influenciada pelas linguagens de programação: Java - www.oracle.com/java Scala - www.scala-lang.org Groovy - grrovy-lang.org C# - docs.microsoft.com/dotnet/csharp/languagereference/ Gosu - gosu-lang.org JavaScript - developer.mozilla.org/en- US/docs/Web/JavaScript Swift - swift.org
Introdução Um dos objetivos da JetBrains é aumentar as vendas do IntelliJ IDEA. A versão 1.0 do Kotlin em 15 de Fevereiro de 2016. Em 16 e 17 de Maio de 2017, na Conferência Google I/O, Kotlin foi anunciada como a linguagem oficial para Android.
Introdução O chefe de desenvovimento Andrey Breslav disse que Kotlin é projetada para ser: uma linguagem orientada a objetos com poder industrial; melhor que Java; interoperável com Java O objetivo é garantir uma migração gradual de Java a Kotlin.
Características As declarações de variáveis e listas de parâmetros tem o tipo de dados depois do nome da variável, separado por dois-pontos, parecido com Pascal. No caso de variáveis o tipo é opcional! var linguagem = "Português" var numero : Int fun somainteiros (a : Int, b: Int) : Int { return a + b }
Características Kotlin pode ser usado como uma linguagem orientada a objetos ou como uma linguagem estruturada. OO com classes, métodos e variáveis de instância; Estruturada com o uso de funções. O ponto de entrada de um programa em Kotlin é a função main: fun main (args : Array <String>) { // Código aqui!!! }
Características Kotlin suporta: inferência de tipo; interpolação de string como em Perl ou script de shell do Linux/Unix. fun main (args : Array <String>) { val meunome = "Othon" Inferência de de tipo: tipo: val val meunome :: String = "Othon" } println ("Olá $meunome!") Interpolação de string: "$meunome"
Características Kotlin fornece operadores para dar segurança aos tipos de dados que podem ser nulos:?. é o operador de navegação segura: pode ser utilizado para acessar de forma segura um método ou variável de instância de um objeto possivelmente nulo. Se o objeto for nulo, o método não é chamado e a expressão é avaliada para nula;?: é o operador nulo de aderência também chamado de operador de Elvis.
Características Exemplo do uso do operador de Elvis: fun main (args : Array <String>) { } digaola ("Othon") digaola(null) fun digaola(seunome: String?) { // uso do operador de Elvis val nome: String = seunome?: "estranho" } println("olá $nome!")
Características Exemplo do uso do operador de navegação segura: // retorna null se foo() retornar null, ou se foo() é não null, mas bar() retorna null, ou foo() e bar() são não null, mas baz() retorna null // vice-versa, o valor de retorno é não null se e só se foo(), bar() e baz() são não null foo()?.bar()?.baz()
Ferramentas IntelliJ IDEA Eclipse através de plugin fornecido pela Jet Brains Android Studio
Adoção Alguns dos principais produtos já utilizam Kotlin Pinterest introduziu Kotlin com sucesso em suas aplicações, usadas por 150 milhões de pessoas todo mês Gradle está introduzindo Kotlin como uma linguagem para escrever scripts de build. Evernote integrou Kotlin recentemente em seus clientes Android A equipe do Über usa Kotlin para construir ferramentas internas é uma plataforma de contabilidade de código aberto, suportada por grandes bancos, e está completamente em Kotlin O App Coursera para Android está parcialmente escrito em Kotlin Spring usa as características da linguagem Kotlin para oferecer API mais concisas Todo o novo código no Trello para Android está em Kotlin
Links Kotlin e Android https://developer.android.com/kotlin/index.html Kotlin no Android Oficialmente https://blog.jetbrains.com/kotlin/2017/05/kotlin-onandroid-now-official/ Por que JetBrains precisa de Kotlin https://blog.jetbrains.com/kotlin/2017/05/kotlin-onandroid-now-official/ Linguagem de Programação Kotlin http://kotlinlang.org/
Perguntas? Muito obrigado! Alguma pergunta???