SlideShare a Scribd company logo
1 of 30
/do-java-ao-
kotlin
~/user/lucas-marciano
Kotlin – Lucas de Almeida Marciano 2
Lucas Marciano
@lucas_marciano
Moi!
Ruma!
Arroxe!
Macho véi!
Kotlin – Lucas de Almeida Marciano 3
~/kotlin/informacoes
~/kotlin/historico
Kotlin – Lucas de Almeida Marciano 5
2011 2016 20172017
~/kotlin/adoção/empresas
Kotlin – Lucas de Almeida Marciano 6
~/kotlin/repo-no-github
Kotlin – Lucas de Almeida Marciano 7
0.00
10.00
20.00
30.00
40.00
50.00
60.00
70.00
80.00
90.00
Rust Kotlin Python TypeScript Go Swifit JavaScript C# Java
(%)
Linguagens
Linguagens com maior afinidade pela comunidade (2017)
Rust Kotlin Python TypeScript Go Swifit JavaScript C# Java
~/kotlin/stack-overflow/kotlin
Kotlin – Lucas de Almeida Marciano 8
0.0
5.0
10.0
15.0
20.0
25.0
30.0
Python JavaScript Go Kotlin TypeScript Java C++ Rust C# Swift
(%)
Linguagens
Linguagens mais pesquisadas no StackOverflow (2017)
Python JavaScript Go Kotlin TypeScript Java C++ Rust C# Swift
~/kotlin/stack-overflow/kotlin
Kotlin – Lucas de Almeida Marciano 9
~/kotlin/caracteristicas
/consisa
/segura
/estaticamente-tipada
/ferramentas-eco-sistema
/oo-e-funcional
/interoperavel
Kotlin – Lucas de Almeida Marciano 10
~/kotlin/interoperavel
Kotlin – Lucas de Almeida Marciano 11
MÁGICACOMPILADOR
JVM
Kotlin – Lucas de Almeida Marciano 12
~/kotlin/sintaxe
~/kotlin/sintaxes
Kotlin – Lucas de Almeida Marciano 13
/strings /ranges
~/kotlin/sintaxes
Kotlin – Lucas de Almeida Marciano 14
/class
~/kotlin/sintaxe
Kotlin – Lucas de Almeida Marciano 15
/data-class /condicionais
~/kotlin/sintaxe
Kotlin – Lucas de Almeida Marciano 16
/cast /funcoes
~/kotlin/sintaxe
Kotlin – Lucas de Almeida Marciano 17
~/kotlin/sintaxe
Kotlin – Lucas de Almeida Marciano 18
~/kotlin/sintaxe
Kotlin – Lucas de Almeida Marciano 19
/for
/while
~/kotlin/sintaxe
Kotlin – Lucas de Almeida Marciano 20
/pair
/triple
~/kotlin/sintaxe
Kotlin – Lucas de Almeida Marciano 21
/heranca
~/kotlin/sintaxe
Kotlin – Lucas de Almeida Marciano 22
/composicao
/kotlin/standard-libs
Kotlin – Lucas de Almeida Marciano 23
/kotlin/standard-libs
Kotlin – Lucas de Almeida Marciano 24
/let
/kotlin/standard-libs
Kotlin – Lucas de Almeida Marciano 25
/with
/kotlin/standard-libs
Kotlin – Lucas de Almeida Marciano 26
/apply/java /apply/kotlin
/kotlin/standard-libs
Kotlin – Lucas de Almeida Marciano 27
/use/java /use/kotlin
~/kotlin/dicas
• Conversor Java para Kotlin:
https://bit.ly/2BgUViO
• Koans : https://bit.ly/2GQiWex
• Curso 0800 na Udemy: https://bit.ly/2MtPG3r
• Curso Kotlin Udacity: https://bit.ly/2Pd0dPh
• Participe das comunidades!!
• Android Dev Br no Slack
• JetBrains, InteliJ IDEA - https://bit.ly/1wvqQnt
Kotlin – Lucas de Almeida Marciano 28
Dúvidas?
Kotlin – Lucas de Almeida Marciano 29
Obrigado!
Kotlin – Lucas de Almeida Marciano 30
Acesse o repositório com os código
https://github.com/lucas-inatel/hello-kotlin
~/kotlin/referencias
• State of Kotlin - https://bit.ly/2JeNzuP, 2018
• Documentation Kotlin - https://bit.ly/1WNJrCY, 2018
• Insights StackOverflow - https://bit.ly/2L9XrYq, 2018
• Kotlin: explorando uma nova linguagem - https://bit.ly/2AZWnpF, 2017
• States of Koltin - https://bit.ly/2JeNzuP, 2017
• Exploring the Kotlin standard library - https://bit.ly/2OUqUHj, 2017
• The difference between Kotlin’s functions: ‘let’, ‘apply’, ‘with’, ‘run’
and ‘also’ - https://bit.ly/2MtqPOg, 2017
• Kotlin Workshop - https://github.com/JetBrains/kotlin-workshop, 2017.
Kotlin – Lucas de Almeida Marciano 31

More Related Content

Similar to Kotlin Doc Intro

20220412-kmp-humantalks.pdf
20220412-kmp-humantalks.pdf20220412-kmp-humantalks.pdf
20220412-kmp-humantalks.pdfNicolasHaan1
 
Ruby 4.0 To Infinity and Beyond at Ruby Conference Kenya 2017 by Bozhidar Batsov
Ruby 4.0 To Infinity and Beyond at Ruby Conference Kenya 2017 by Bozhidar BatsovRuby 4.0 To Infinity and Beyond at Ruby Conference Kenya 2017 by Bozhidar Batsov
Ruby 4.0 To Infinity and Beyond at Ruby Conference Kenya 2017 by Bozhidar BatsovMichael Kimathi
 
用 Kotlin 打造讀書會小幫手
用 Kotlin 打造讀書會小幫手用 Kotlin 打造讀書會小幫手
用 Kotlin 打造讀書會小幫手Shengyou Fan
 
Power Up Your Build - Omer van Kloeten @ Wix 2018-04
Power Up Your Build - Omer van Kloeten @ Wix 2018-04Power Up Your Build - Omer van Kloeten @ Wix 2018-04
Power Up Your Build - Omer van Kloeten @ Wix 2018-04Omer van Kloeten
 
How to develop the Standard Libraries of Ruby?
How to develop the Standard Libraries of Ruby?How to develop the Standard Libraries of Ruby?
How to develop the Standard Libraries of Ruby?Hiroshi SHIBATA
 
Kotlin 讀書會 #1
Kotlin 讀書會 #1Kotlin 讀書會 #1
Kotlin 讀書會 #1Shengyou Fan
 
An overview of JavaScript and Node.js
An overview of JavaScript and Node.jsAn overview of JavaScript and Node.js
An overview of JavaScript and Node.jsLuciano Mammino
 
The State of libfabric in Open MPI
The State of libfabric in Open MPIThe State of libfabric in Open MPI
The State of libfabric in Open MPIJeff Squyres
 
Getting started-kotlin-android
Getting started-kotlin-androidGetting started-kotlin-android
Getting started-kotlin-androidLucas Albuquerque
 
kotlinconf2023.pdf
kotlinconf2023.pdfkotlinconf2023.pdf
kotlinconf2023.pdfConfetti3
 
Multiplatform shared codebase with Kotlin/Native - UA Mobile 2019
Multiplatform shared codebase with Kotlin/Native - UA Mobile 2019Multiplatform shared codebase with Kotlin/Native - UA Mobile 2019
Multiplatform shared codebase with Kotlin/Native - UA Mobile 2019UA Mobile
 
Multiplatform shared codebase with Kotlin/Native - UA Mobile 2019
Multiplatform shared codebase with Kotlin/Native - UA Mobile 2019Multiplatform shared codebase with Kotlin/Native - UA Mobile 2019
Multiplatform shared codebase with Kotlin/Native - UA Mobile 2019Eugene Kurko
 

Similar to Kotlin Doc Intro (20)

From Monolith to K8s - Spring One 2020
From Monolith to K8s - Spring One 2020From Monolith to K8s - Spring One 2020
From Monolith to K8s - Spring One 2020
 
JNation 2020 :: From Monolithto K8s
JNation 2020 :: From Monolithto K8sJNation 2020 :: From Monolithto K8s
JNation 2020 :: From Monolithto K8s
 
Kotlin
KotlinKotlin
Kotlin
 
20220412-kmp-humantalks.pdf
20220412-kmp-humantalks.pdf20220412-kmp-humantalks.pdf
20220412-kmp-humantalks.pdf
 
Ruby 4.0 To Infinity and Beyond at Ruby Conference Kenya 2017 by Bozhidar Batsov
Ruby 4.0 To Infinity and Beyond at Ruby Conference Kenya 2017 by Bozhidar BatsovRuby 4.0 To Infinity and Beyond at Ruby Conference Kenya 2017 by Bozhidar Batsov
Ruby 4.0 To Infinity and Beyond at Ruby Conference Kenya 2017 by Bozhidar Batsov
 
用 Kotlin 打造讀書會小幫手
用 Kotlin 打造讀書會小幫手用 Kotlin 打造讀書會小幫手
用 Kotlin 打造讀書會小幫手
 
Kotlin
KotlinKotlin
Kotlin
 
Power Up Your Build - Omer van Kloeten @ Wix 2018-04
Power Up Your Build - Omer van Kloeten @ Wix 2018-04Power Up Your Build - Omer van Kloeten @ Wix 2018-04
Power Up Your Build - Omer van Kloeten @ Wix 2018-04
 
How to develop the Standard Libraries of Ruby?
How to develop the Standard Libraries of Ruby?How to develop the Standard Libraries of Ruby?
How to develop the Standard Libraries of Ruby?
 
Kotlin
KotlinKotlin
Kotlin
 
Orchestrating Microservices
Orchestrating MicroservicesOrchestrating Microservices
Orchestrating Microservices
 
QCon Plus From monoliths to k8s - Workshop
QCon Plus From monoliths to k8s - WorkshopQCon Plus From monoliths to k8s - Workshop
QCon Plus From monoliths to k8s - Workshop
 
Kotlin 讀書會 #1
Kotlin 讀書會 #1Kotlin 讀書會 #1
Kotlin 讀書會 #1
 
An overview of JavaScript and Node.js
An overview of JavaScript and Node.jsAn overview of JavaScript and Node.js
An overview of JavaScript and Node.js
 
Kotlin tech talk
Kotlin tech talkKotlin tech talk
Kotlin tech talk
 
The State of libfabric in Open MPI
The State of libfabric in Open MPIThe State of libfabric in Open MPI
The State of libfabric in Open MPI
 
Getting started-kotlin-android
Getting started-kotlin-androidGetting started-kotlin-android
Getting started-kotlin-android
 
kotlinconf2023.pdf
kotlinconf2023.pdfkotlinconf2023.pdf
kotlinconf2023.pdf
 
Multiplatform shared codebase with Kotlin/Native - UA Mobile 2019
Multiplatform shared codebase with Kotlin/Native - UA Mobile 2019Multiplatform shared codebase with Kotlin/Native - UA Mobile 2019
Multiplatform shared codebase with Kotlin/Native - UA Mobile 2019
 
Multiplatform shared codebase with Kotlin/Native - UA Mobile 2019
Multiplatform shared codebase with Kotlin/Native - UA Mobile 2019Multiplatform shared codebase with Kotlin/Native - UA Mobile 2019
Multiplatform shared codebase with Kotlin/Native - UA Mobile 2019
 

Recently uploaded

Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDGMarianaLemus7
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraDeakin University
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024BookNet Canada
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Unlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsUnlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsPrecisely
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 

Recently uploaded (20)

Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDG
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning era
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Unlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsUnlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power Systems
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 

Kotlin Doc Intro

Editor's Notes

  1. Linguagem criada pela JetBrains Suporte para mobile Suporte para web Suporte para projetos com Gradle Suporte para projetos com o Spring De acordo com o StackOverflow, é segunda linguagem mais “amada” pela comunidade Está na lista das linguagens mais usadas e pesquisadas
  2. 2011 | JetBrains começou uma nova linguagem para a JVM Motivação principal era melhorar a produtividade, criando uma linguagem estaticamente tipada e simples Durante 5 anos, a JetBrains abriu o código da linguagem sob a licença Apache 2.0 2016 | Versão 1.0 da linguagem foi finalmente publicada. 2017 | Após a publicação da versão 1.1 da linguagem, já haviam mais de 10 milhões de linhas de código Kotlin no Github, em 8132 repositórios 2017 | O Google anunciou que irá suportar Kotlin como uma linguagem de desenvolvimento oficial para Android.
  3. Talvez o que mais contribua para a rápida adoção da linguagem é a interoperabilidade com Java Kotlin gerar bytecode compatível com a JVM. É possível adicionar uma dependência ao projeto e utilizar classes Kotlin
  4. Mais procuradas
  5. /segura - Falar que a linguagem é Null Free
  6. Sei que alguns de vocês devem estar assim? Interoperavel
  7. /strings /range /condicionais /laços /cast /pairs-triples /interface /heranca e composicao /data-classes /extensions-functions
  8. /data-classes – Falar da parte dos gets e sets var stringRepresentation: String get() = this.toString() set(value) { setDataFromString(value) // parses the string and assigns values to other properties }
  9. Em funções, lembrar das extensions functions
  10. Não existe operador ternário no Kotlin Por que? A ideia do Kotlin é de ser uma linguagem idiomática, e os operadores ternários quebrariam essa ideia. A simplicidade nem sempre quer dizer menos código
  11. Não existe operador ternário no Kotlin Mas o Kotlin tem a expressão Elvis!
  12. Podemos ter herança multipla como no C++? Não, no Kotlin a herança direta é como no Java: quando vinda de classe, somente uma é permitida.
  13. Podemos ter herança múltipla como no C++? Não, no Kotlin a herança direta é como no Java: quando vinda de classe, somente uma é permitida.
  14. Standard são funções essenciais do Kotlin A Idea é que cada função tenha menos de 10 linhas. Ainda sim, muito poderosas.
  15. O conversor é do Jetbrains Participe das comunidades