Globalcode – Open4education
Introdução a Kotlin para
programadores Java
Rafael Chaves
rafael@abstratt.com - @abstratt
Tópicos
• Histórico
• Filosofia
• Tour acelerado (parte I)
• Aprendendo Kotlin
• Tour acelerado (parte II)
Histórico
• 2010 - desenvolvimento para uso interno na JetBrains
• 2012 - licenciada em código-aberto (APL)
• 02/2016 - 1.0 - JVM e Android, suporte a Spring Boot
• 03/2017 - 1.1 - Javascript
• 05/2017 - linguagem oficial para Android
• 09/2017 - 1.2 beta
• OO e funcional
• Influências: Java, Scala, C#, Groovy
• Tipada estaticamente
• Fácil de ler, escrever, e aprender
• Multi-plataforma*
• Interopera com ferramentas/culturas existentes
Filosofia
Tour sobre Kotlin - parte I
1: Classes e funções
Top-level functions (funções)
Member functions (métodos)
TDC POA 2017 - Introdução a Kotlin para programadores Java
2: Tipificação de dados
Null safety
Inferência
TDC POA 2017 - Introdução a Kotlin para programadores Java
TDC POA 2017 - Introdução a Kotlin para programadores Java
TDC POA 2017 - Introdução a Kotlin para programadores Java
3: Controle de fluxo
If: comando vs. expressão
When: switch...case turbinado
Smart casts
TDC POA 2017 - Introdução a Kotlin para programadores Java
TDC POA 2017 - Introdução a Kotlin para programadores Java
TDC POA 2017 - Introdução a Kotlin para programadores Java
TDC POA 2017 - Introdução a Kotlin para programadores Java
TDC POA 2017 - Introdução a Kotlin para programadores Java
4: Constructors
Primary vs. secondary
Init blocks
TDC POA 2017 - Introdução a Kotlin para programadores Java
TDC POA 2017 - Introdução a Kotlin para programadores Java
TDC POA 2017 - Introdução a Kotlin para programadores Java
TDC POA 2017 - Introdução a Kotlin para programadores Java
TDC POA 2017 - Introdução a Kotlin para programadores Java
Aprendendo Kotlin
Documentação - kotlinlang.org/docs
Kotlin “Koans” online - try.kotlinlang.org
IDEA
TDC POA 2017 - Introdução a Kotlin para programadores Java
TDC POA 2017 - Introdução a Kotlin para programadores Java
TDC POA 2017 - Introdução a Kotlin para programadores Java
Tour sobre Kotlin - parte II
5: Properties vs Fields
Property equivale a field + getter + setter
TDC POA 2017 - Introdução a Kotlin para programadores Java
TDC POA 2017 - Introdução a Kotlin para programadores Java
6: Data classes
equals, hashCode, toString(), ... “na faixa”
TDC POA 2017 - Introdução a Kotlin para programadores Java
TDC POA 2017 - Introdução a Kotlin para programadores Java
7: Extensions
Como em C#, Gosu, Xtend
Expandir a definição de uma classe sem alterá-la, herança etc.
TDC POA 2017 - Introdução a Kotlin para programadores Java
8: Delegation
Entre classes
Via propriedades
TDC POA 2017 - Introdução a Kotlin para programadores Java
TDC POA 2017 - Introdução a Kotlin para programadores Java
9: “objects”
Singletons e companion objects
Anonymous inner classes envenenadas
TDC POA 2017 - Introdução a Kotlin para programadores Java
TDC POA 2017 - Introdução a Kotlin para programadores Java
TDC POA 2017 - Introdução a Kotlin para programadores Java
TDC POA 2017 - Introdução a Kotlin para programadores Java
10: Um exemplo Java vs Kotlin
TDC POA 2017 - Introdução a Kotlin para programadores Java
TDC POA 2017 - Introdução a Kotlin para programadores Java
TDC POA 2017 - Introdução a Kotlin para programadores Java
Kotlin com Spring Boot
Palestrante
1994-2004: Bacharel e mestre em Computação pela UFSC
2002-2012:
• OTI/IBM Canada: Eclipse (2002-2005), Rational Team Concert
(2005-2006)
• Genologics: Desenvolvedor Senior/Arquiteto (2008-2012)
Desde 2013: Abstratt
• EasyAlpha: serviço de desenvolvimento expresso de MVPs, back-ends e
aplicações sob medida
Globalcode – Open4education
Introdução a Kotlin para
programadores Java
Rafael Chaves
rafael@abstratt.com - @abstratt

Mais conteúdo relacionado

KEY
Concorrência no IOS
PDF
Postgres, a "Metamorfose Ambulante"
PDF
Viagem pelas VMs do python
PPTX
Elixir inside out
PDF
Kotlin - Evolua seu código Java (TDC-2016) Alex Magalhaes
PDF
TDC2016SP - Kotlin 1.0: Evolua seu código Java
PDF
Java VS Kotlin
PPT
TDC2018SP | Trilha Kotlin - Kodando com Kotlin aplicacoes front-end.
Concorrência no IOS
Postgres, a "Metamorfose Ambulante"
Viagem pelas VMs do python
Elixir inside out
Kotlin - Evolua seu código Java (TDC-2016) Alex Magalhaes
TDC2016SP - Kotlin 1.0: Evolua seu código Java
Java VS Kotlin
TDC2018SP | Trilha Kotlin - Kodando com Kotlin aplicacoes front-end.

Semelhante a TDC POA 2017 - Introdução a Kotlin para programadores Java (17)

PDF
Introdução a Kotlin
PDF
Porque escolhi Kotlin para ensinar programação
PDF
Introdução ao kotlin
PDF
TDC2017 | São Paulo - Trilha Mobile How we figured out we had a SRE team at -...
PDF
Grupo de estudo - Kotlin
PDF
Estudo comparativo das linguagens kotlin e java no desenvolvimento de aplicac...
PDF
Aprendendo Kotlin na Prática
PPTX
Kotlin Night SP - 365 dias com Kotlin
PDF
Kotlin on Android
PDF
iBeer #17 - Android: Do Java para Kotlin
PPTX
Jornada cientifica kotlin
PDF
Java7 tdc2011
PPTX
Kotlin: conhecendo features de uma linguagem moderna
PDF
Kotlin no desenvolvimento Mobile - FTSL
PDF
Minicurso kotlin UTFPR
PDF
Minicurso kotlin no desenvolvimento mobile - UTFPR
PDF
Turbinando o desenvolvimento Android com Kotlin
Introdução a Kotlin
Porque escolhi Kotlin para ensinar programação
Introdução ao kotlin
TDC2017 | São Paulo - Trilha Mobile How we figured out we had a SRE team at -...
Grupo de estudo - Kotlin
Estudo comparativo das linguagens kotlin e java no desenvolvimento de aplicac...
Aprendendo Kotlin na Prática
Kotlin Night SP - 365 dias com Kotlin
Kotlin on Android
iBeer #17 - Android: Do Java para Kotlin
Jornada cientifica kotlin
Java7 tdc2011
Kotlin: conhecendo features de uma linguagem moderna
Kotlin no desenvolvimento Mobile - FTSL
Minicurso kotlin UTFPR
Minicurso kotlin no desenvolvimento mobile - UTFPR
Turbinando o desenvolvimento Android com Kotlin
Anúncio

Mais de Rafael Chaves (16)

PDF
TDC SP 2016 - Dos requisitos à implantação em uma palestra
PDF
TDC SP 2016 - Construindo um microserviço Java 100% funcional em 30 minutos
PDF
Construindo um micro-serviço Java 100% funcional em 15 minutos
PDF
Dos requisitos à implantação em uma palestra
PPTX
TDC Floripa 2015 Desenvolvendo Sistemas de Gestão a partir de Modelos Execut...
PDF
EclipseCon 2015 - Generating business applications from executable models
PDF
Modernização de Sistemas de Gestão
PDF
Separando arquitetura e negócios em sistemas de gestão
PDF
Cloudfier business pitch deck
PDF
Refatorando o software corporativo
PDF
11 Dogmas of model driven development
PPT
Code generation
PDF
MDD with Executable UML Models
PDF
AlphaSimple product pitch
PDF
TextUML Toolkit
PDF
Model Driven Prototyping
TDC SP 2016 - Dos requisitos à implantação em uma palestra
TDC SP 2016 - Construindo um microserviço Java 100% funcional em 30 minutos
Construindo um micro-serviço Java 100% funcional em 15 minutos
Dos requisitos à implantação em uma palestra
TDC Floripa 2015 Desenvolvendo Sistemas de Gestão a partir de Modelos Execut...
EclipseCon 2015 - Generating business applications from executable models
Modernização de Sistemas de Gestão
Separando arquitetura e negócios em sistemas de gestão
Cloudfier business pitch deck
Refatorando o software corporativo
11 Dogmas of model driven development
Code generation
MDD with Executable UML Models
AlphaSimple product pitch
TextUML Toolkit
Model Driven Prototyping
Anúncio

Último (12)

PPT
09_Evolucao de software e_Refatoracao.ppt
PPT
07_slides de Estilos_Arquiteturais sommerville.ppt
PDF
SLIDES - AULA 7 - SWING - Cleyton Souza - IFPB
PPT
10_ slides de Reuso sommerville cap 10.ppt
PDF
SLIDES - AULA 1 - APRESENTAÇÃO - Material de Cleyton Souza - IFPB
PDF
SLIDES - AULA 3 - CLASSES E OBJETOS EM JAVA - Material de Cleyton Souza - IFPB
PPT
06_slide de Arquitetura_de_Software .ppt
PPT
03_slide de Gerenciamento de Projetos .ppt
PPT
05_slide especificacao de sistemas de software e a uml UML.ppt
PPT
00_Apresentacao sobre o livro do sommerville_ES.ppt
PDF
SLIDES - AULA 2 - INTRODUÇÃO - Material de Cleyton Souza - IFPB
PDF
SLIDES - AULA 5 - HERANÇA - Material de Cleyton Souza - IFPB
09_Evolucao de software e_Refatoracao.ppt
07_slides de Estilos_Arquiteturais sommerville.ppt
SLIDES - AULA 7 - SWING - Cleyton Souza - IFPB
10_ slides de Reuso sommerville cap 10.ppt
SLIDES - AULA 1 - APRESENTAÇÃO - Material de Cleyton Souza - IFPB
SLIDES - AULA 3 - CLASSES E OBJETOS EM JAVA - Material de Cleyton Souza - IFPB
06_slide de Arquitetura_de_Software .ppt
03_slide de Gerenciamento de Projetos .ppt
05_slide especificacao de sistemas de software e a uml UML.ppt
00_Apresentacao sobre o livro do sommerville_ES.ppt
SLIDES - AULA 2 - INTRODUÇÃO - Material de Cleyton Souza - IFPB
SLIDES - AULA 5 - HERANÇA - Material de Cleyton Souza - IFPB

TDC POA 2017 - Introdução a Kotlin para programadores Java