O slideshow foi denunciado.
Utilizamos seu perfil e dados de atividades no LinkedIn para personalizar e exibir anúncios mais relevantes. Altere suas preferências de anúncios quando desejar.
1.0
Evolua seu código Java!
O Palestrante
Alex Magalhães
◇ Mestre em Sistemas Distribuídos
◇ Profissional JavaEE há 15 anos
◇ Pesquisador das áreas de...
O Ecossistema
Java:
Um mundo de
linguagens
A Origem de Kotlin1
Objetivos originais do
Projeto Kotlin
◇ Total interoperabilidade com Java
◇ Tão rápida quanto Java
◇ Mais expressiva e enx...
Apoio da
Comunidade
◇ Projeto iniciado em 2012
◇ Linguagem Open Source
◇ Mais de 100 colaboradores externos
◇ Suportada pe...
Pronta para
Produção
◇ Suporte à JVM, JavaScript e Android
◇ Plugins para Eclipse e Android Studio
◇ Conversor de Java par...
Adoção de Kotlin
Kotlin in Action
Kotlin for Android Developers
Livros Disponíveis
Experimentando a
Linguagem
2
Experimente Online
http://try.kotlinlang.org/
IntelliJ IDEA
https://www.jetbrains.com/idea/
Exemplos e Referências
https:/...
Básico de
Kotlin
◇ Não é necessário ponto-e-vírgula
◇ Classe e arquivo podem ter nomes
diferentes
◇ Funções fora das class...
Tipos e Declarações
◇ Declaração com val e var
◇ Tipo depois do nome
◇ Todos os tipos são classes
◇ Tipos:
Double, Float, ...
O Fim do
NullPointerException
◇ Kotlin não aceita valores nulos
◇ Mas se você quiser muito, muito, muito,
use o operador ‘...
Classes
◇ Filhas de Any
◇ 3 funções:
equals(), hashCode(), toString()
◇ Fim do new
◇ Construtores na declaração
Hierarquia
◇ Classes e funções são finais
◇ Extensão com open
Generics
◇ Modificados em relação à Java
◇ Variância dos tipos
Versão em Java
Memória Estática
◇ Não há funções estáticas
◇ Mas se você quiser muito, muito, muito,
use a anotação @JvmStatic
◇ E como c...
Funções de
Alta Ordem,
Funções
Anônimas e
Lambdas
“
Função de Alta Ordem é uma função
que aceita uma ou mais funções
como parâmetros de entrada, ou
retorna outra função na ...
“
Lambda ou função anônima é uma
função que não é declarada, mas
passada como uma expressão.
Data Classes
◇ Value Objects
◇ Modificador data
◇ Derivação das propriedades:
■ equals() / hashCode() / toString()
■ gette...
Criando uma API3
Motivação
Manter o principal produto da
empresa sempre moderno e
com o menor custo de
manutenção possível.
http://www.fash...
Evolução do Produto
2003 2005 / 2006 2008 2010 2012 / 2013 2016
3
Spring Boot
◇ Aplicações stand-alone
◇ Microsserviços
◇ Suporte à Kotlin
Obrigado!
Perguntas?
Você pode me contactar em:
◇ @PensatoAgile
Kotlin - Evolua seu código Java (TDC-2016) Alex Magalhaes
Kotlin - Evolua seu código Java (TDC-2016) Alex Magalhaes
Kotlin - Evolua seu código Java (TDC-2016) Alex Magalhaes
Kotlin - Evolua seu código Java (TDC-2016) Alex Magalhaes
Kotlin - Evolua seu código Java (TDC-2016) Alex Magalhaes
Kotlin - Evolua seu código Java (TDC-2016) Alex Magalhaes
Kotlin - Evolua seu código Java (TDC-2016) Alex Magalhaes
Kotlin - Evolua seu código Java (TDC-2016) Alex Magalhaes
Kotlin - Evolua seu código Java (TDC-2016) Alex Magalhaes
Kotlin - Evolua seu código Java (TDC-2016) Alex Magalhaes
Kotlin - Evolua seu código Java (TDC-2016) Alex Magalhaes
Kotlin - Evolua seu código Java (TDC-2016) Alex Magalhaes
Kotlin - Evolua seu código Java (TDC-2016) Alex Magalhaes
Kotlin - Evolua seu código Java (TDC-2016) Alex Magalhaes
Kotlin - Evolua seu código Java (TDC-2016) Alex Magalhaes
Kotlin - Evolua seu código Java (TDC-2016) Alex Magalhaes
Próximos SlideShares
Carregando em…5
×

Kotlin - Evolua seu código Java (TDC-2016) Alex Magalhaes

910 visualizações

Publicada em

Nesta palestra, Alex Magalhães apresenta detalhes da linguagem Kotlin, uma novo linguagem para ambientes Java e Android. Além de exemplos de código, inclui um exemplo completo de um projeto de Web API usando Kotlin e Spring.

Publicada em: Tecnologia
  • Seja o primeiro a comentar

Kotlin - Evolua seu código Java (TDC-2016) Alex Magalhaes

  1. 1. 1.0 Evolua seu código Java!
  2. 2. O Palestrante Alex Magalhães ◇ Mestre em Sistemas Distribuídos ◇ Profissional JavaEE há 15 anos ◇ Pesquisador das áreas de Algoritmos e Sistemas Distribuídos Contato em @PensatoAgile
  3. 3. O Ecossistema Java: Um mundo de linguagens
  4. 4. A Origem de Kotlin1
  5. 5. Objetivos originais do Projeto Kotlin ◇ Total interoperabilidade com Java ◇ Tão rápida quanto Java ◇ Mais expressiva e enxuta que Java ◇ Mais simples que Scala ◇ Independente do IntelliJ
  6. 6. Apoio da Comunidade ◇ Projeto iniciado em 2012 ◇ Linguagem Open Source ◇ Mais de 100 colaboradores externos ◇ Suportada pelo projeto Spring
  7. 7. Pronta para Produção ◇ Suporte à JVM, JavaScript e Android ◇ Plugins para Eclipse e Android Studio ◇ Conversor de Java para Kotlin ◇ Compatibilidade reversa a partir do 1.0 ◇ Há 2 anos rodando em produção
  8. 8. Adoção de Kotlin
  9. 9. Kotlin in Action Kotlin for Android Developers Livros Disponíveis
  10. 10. Experimentando a Linguagem 2
  11. 11. Experimente Online http://try.kotlinlang.org/ IntelliJ IDEA https://www.jetbrains.com/idea/ Exemplos e Referências https://kotlinlang.org/docs/reference/basic-syntax.html
  12. 12. Básico de Kotlin ◇ Não é necessário ponto-e-vírgula ◇ Classe e arquivo podem ter nomes diferentes ◇ Funções fora das classes ◇ String Templates: "$nome"
  13. 13. Tipos e Declarações ◇ Declaração com val e var ◇ Tipo depois do nome ◇ Todos os tipos são classes ◇ Tipos: Double, Float, Long, Int, Short, Byte, Char, String, Boolean.
  14. 14. O Fim do NullPointerException ◇ Kotlin não aceita valores nulos ◇ Mas se você quiser muito, muito, muito, use o operador ‘?‘
  15. 15. Classes ◇ Filhas de Any ◇ 3 funções: equals(), hashCode(), toString() ◇ Fim do new ◇ Construtores na declaração
  16. 16. Hierarquia ◇ Classes e funções são finais ◇ Extensão com open
  17. 17. Generics ◇ Modificados em relação à Java ◇ Variância dos tipos
  18. 18. Versão em Java
  19. 19. Memória Estática ◇ Não há funções estáticas ◇ Mas se você quiser muito, muito, muito, use a anotação @JvmStatic ◇ E como criar Singletons?
  20. 20. Funções de Alta Ordem, Funções Anônimas e Lambdas
  21. 21. “ Função de Alta Ordem é uma função que aceita uma ou mais funções como parâmetros de entrada, ou retorna outra função na saída.
  22. 22. “ Lambda ou função anônima é uma função que não é declarada, mas passada como uma expressão.
  23. 23. Data Classes ◇ Value Objects ◇ Modificador data ◇ Derivação das propriedades: ■ equals() / hashCode() / toString() ■ getters e setters implícitos ■ copy()
  24. 24. Criando uma API3
  25. 25. Motivação Manter o principal produto da empresa sempre moderno e com o menor custo de manutenção possível. http://www.fashioncommerce.com.br/
  26. 26. Evolução do Produto 2003 2005 / 2006 2008 2010 2012 / 2013 2016 3
  27. 27. Spring Boot ◇ Aplicações stand-alone ◇ Microsserviços ◇ Suporte à Kotlin
  28. 28. Obrigado! Perguntas? Você pode me contactar em: ◇ @PensatoAgile

×